Closed mcandre closed 6 years ago
Yes please, the git
issue specifically tends to cause issues for my new Go installs 'til I remember to delete the right binary in the gopath.
Interesting, the CI build appears to have trouble downloading the vet
tool. Looks like the old vet
tool has been deprecated in favor of the go vet
tool now built into Go.
Vet update:
https://github.com/hashicorp/vault/issues/1310
Trace:
Rockin'! Dropping the go get
for the old vet
tool helps the build out.
There's also an error with golint, which now requires Go 1.6 or later.
Source:
https://github.com/golang/lint#installation
However, Travis CI is configured to test docopt.go against Go 1.4, 1.5, and tip. Fortunately, we have several options of resolving this conflict!
golint
?golint
to one that supports Go 1.5 (the parent of https://github.com/golang/lint/commit/a428635c58fe96360e83667e2e1a8343fc292bf0)?Why hasn't this been merged yet?? @kbatten @mboersma
For what it's worth I'm not sure whether this package is still maintained, based on the activity 'n' times and all. Maybe time to find a new maintainer to take over the package? For what it's worth it looks like @aciddiviner's fork here is the most maintained of the bunch.
@DanielOaks It seems it hasn't. It's a real shame. I did look at his fork. I filed an issue there to see if I can get some traction.
@ghostsquad thanks for nudge, it's merged now. I apologize for being AWOL--I'll try to keep better track of contributions and notifications.
@mboersma totally welcome. I love Docopt, used to use it a bunch in Python, and now I'm learning GoLang. Happy to see an implementation, sad to see some open issues and PRs and no updates in a couple years. Do you need help maintaining?
@ghostsquad same here--loved docopt
in python, and I actually had a case where we were porting a docopt CLI from Python to Go, so it was amazing to have docopt.go
work the same way.
I would welcome any help maintaining docopt.go
.
Some example source files such as
git.go
share names with common command line utilities, such as the real git. This has the unfortunate consequence that users attempting to make use of docopt.go receive a fakegit
binary in$GOPATH/bin
that can accidentally override the real git. Especially if the position of$GOPATH/bin
in$PATH
occurs before the directory of the real git binary appears in$PATH
. This happens because the source files in theexamples/
directory are automatically built and installed by the standardgo
tool, such as withgo get github.com/docopt/docopt.go
.Go users may wish to reposition
$GOPATH/bin
in their$PATH
configuration, to ensure that non-Go binaries take precedence. This allows docopt.go to be used without conflicting with the regulargit
binary.However, for some users a configuration with
$GOPATH/bin
earlier in$PATH
may actually be desirable, such as when overriding system binaries with custom binaries. That's okay, we can resolve this situation as well, by renaming thegit.go
source file tofakegit.go
. This rename allows the realgit
binary to continue functioning with docopt.go installed, regardless of the user's choice of ordering in their$PATH
.Some later commit could even exclude the
example/
binaries from being installed to$GOPATH/bin
, by refactoring the examples in terms of ..._test.go files, a common Go unit testing convention.