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

Update Scrooge to 18.1.0 #413

Closed

Conversation

travisbrown
Copy link
Contributor

We're trying to update to Scrooge 18.1.0, which seems to have changed such that generated code now depends on util-core, which means that we're seeing failures like this:

error: object io is not a member of package com.twitter
import com.twitter.io.Buf
                   ^

This change adds the necessary dependencies to scala_library for scrooge_scala_library and also bumps the Scrooge version from 4.6.0 (which dates back to March 2016). I've confirmed that the tests here fail to compile with the version updates but not the deps and exports lines and succeeds with them.

@googlebot
Copy link

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.
  • If your company signed a CLA, they designated a Point of Contact who decides which employees are authorized to participate. You may need to contact the Point of Contact for your company and ask to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the project maintainer to go/cla#troubleshoot. The email used to register you as an authorized contributor must be the email used for the Git commit.
  • In order to pass this check, please resolve this problem and have the pull request author add another comment and the bot will run again. If the bot doesn't comment, it means it doesn't think anything has changed.

@johnynek
Copy link
Member

johnynek commented Feb 2, 2018

you can make these changes in your own repo using custom binds. You don't need to do these binds.

I would only want to make a change in the rules when the current source does not work correctly with the latest scrooge.

@travisbrown-stripe
Copy link

@johnynek Okay, makes sense, I guess. Is this a definite policy for the project? It seems like a shame to have off-the-shelf usage provide 2+ year-old versions of dependencies like ScalaTest and Scrooge, so that everyone on more recent versions has to pay this bind tax.

@bazel-io
Copy link
Member

Can one of the admins verify this patch?

@ittaiz
Copy link
Member

ittaiz commented Feb 14, 2018

@johnynek I think he does have a point. WDYT?

@ittaiz
Copy link
Member

ittaiz commented Feb 17, 2018

@johnynek wdyt?

@ittaiz
Copy link
Member

ittaiz commented Feb 22, 2018

@johnynek I'd rather upgrade it but from a project policy standpoint. We are not scrooge users...
I suggest either merging or closing.

@pvcnt
Copy link

pvcnt commented Mar 25, 2018

I confirm it is a real blocker for me to have an outdated version of Scrooge which prevents me from adopting Bazel on one of my projects.

On the other hand, as Scrooge is now updated every month, it may be difficult to follow the pace here, and may break backwards compatibility for some users if Scrooge does so from one release to another.

@travisbrown
Copy link
Contributor Author

@pvcnt You can use a custom bind in your workspace file to make rules_scala work with a more recent Scrooge version (or a newer ScalaTest version, etc.). I originally thought that this wasn't possible for Scrooge specifically because of the way the dependencies were set up, but I was wrong—you definitely can use 18.1.0, 18.3.0, etc. without any changes here.

I've left this issue open because I still think we should keep these versions more up-to-date for the sake of convenience, especially for newcomers, but it shouldn't be a blocker in any situation.

@googlebot
Copy link

So there's good news and bad news.

👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there.

😕 The bad news is that it appears that one or more commits were authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request.

Note to project maintainer: This is a terminal state, meaning the cla/google commit status will not change from this state. It's up to you to confirm consent of the commit author(s) and merge this pull request when appropriate.

@pvcnt
Copy link

pvcnt commented Mar 26, 2018

Oh, thanks for the tip. :) I also thought it would not be possible.

By the way, wouldn't registering a toolchain be the right way to go? Because it seems a bit brittle to have to rebind dependencies to make this work, and using bind() is not recommended.

@ittaiz
Copy link
Member

ittaiz commented Mar 26, 2018 via email

@travisbrown
Copy link
Contributor Author

Just rebased this and updated to 18.5.0 in case @oscar-stripe changes his mind now that we're about to check in thousands of lines of "//3rdparty/jvm/com/twitter:util_core"… 😄

@jhnj
Copy link
Contributor

jhnj commented Aug 15, 2018

This PR can be closed (scrooge is on 18.6 after #544)

@johnynek johnynek closed this Aug 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants