-
-
Notifications
You must be signed in to change notification settings - Fork 363
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
Bump zinc to 1.4.4 #1094
Bump zinc to 1.4.4 #1094
Conversation
Unfortunately, it's isn't as easy as just bumping it. zinc API changed after 1.4.0-M1 and introduced some virtual file abstraction. The required change to mills code base isn't trivial, at least not if your're not familiar with zinc API. |
ab68e33
to
62affda
Compare
Each version of zinc comes with its own compiler bridges on every version of Scala. Given that two different versions of Mill can use two different versions of Zinc we must classify zinc workers by zinc version (in addition to scala version).
This PR is ready for review. It bumps the version of Zinc but it does not take advantage of the new Zinc features: VirtualFiles and Stamps. A few remarks:
|
@adpi2 Thank you very much for this upgrade. The change looks good to me after a first glace, but I'd like to give it a second view. I have some questions, see below.
I have no idea, what we miss because of this. Could you point out what benefits we could gain? Do you see any low hanging fruits?
If I understand correctly, we still load and share the zinc worker globally for modules with the same Scala version, right?
What's the impact of it? If it only means we cannot use 2.12.0 this might be ok, as long as we print a proper error message indicating the issue and the solution in case a module wants to use
Can you elaborate what this means? |
The purpose of In terms of implementation, it requires configuring the
Yes. The zinc worker is a singleton and it creates only one compiler bridge for modules with the same Sala version.
It's only incompatible with |
Mill downloads the source of the |
Ok, so we can safely live without that for now. It will be relevant for #726 though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me.
Thank you, Adrien! |
Unblock scala/scala3#10816