Browse Source

Update and move to woodpecker (#18)

Reviewed-on: #18
Co-authored-by: jolheiser <john.olheiser@gmail.com>
Co-committed-by: jolheiser <john.olheiser@gmail.com>
pull/19/head
jolheiser 1 month ago
parent
commit
d9564663db
  1. 148
      .drone.yml
  2. 59
      .woodpecker.yml
  3. 2
      DOCS.md
  4. 10
      Earthfile
  5. 26
      Makefile
  6. 2
      README.md
  7. 4
      cmd/app.go
  8. 4
      cmd/download.go
  9. 13
      cmd/env.go
  10. 1
      cmd/flags/flags.go
  11. 4
      cmd/init.go
  12. 4
      cmd/remove.go
  13. 6
      cmd/restore.go
  14. 4
      cmd/save.go
  15. 6
      cmd/source.go
  16. 6
      cmd/test.go
  17. 4
      cmd/update.go
  18. 4
      cmd/use.go
  19. 2
      docs.go
  20. 3
      go.mod
  21. 42
      go.sum
  22. 9
      main.go
  23. 8
      tools.go

148
.drone.yml

@ -1,148 +0,0 @@
---
kind: pipeline
name: compliance
platform:
os: linux
arch: arm64
trigger:
event:
- pull_request
steps:
- name: build
pull: always
image: golang:1.15
environment:
GOPROXY: https://goproxy.cn
commands:
- make test
- make build
- name: vet
pull: always
image: golang:1.15
environment:
GOPROXY: https://goproxy.cn
commands:
- make vet
depends_on:
- build
- name: lint
pull: always
image: golangci/golangci-lint:v1.32
commands:
- golangci-lint --timeout 5m run
depends_on:
- build
---
kind: pipeline
name: release-main
platform:
os: linux
arch: amd64
trigger:
event:
- push
branch:
- main
steps:
- name: build
pull: always
image: golang:1.15
environment:
GOPROXY: https://goproxy.cn
VERSION: ${DRONE_COMMIT}
commands:
- make build
- name: build-windows
pull: always
image: golang:1.15
environment:
GOPROXY: https://goproxy.cn
VERSION: ${DRONE_COMMIT}
GOOS: windows
commands:
- make build
- name: gitea-release
pull: always
image: jolheiser/drone-gitea-main:latest
environment:
GOPROXY: https://goproxy.cn
settings:
token:
from_secret: gitea_token
base: https://gitea.com
files:
- "tmpl"
- "tmpl.exe"
depends_on:
- build
- build-windows
---
kind: pipeline
name: release-tag
platform:
os: linux
arch: amd64
trigger:
ref:
include:
- refs/tags/*
exclude:
- refs/tags/latest
steps:
- name: build
pull: always
image: golang:1.15
environment:
GOPROXY: https://goproxy.cn
VERSION: ${DRONE_TAG}
commands:
- make build
- name: build-windows
pull: always
image: golang:1.15
environment:
GOPROXY: https://goproxy.cn
GOOS: windows
VERSION: ${DRONE_TAG}
commands:
- make build
- name: gitea-release
pull: always
image: plugins/gitea-release:1
environment:
GOPROXY: https://goproxy.cn
settings:
api_key:
from_secret: gitea_token
base_url: https://gitea.com
files:
- "tmpl"
- "tmpl.exe"
depends_on:
- build
- build-windows
- name: gitea-prune
pull: always
image: jolheiser/drone-gitea-prune
environment:
GOPROXY: https://goproxy.cn
settings:
token:
from_secret: gitea_token
base: https://gitea.com
depends_on:
- gitea-release

59
.woodpecker.yml

@ -0,0 +1,59 @@
clone:
git:
image: woodpeckerci/plugin-git:next
pipeline:
compliance:
image: golang:1.17
commands:
- go test -race ./...
- go vet ./...
- go run github.com/rs/zerolog/cmd/lint go.jolheiser.com/tmpl
- go build
when:
event: pull_request
build:
image: golang:1.17
commands:
- GOOS="windows" go build
- GOOS="linux" go build
when:
event: [ push, tag ]
branch: main
release-main:
image: jolheiser/drone-gitea-main:latest
secrets:
- source: gitea_token
target: token
base: https://git.jojodev.com
files:
- "tmpl"
- "tmpl.exe"
when:
event: push
branch: main
release-tag:
image: plugins/gitea-release:1
secrets:
- source: gitea_token
target: api_key
base_url: https://git.jojodev.com
files:
- "tmpl"
- "tmpl.exe"
when:
event: tag
tag: v*
prune:
image: jolheiser/drone-gitea-prune
secrets:
- source: gitea_token
target: token
base: https://git.jojodev.com
when:
event: tag
tag: v*

2
DOCS.md

@ -102,7 +102,7 @@ Alternatively, you can specify on the command-line with the `--branch` flag of t
```
tmpl --source gitea download --branch license jolheiser/tmpls license
```
The above command would download the [license](https://gitea.com/jolheiser/tmpls/src/branch/license) template from `jolheiser/tmpls`
The above command would download the [license](https://git.jojodev.com/jolheiser/tmpls/src/branch/license) template from `jolheiser/tmpls`
## Putting it all together

10
Earthfile

@ -1,10 +0,0 @@
# To lint, install Earthly and run `earth +lint`
# This ensures the usage of the same version of golangci-lint
FROM golangci/golangci-lint:v1.32
WORKDIR /tmpl
lint:
COPY . .
RUN golangci-lint --timeout 5m run

26
Makefile

@ -1,26 +0,0 @@
GO ?= go
VERSION ?= $(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')
.PHONY: build
build:
$(GO) build -ldflags '-s -w -X "go.jolheiser.com/tmpl/cmd.Version=$(VERSION)"'
.PHONY: vet
vet:
$(GO) vet ./...
.PHONY: fmt
fmt:
$(GO) fmt ./...
.PHONY: test
test:
$(GO) test -race ./...
.PHONY: lint
lint:
earth +lint
.PHONY: docs
docs:
$(GO) run docs.go

2
README.md

@ -12,7 +12,7 @@ The two projects share many similarities, however other than general layout/stru
## Examples
Check out the [license](https://gitea.com/jolheiser/tmpls/src/branch/license) and [makefile](https://gitea.com/jolheiser/tmpls/src/branch/makefile) branch of my [template repository](https://gitea.com/jolheiser/tmpls).
Check out the [license](https://git.jojodev.com/jolheiser/tmpls/src/branch/license) and [makefile](https://git.jojodev.com/jolheiser/tmpls/src/branch/makefile) branch of my [template repository](https://git.jojodev.com/jolheiser/tmpls).
## License

4
cmd/app.go

@ -6,8 +6,8 @@ import (
"go.jolheiser.com/tmpl/cmd/flags"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var (
@ -18,7 +18,7 @@ var (
func init() {
home, err := os.UserHomeDir()
if err != nil {
beaver.Error("could not locate user's home directory, tmpl will use temp dir for registry")
log.Error().Msg("could not locate user's home directory, tmpl will use temp dir for registry")
return
}
defaultDir = filepath.Join(home, ".tmpl")

4
cmd/download.go

@ -7,8 +7,8 @@ import (
"go.jolheiser.com/tmpl/cmd/flags"
"go.jolheiser.com/tmpl/registry"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var Download = &cli.Command{
@ -64,6 +64,6 @@ func runDownload(ctx *cli.Context) error {
return err
}
beaver.Infof("Added new template %s", t.Name)
log.Info().Msgf("Added new template %q", t.Name)
return nil
}

13
cmd/env.go

@ -3,9 +3,8 @@ package cmd
import (
"os"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
"go.jolheiser.com/beaver/color"
)
var Env = &cli.Command{
@ -18,17 +17,15 @@ var Env = &cli.Command{
func runEnv(_ *cli.Context) error {
// Source
beaver.Infof("TMPL_SOURCE: %s", getEnv("TMPL_SOURCE"))
log.Info().Str("TMPL_SOURCE", os.Getenv("TMPL_SOURCE")).Msg("")
// Registry Path
beaver.Infof("TMPL_REGISTRY: %s", getEnv("TMPL_REGISTRY"))
log.Info().Str("TMPL_REGISTRY", os.Getenv("TMPL_REGISTRY")).Msg("")
// Branch
beaver.Infof("TMPL_BRANCH: %s", getEnv("TMPL_BRANCH"))
log.Info().Str("TMPL_BRANCH", os.Getenv("TMPL_BRANCH")).Msg("")
return nil
}
func getEnv(key string) string {
return color.FgHiBlue.Format(os.Getenv(key))
}

1
cmd/flags/flags.go

@ -1,7 +1,6 @@
package flags
var (
Debug bool
Registry string
Source string
)

4
cmd/init.go

@ -4,8 +4,8 @@ import (
"errors"
"os"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var Init = &cli.Command{
@ -42,7 +42,7 @@ func runInit(_ *cli.Context) error {
if err := os.Mkdir("template", os.ModePerm); err != nil {
return err
}
beaver.Info("Template initialized!")
log.Info().Msg("Template initialized!")
return fi.Close()
}

4
cmd/remove.go

@ -4,8 +4,8 @@ import (
"go.jolheiser.com/tmpl/cmd/flags"
"go.jolheiser.com/tmpl/registry"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var Remove = &cli.Command{
@ -30,6 +30,6 @@ func runRemove(ctx *cli.Context) error {
return err
}
beaver.Infof("Successfully removed %s", ctx.Args().First())
log.Info().Msgf("Successfully removed %q", ctx.Args().First())
return nil
}

6
cmd/restore.go

@ -6,8 +6,8 @@ import (
"go.jolheiser.com/tmpl/cmd/flags"
"go.jolheiser.com/tmpl/registry"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var Restore = &cli.Command{
@ -26,7 +26,7 @@ func runRestore(_ *cli.Context) error {
var num int
for _, tmpl := range reg.Templates {
if _, err := os.Lstat(tmpl.ArchivePath()); os.IsNotExist(err) {
beaver.Infof("Restoring %s...", tmpl.Name)
log.Info().Msgf("Restoring %q...", tmpl.Name)
if err := reg.UpdateTemplate(tmpl.Name); err != nil {
return err
}
@ -34,6 +34,6 @@ func runRestore(_ *cli.Context) error {
}
}
beaver.Infof("Restored %d templates.", num)
log.Info().Int("count", num).Msgf("Restored templates.")
return nil
}

4
cmd/save.go

@ -6,8 +6,8 @@ import (
"go.jolheiser.com/tmpl/cmd/flags"
"go.jolheiser.com/tmpl/registry"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var Save = &cli.Command{
@ -39,6 +39,6 @@ func runSave(ctx *cli.Context) error {
return err
}
beaver.Infof("Added new template %s", t.Name)
log.Info().Msgf("Added new template %q", t.Name)
return nil
}

6
cmd/source.go

@ -8,8 +8,8 @@ import (
"go.jolheiser.com/tmpl/cmd/flags"
"go.jolheiser.com/tmpl/registry"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var (
@ -82,7 +82,7 @@ func runSourceAdd(ctx *cli.Context) error {
return err
}
beaver.Infof("Added new source %s", s.Name)
log.Info().Msgf("Added new source %q", s.Name)
return nil
}
@ -100,6 +100,6 @@ func runSourceRemove(ctx *cli.Context) error {
return err
}
beaver.Infof("Successfully removed source for %s", ctx.Args().First())
log.Info().Msgf("Successfully removed source for %q", ctx.Args().First())
return nil
}

6
cmd/test.go

@ -4,8 +4,8 @@ import (
"os"
"path/filepath"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var Test = &cli.Command{
@ -37,10 +37,10 @@ func runTest(ctx *cli.Context) error {
if len(errs) > 0 {
for _, err := range errs {
beaver.Error(err)
log.Error().Msg(err)
}
return nil
}
beaver.Info("this is a valid tmpl template")
log.Info().Msg("this is a valid tmpl template")
return nil
}

4
cmd/update.go

@ -4,8 +4,8 @@ import (
"go.jolheiser.com/tmpl/cmd/flags"
"go.jolheiser.com/tmpl/registry"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var Update = &cli.Command{
@ -35,6 +35,6 @@ func runUpdate(ctx *cli.Context) error {
return err
}
beaver.Infof("Successfully updated %s", tmpl.Name)
log.Info().Msgf("Successfully updated %q", tmpl.Name)
return nil
}

4
cmd/use.go

@ -4,8 +4,8 @@ import (
"go.jolheiser.com/tmpl/cmd/flags"
"go.jolheiser.com/tmpl/registry"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
"go.jolheiser.com/beaver"
)
var Use = &cli.Command{
@ -50,6 +50,6 @@ func runUse(ctx *cli.Context) error {
return err
}
beaver.Infof("Successfully executed %s", tmpl.Name)
log.Info().Msgf("Successfully executed %q", tmpl.Name)
return nil
}

2
docs.go

@ -1,3 +1,4 @@
//go:build docs
// +build docs
package main
@ -10,6 +11,7 @@ import (
"go.jolheiser.com/tmpl/cmd"
)
//go:generate go run docs.go
func main() {
app := cmd.NewApp()

3
go.mod

@ -9,8 +9,7 @@ require (
github.com/mattn/go-isatty v0.0.12 // indirect
github.com/mholt/archiver/v3 v3.5.0
github.com/pelletier/go-toml v1.8.1
github.com/rs/zerolog v1.26.0
github.com/urfave/cli/v2 v2.3.0
go.jolheiser.com/beaver v1.0.2
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 // indirect
golang.org/x/sys v0.0.0-20201113135734-0a15ea8d9b02 // indirect
)

42
go.sum

@ -11,6 +11,7 @@ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
@ -34,6 +35,7 @@ github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12 h1:PbK
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw=
github.com/go-git/go-git/v5 v5.2.0 h1:YPBLG/3UK1we1ohRkncLjaXWLW+HKp5QNM/jTli2JgI=
github.com/go-git/go-git/v5 v5.2.0/go.mod h1:kh02eMX+wdqqxgNMEyq8YgwlIOsDOa9homkUq1PoTMs=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
@ -66,7 +68,6 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU=
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
@ -84,10 +85,14 @@ github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNC
github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc=
github.com/pierrec/lz4/v4 v4.0.3 h1:vNQKSVZNYUEAvRY9FaUXAF1XPbSOHJtDTiP41kzDz2E=
github.com/pierrec/lz4/v4 v4.0.3/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/rs/zerolog v1.26.0 h1:ORM4ibhEZeTeQlCojCK2kPz1ogAY4bGs4tD+SaAdGaE=
github.com/rs/zerolog v1.26.0/go.mod h1:yBiM87lvSqX8h0Ww4sdzNSkVYZ8dL2xjZJG1lAuGZEo=
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
@ -107,34 +112,47 @@ github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70
github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
go.jolheiser.com/beaver v1.0.2 h1:KA2D6iO8MQhZi1nZYi/Chak/f1Cxfrs6b1XO623+Khk=
go.jolheiser.com/beaver v1.0.2/go.mod h1:7X4F5+XOGSC3LejTShoBdqtRCnPWcnRgmYGmG3EKW8g=
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073 h1:xMPOj6Pz6UipU1wXLkrtqpHbR0AVFnyPEQq/wRWz9lM=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 h1:umElSU9WZirRdgu2yFHY0ayQkEnKiOC1TtM3fWXFnoU=
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d h1:20cMwl2fHAzkJMEA+8J4JgqBQcQGzbisXo31MIeenXI=
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ=
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527 h1:uYVVQ9WP/Ds2ROhcaGPeIdVq0RIXVLwsHlnvJ+cT1So=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201113135734-0a15ea8d9b02 h1:5Ftd3YbC/kANXWCBjvppvUmv1BMakgFcBKA7MpYYp4M=
golang.org/x/sys v0.0.0-20201113135734-0a15ea8d9b02/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e h1:WUoyKPm6nCo1BnNUvPGnFG3T5DUVem42yDJZZ4CNxMA=
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.7 h1:6j8CgantCy3yc8JGBqkDLMKWqZ0RDU2g1HVgacojGWQ=
golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=

9
main.go

@ -5,14 +5,15 @@ import (
"go.jolheiser.com/tmpl/cmd"
"go.jolheiser.com/beaver"
"go.jolheiser.com/beaver/color"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
func main() {
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
app := cmd.NewApp()
color.Fatal = color.Error // Easier to read, doesn't need to stand out as much in a CLI
if err := app.Run(os.Args); err != nil {
beaver.Fatal(err)
log.Fatal().Err(err).Msg("")
}
}

8
tools.go

@ -0,0 +1,8 @@
//go:build tools
// +build tools
package main
import (
_ "github.com/rs/zerolog/cmd/lint"
)
Loading…
Cancel
Save