-
Notifications
You must be signed in to change notification settings - Fork 848
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
Proposal: Convert this repo to a Go module #14387
Comments
I think it's a good decision. |
Unfortunately this places a significant burden on consumers that use a large number of packages from this SDK. This was mentioned here on the negative impact it would have on Terraform. |
well at some point go may force the change, so not easy on anybody. i for 1 have an issue azure-sdk-for-go is required by terratest but where i work we use artifactory and as there is no go.mod it makes downloading hard as artifactory assumes .mod. |
I tend to agree. It's a bitter pill but is likely inevitable. In addition, I recall there was talk about tooling to simplify updating a major module version. |
Regarding upgrade automation, I am aware of at least golang/go#32816 and golang/go#32014, as well as a couple of existing tools (https://github.com/icholy/gomajor and https://github.com/marwan-at-work/mod, but others may exist too). |
I'm also planning to address module aliasing and renaming (golang/go#26904) for Go 1.18 (due out EoY this year), and it's possible that that will include a way for an existing module to leave a “fowarding address”. (More design work is needed, but migrating from one module path to another — including from an unversioned path to a versioned one — is an important use-case that we're actively thinking about.) |
Given that |
Please add a 👍 reaction if you support this proposal. If you do not, please leave a comment describing why.
Now that Go modules have solidified and are on by default in Go 1.16 we are considering how we migrate this repo to officially support them (this is for our track 1 content; track 2 already supports modules).
In keeping with our current release strategy and version, the natural option would be to place a
go.mod
file in the root of the repo. However, given that we've already had dozens of major releases (v52.3.0
at the time of this writing), it would mean that the next major version would introduce semantic import versioning.In
go.mod
:This would require consumers to update their import statements starting with
v53
and beyond.While this "plays by the rules" it introduces a burden on consumers and we'd like feedback on the impact.
The text was updated successfully, but these errors were encountered: