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
Support scala_artifact #19128
Support scala_artifact #19128
Conversation
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.
Thanks a lot! This looks great.
Regarding the breaking change: would it be possible to support both exclusion field values for a deprecation period, with the string version always assumed to be a jvm exclusion? |
yeah, it makes sense to go through a deprecation phase. I thought I could have a BUILD file fix rule that could replace the old one with the new one. But it seems I need to invest more time in understanding the current API for that. |
This is an initial stab at fixing #12969 using target generation to determine the actual artifact name.
It also introduces a breaking change in the
excludes
field ofjvm_artifact
to be able to distinguish between which of the mentioned exclusions are Scala artifacts (and hence require name mangling based on Scala version) are which ones aren't.For example, the following
BUILD
:Would generate the equivalent to:
For a Scala version of
2.13.x
.This approach could be extended in the future to support cross platform builds to ScalaJS and/or Scala Native.