-
-
Notifications
You must be signed in to change notification settings - Fork 358
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
build.mill files compiled by Scala 3 #3369
base: main
Are you sure you want to change the base?
Conversation
Thanks @bishabosha ! Lets get your mainargs changes landed, that way we can cut a release and you can test your WIP in CI |
+1 for switching over to using directives! |
9d1a986
to
dc71022
Compare
[Edit: after switching to depending on mainargs 0.7.2] in https://github.com/com-lihaoyi/mill/actions/runs/10418081276/job/28853542122?pr=3369 you can see integration tests like |
729c575
to
e69f1bd
Compare
Rebased and included the new mill-moduledefs 0.11.0-M1 |
a06daca
to
37ba541
Compare
917a024
to
78beea1
Compare
@lihaoyi just recording here that the mockito third party test can be flaky (specifically as seen in the CI run https://github.com/com-lihaoyi/mill/actions/runs/10909315276/job/30277476457?pr=3369#step:9:4941 |
022c789
to
368fec9
Compare
3fb3c9e
to
93cb8a3
Compare
@lihaoyi is there any updates to the plan for merging this post 0.12.0? |
@bishabosha let's hold the PR open for now, going forward I can take over responsibilities for keeping the PR up to date so you don't need to maintain it forever. I don't know exactly how much development we'll see in 0.12.x yet, so not sure when the best time to break bincompat in
So for now I think it makes the most sense to keep the PR open and periodically merge |
Seems that OS-Lib 0.11.4-M2 is causing an unreasonable compile time slowdown in Scala 3 so sticking with 0.11.3 for now. Probably a consequence of com-lihaoyi/os-lib#329 |
merged in latest main and got most tests passing; there are still some stragglers but nothing blocking. The main thing still missing is proper support for corrected line-numbers and file-names. This kinda-sorta works in certain cases and not others, e.g. |
@lihaoyi maybe you can cherry-pick my plugin fixes from https://github.com/bishabosha/mill/tree/scala3-build-sc-reintroduce-linenumbers and https://github.com/bishabosha/mill/tree/scala3-build-sc-reintroduce-linenumbers-with-dotc-patch From Scala 3.6.2 the backend will accept the line number fix from a plugin without needing hacks Also I heard that the restriction on pre-typer plugins could potentially be lifted for non |
All tests are green. Probably more polish to do esp.w.r.t. error locations, and will need a few more rebases, but hopefully not too many before we merge this in January |
This is work in progress to fix #3152
Numerous fixes were also needed to com-lihaoyi/mainargs, com-lihaoyi/sourcecode, and com-lihaoyi/mill-moduledefs
With the current state, only 1 example/integration tests is still failing:
integration.feature[plugin-classpath].local
known TODOs:
Fix BSP reporter linenumbers for build scripts(Zinc reporter forwards to bsp)known incompatibilities:
ExplicitResultTypes
scalafix rule - need to upgrade mill-scalafixupgraded Scalafmt so not skipped anymoreCross.scala
uses the new quoted type syntax which scalafmt crashes on, (and version is frozen) so skip the fileexample.thirdparty[mockito]
integration.feature[plugin-classpath]
due to third party plugin dep