-
-
Notifications
You must be signed in to change notification settings - Fork 287
Scala 3 minimal support #1355
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
Scala 3 minimal support #1355
Conversation
| "io_bazel_rules_scala_scala_interfaces", | ||
| "io_bazel_rules_scala_scala_tasty_core", | ||
| "io_bazel_rules_scala_scala_asm", | ||
| # "io_bazel_rules_scala_scala_reflect", |
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.
Do we need this commented line?
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.
removed
|
one thing that isn't clear to me is how this interacts with ijar. I don't know the role of tasty in scala 3. I think we should document how this is working. My fear is that we are making ijars, but actually scala 3 is reading tasty files and not actually using the ijar anyway, so we are only complicating matters and hurting things. But this could be wrong. What I think we want ideally, is for tasty to support the idea of compilation interfaces, and have a scala specific way to do something like |
|
ijar should keep tasty files (bazelbuild/bazel@1489f0f) - I haven't verified if this works though. |
|
but if you retain the entire tasty file, doesn't that retain the entire AST? So, doesn't that kill the point of ijar for scala (i.e. any change to the implementation will still cause a downstream recompilation?) And if any change causes a downstream recompilation, then you might as well use a transitive compilation classpath so you minimize confusing issues with symbols being missing. |
That's correct. There's plenty of work to be done to get full support for Scala 3. |
This adds minimal support for Scala 3:
Also added a simple Scala 3 workspace example to validate the changes, while the rest of Rules Scala tests are not fixed to work with Scala 3.
Issue #1269
Thanks @cocreature for the initial work