-
-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
attempt to handle --version even in untagged builds #161
base: master
Are you sure you want to change the base?
Conversation
I would love that! There are so many tools with the frustrating "Dev" version |
7e5562f
to
a435082
Compare
54fb92f
to
5bd9ccc
Compare
If we are installed via `go-install` rather than downloading a tagged binary from github, the `Tag` etc variables will all be empty, and therefore the `--version` flag is diked out. But there is a way around this! If the version info is not filled in via build-time flags, use `debug.BuildInfo` to introspect as much information as we can out of the module metadata: ``` $ go install github.com/odenio/goimports-reviser/v3@v3.6.6-pre5 go: downloading github.com/odenio/goimports-reviser/v3 v3.6.6-pre5 $ ~/go/bin/goimports-reviser --version version: 3.6.6-pre5 built with: go1.22.4 tag: v3.6.6-pre5 commit: n/a source: github.com/odenio/goimports-reviser/v3 ``` Additionally, add a `--version-only` flag that prints only the version string itself, handy for use in shell pipelines. Can be used on its own or in combination with the `--version` flag: ``` $ ./go/bin/goimports-reviser --version-only 3.6.6-pre5 ```
Thanks for the approval! Can someone merge this? I cannot. |
I'm a random Gopher. You will have to wait for a maintainer review |
For the record if anyone would like to kick the tires on this, #160 and #159, I've made a build containing all three patches available as I don't intend to maintain a long-lived fork here, but I understand that the maintainer may have bigger fish to fry at the moment, residing in Ukraine. |
This addresses #155
If we are installed via
go-install
rather than downloading a tagged binary from github, theTag
etc variables will all be empty, and therefore the--version
flag is diked out. But there is a way around this!If the version info is not filled in via build-time flags, use
debug.BuildInfo
to introspect as much information as we can out of the module metadata:Additionally, add a
--version-only
flag that prints only the version string itself, handy for use in shell pipelines. Can be used on its own or in combination with the--version
flag: