Skip to content
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

address breaking change in satori/go.uuid #947

Closed
joshgav opened this issue Jan 5, 2018 · 9 comments
Closed

address breaking change in satori/go.uuid #947

joshgav opened this issue Jan 5, 2018 · 9 comments
Assignees

Comments

@joshgav
Copy link
Contributor

joshgav commented Jan 5, 2018

Several issues have been opened: #945, #940, #946.

Also: satori/go.uuid#66

Let's get a fix in perhaps starting with #946 and release a new minor. Thanks!

@carolynvs do you have suggestions on how we can best shield users of our library from changes in transitive dependencies? Is dep's recommended practice for users to explicitly declare the dependency and version in their own Gopkg.toml file? Thank you!

@joshgav
Copy link
Contributor Author

joshgav commented Jan 5, 2018

If you're looking for a workaround, see satori/go.uuid#66 (comment).

@carolynvs
Copy link

@joshgav I thought go.uuid was a direct dependency of the sdk, so a constraint should have worked. Testing now!

@carolynvs
Copy link

@joshgav It appears to me that anyone who is using dep to manage their dependencies should already be shielded from the breaking change in go.uuid. The sdk's Gopkg.toml specifies 1.1.0 for go.uuid. When someone uses dep on their project, and pulls in the sdk as a dependency, dep will enforce that constraint.

I looked at some of the other bugs and they appear to all be from non-dep consumers of the sdk.

Let me know if you've seen reports of anyone using dep to vendor the sdk who is having trouble!

@carolynvs
Copy link

To be clear, dep isn't built into the go toolchain yet. So even if a library has dep configuration files, when the consuming project doesn't use dep, running things like go get or go build won't pick up and use dep's configuration. The end-user needs to use dep as well.

@joshgav
Copy link
Contributor Author

joshgav commented Jan 5, 2018

awesome, thanks @carolynvs!

@ritazh
Copy link
Member

ritazh commented Jan 5, 2018

running things like go get or go build won't pick up and use dep's configuration

yea completely agree with @carolynvs we just need to update the readme

@ghost ghost assigned marstr Jan 5, 2018
@ghost ghost added the review label Jan 5, 2018
@marstr marstr mentioned this issue Jan 5, 2018
marstr added a commit to marstr/azure-sdk-for-go that referenced this issue Jan 5, 2018
@carolynvs
Copy link

Let me know if I can help clear up any other confusion about how dep works. I see #948 is doing some work that sounds like its to avoid certain behaviors in dep, but I'm not clear on what?

@vladbarosan
Copy link

@carolynvs that change you are mentioning is to help people using go get. The change was the only place where we were actually using the function with the breaking change so we switchted to another package for getting the UUID there so pretty much anyone using go get won't have problems with satori's breaking change with the go sdk.

@carolynvs
Copy link

Gotcha, thanks! 👍

jhendrixMSFT pushed a commit that referenced this issue Jan 5, 2018
* Moving UUID generation to github.com/marstr/guid

Fixes #947

* Removing comment block, and instead copying here:

Basically, the issue is our code needs to be able to operate regardless of whether people have vendored in code
on either side of Satori's inadvertant breaking	changes. That leaves us two options:
	1. Use reflection to try to invoke hichever method is available to us in Satori's package.
	2. Take a dependency on an alternate library for the sake of generation.
I've opted for strategy two, because it is easier to validate.
Once Satori has	resolved this, it would	not be inappropriate to	revert this code change.

* Adding changelog note.

* Update version info.

* Tweak changelog.

* Fix travis and delete glide files.
@ghost ghost removed the review label Jan 5, 2018
@marstr marstr mentioned this issue Jan 24, 2018
6 tasks
@github-actions github-actions bot locked and limited conversation to collaborators Apr 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants