diff --git a/Gopkg.lock b/Gopkg.lock index 7af9bb2..3700244 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -1,6 +1,21 @@ # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. +[[projects]] + branch = "master" + name = "github.com/alecthomas/template" + packages = [ + ".", + "parse" + ] + revision = "a0175ee3bccc567396460bf5acd36800cb10c49c" + +[[projects]] + branch = "master" + name = "github.com/alecthomas/units" + packages = ["."] + revision = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a" + [[projects]] branch = "master" name = "github.com/apex/log" @@ -38,7 +53,7 @@ branch = "master" name = "github.com/google/go-github" packages = ["github"] - revision = "e7bb4b8ce29fb7beaf0765acda602bc516a56dd5" + revision = "d2b80df1e3eeccae96eb1cb489e65372cc9550c8" [[projects]] branch = "master" @@ -81,14 +96,15 @@ "pipeline/env", "pipeline/fpm", "pipeline/nfpm", + "pipeline/project", "pipeline/release", "pipeline/scoop", "pipeline/sign", "pipeline/snapcraft", "pipeline/snapshot" ] - revision = "7746ed179c87673b7c29494236e7a89ee7f8f24e" - version = "v0.59.1" + revision = "b895caeb3601ea20488c675e7324ac742abbe7fd" + version = "v0.62.3" [[projects]] name = "github.com/goreleaser/nfpm" @@ -97,8 +113,8 @@ "deb", "rpm" ] - revision = "0c6b7821812f13134ac062a82b45c863ada261a0" - version = "v0.5.7" + revision = "3db9ba1cd1f794244fbcb6139dda2c72775b8407" + version = "v0.5.10" [[projects]] name = "github.com/masterminds/semver" @@ -146,7 +162,7 @@ "context", "context/ctxhttp" ] - revision = "d25186b37f34ebdbbea8f488ef055638dfab272d" + revision = "892bf7b0c6e2f93b51166bf3882e50277fa5afc6" [[projects]] branch = "master" @@ -155,7 +171,7 @@ ".", "internal" ] - revision = "2f32c3ac0fa4fb807a0fcefb0b6f2468a0d99bd0" + revision = "7af32f14d0a25aec7873e0683e8e48dcead159a8" [[projects]] branch = "master" @@ -167,7 +183,7 @@ branch = "master" name = "golang.org/x/sys" packages = ["unix"] - revision = "dd2ff4accc098aceecb86b36eaa7829b2a17b1c9" + revision = "8c0ece68c28377f4c326d85b94f8df0dace46f80" [[projects]] name = "google.golang.org/appengine" @@ -183,6 +199,12 @@ revision = "150dc57a1b433e64154302bdc40b6bb8aefa313a" version = "v1.0.0" +[[projects]] + name = "gopkg.in/alecthomas/kingpin.v2" + packages = ["."] + revision = "947dcec5ba9c011838740e680966fd7087a71d0d" + version = "v2.2.6" + [[projects]] name = "gopkg.in/yaml.v2" packages = ["."] @@ -192,6 +214,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "163f1c73e044d96155004b33881f1e1c4c4b80eab60b168e228f7e483ce15319" + inputs-digest = "4d35bb4dfec291825eb29302e1170d72b396312cfa73e4ab2bf5729634b0f9fc" solver-name = "gps-cdcl" solver-version = 1 diff --git a/main.go b/main.go index 96e3e3b..9e0193b 100644 --- a/main.go +++ b/main.go @@ -2,7 +2,6 @@ package main import ( "bytes" - "flag" "fmt" "log" "net/http" @@ -14,6 +13,8 @@ import ( "github.com/goreleaser/goreleaser/config" "github.com/goreleaser/goreleaser/context" "github.com/goreleaser/goreleaser/pipeline/defaults" + + "gopkg.in/alecthomas/kingpin.v2" ) // given a template, and a config, generate shell script @@ -174,18 +175,14 @@ func Load(repo string, file string) (project *config.Project, err error) { func main() { var ( - source = flag.String("source", "godownloader", "download source") - exe = flag.String("exe", "", "name of binary, used only in raw") - nametpl = flag.String("nametpl", "", "name template, used only in raw") - repo = flag.String("repo", "", "owner/name of repository") + repo = kingpin.Flag("repo", "owner/name or URL of GitHub repository").Required().String() + source = kingpin.Flag("source", "source type [godownloader|raw|equinoxio]").Default("godownloader").String() + exe = kingpin.Flag("exe", "name of binary, used only in raw").String() + nametpl = kingpin.Flag("nametpl", "name template, used only in raw").String() + file = kingpin.Arg("file", "??").String() ) - flag.Parse() - args := flag.Args() - file := "" - if len(args) > 0 { - file = args[0] - } + kingpin.Parse() var ( out string err error @@ -193,7 +190,7 @@ func main() { switch *source { case "godownloader": // https://github.com/goreleaser/godownloader - out, err = processGodownloader(*repo, file) + out, err = processGodownloader(*repo, *file) case "equinoxio": // https://equinox.io out, err = processEquinoxio(*repo) diff --git a/scripts/build_samples.sh b/scripts/build_samples.sh index fd1f590..7a8d633 100755 --- a/scripts/build_samples.sh +++ b/scripts/build_samples.sh @@ -1,17 +1,17 @@ #!/bin/sh -ex -./godownloader -repo gohugoio/hugo >samples/godownloader-hugo.sh -./godownloader -repo goreleaser/goreleaser >samples/godownloader-goreleaser.sh -./godownloader -repo client9/misspell >samples/godownloader-misspell.sh -./godownloader -repo tdewolff/minify >samples/godownloader-minify.sh +./godownloader --repo gohugoio/hugo >samples/godownloader-hugo.sh +./godownloader --repo goreleaser/goreleaser >samples/godownloader-goreleaser.sh +./godownloader --repo client9/misspell >samples/godownloader-misspell.sh +./godownloader --repo tdewolff/minify >samples/godownloader-minify.sh # good example of multi-build and wrapped directory -./godownloader -repo https://github.com/alecthomas/gometalinter >samples/godownloader-gometalinter.sh +./godownloader --repo https://github.com/alecthomas/gometalinter >samples/godownloader-gometalinter.sh # binary and repo name do not match -./godownloader -source raw -repo mvdan/sh -exe shfmt >samples/godownloader-shfmt.sh +./godownloader --source raw --repo mvdan/sh --exe shfmt >samples/godownloader-shfmt.sh # uses zip -./godownloader -repo serverless/event-gateway >samples/godownloader-event-gateway.sh +./godownloader --repo serverless/event-gateway >samples/godownloader-event-gateway.sh chmod a+x samples/*.sh