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

after cli.GlobalString was removed Google Cloud Print Connector cannot be built #926

Closed
okhadkevich opened this issue Nov 11, 2019 · 9 comments
Assignees
Labels
area/v2 relates to / is being considered for v2 kind/bug describes or fixes a bug status/claimed someone has claimed this issue

Comments

@okhadkevich
Copy link

I have an error when building Google Cloud Print Connector:

$ go get github.com/google/cloud-print-connector/...

github.com/google/cloud-print-connector/lib
go/src/github.com/google/cloud-print-connector/lib/config_unix.go:235:15: context.GlobalString undefined (type *cli.Context has no field or method GlobalString)

@AudriusButkevicius
Copy link
Contributor

What version of go are you using? I think this should not happen if you use Go that supports modules.

@okhadkevich
Copy link
Author

On Ubuntu 18.04

$ go version
go version go1.12.9 linux/amd64

@saschagrunert
Copy link
Member

saschagrunert commented Nov 11, 2019

The issue is that google/cloud-print-connector does not support go modules yet, so it falls back to your local urfave/cli download (master branch) and so the project won't build any more.

@purpleidea
Copy link

The recent changes in git master broke our builds too. We don't use go modules.

@AudriusButkevicius
Copy link
Contributor

AudriusButkevicius commented Nov 12, 2019

I assume you are vendoring your dependencies somehow differently in that case?

Modules and vendoring was developed for this particular reason.

I don't think it's fair to expect projects to stop all progress because some subset of users are not using widely adopted methods for ensuring version compatility and rely purely on luck that the upstream project will never make breaking API changes.

@purpleidea
Copy link

@AudriusButkevicius

I assume you are vendoring your dependencies somehow differently in that case?

We use git master of almost all our dependencies. It helps us keep up to date with changes in projects as opposed to having to bump everything all at once. See more info here: https://github.com/purpleidea/mgmt/blob/master/docs/faq.md#why-arent-you-using-glide-godep-or-go-mod-for-dependency-management

We've only had about 3 breaks so far in the history of the project, funny enough, this makes 4, and one of the old ones was also from this project (codegangsta/cli in: purpleidea/mgmt@ab73261 )

I don't think it's fair to expect projects to stop all progress because some subset of users are not using widely adopted methods for ensuring version compatility and rely purely on luck that the upstream project will never make breaking API changes.

Not at all. I agree, please change away. Of note, most mature quality projects do remain stable, however if there are changes to be made, we'd prefer they do make them, and improve API and code quality. What's missing this time, is that it seems the API changes were made before good docs or a porting guide were made available. That's my only big objection, and seeing as our builds are still broken, any help in knowing what to change or patches would be appreciated!

Some initial work is in here: purpleidea/mgmt#571

@AudriusButkevicius
Copy link
Contributor

As I mentioned in the other thread we expect one more of these breakages next year, so sadly expect more work in the future.

@coilysiren
Copy link
Member

👋 hi @purpleidea!

Thanks for your feedback here, I had no idea people used go modules in this way ^^

I actually did create a ticket (#921) for writing migration guide, I just didn't know that we should create the guide before merging to master. You live and you learn 🙏

@coilysiren coilysiren added status/claimed someone has claimed this issue kind/bug describes or fixes a bug area/v2 relates to / is being considered for v2 labels Nov 14, 2019
@coilysiren coilysiren self-assigned this Nov 14, 2019
This was referenced Nov 14, 2019
@coilysiren
Copy link
Member

Closed via google/cloud-print-connector#470

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/v2 relates to / is being considered for v2 kind/bug describes or fixes a bug status/claimed someone has claimed this issue
Projects
None yet
Development

No branches or pull requests

5 participants