Reviewed-on: #18 Co-authored-by: jolheiser <john.olheiser@gmail.com> Co-committed-by: jolheiser <john.olheiser@gmail.com>pull/19/head
parent
c173eee38c
commit
d9564663db
148
.drone.yml
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
|
|
@ -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
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
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
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
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
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,7 +1,6 @@
|
|||
package flags
|
||||
|
||||
var (
|
||||
Debug bool
|
||||
Registry string
|
||||
Source string
|
||||
)
|
||||
|
|
|
@ -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,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,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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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,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,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
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
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
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
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("")
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue