-
-
Notifications
You must be signed in to change notification settings - Fork 347
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
enhancement to zinc reporter and avoid mangling ansi escapes
- update com-lihaoyi/sourcecode to use new macro implementation - fix callgraph 4-actors test: account for private[this] inferrence - fix - callgraph 8-linked-list-scala test: account for new override semantics - fix 5-parser codesig test to account for new expansion - use custom SAM type in lambda tests for scala (specialisation dropped in scala 3) - tweak CodeSig ignoreCall logic to account for Scala 3 lambdas - update some dependencies so invalidation tests actually run - fix indentation in codesig tests
- In Scala 3 an implicitly inserted else branch will not be implicitly converted to the type of the then branch, so use explicit else branch with NodeSeq.Empty
ca487d1
to
7620712
Compare
@lihaoyi it seems like Scala 3 really doesn't like the task invocation syntax |
- create and load scala compiler worker from MillMain - splitScript (mill scripts are a compilation unit where top stats are a template stat sequence) - cached initCtx - tested concurrent parsing - bin-pack comma separated import clauses into one - extract ImportTree from import code snippets - extract ObjectData from object code snippets - patch end marker of wrapper object - splice millDiscover into wrapper object after last statement - add passing scala-3-syntax test - account for code splice offset in ZincWorkerImpl reporter - Fix FullRunLogsTests, mill-build has an extra task - fix line offset in compile failure tests
7620712
to
c466f2f
Compare
@bishabosha am I correct to say that single |
Yeah I have seen no problems when it's a single apply |
@lihaoyi I'm also not sure why there is a difference in the The test-docs task also a bit of a mystery I didn't look into too deeply - but yeah whole pages are just not being generated, so the proofer correctly identifies the links do not exist |
@bishabosha for Not sure about the |
Or just comment out the "number of files being recompiled" asserts, the "task hashes are properly invalidated" asserts are still useful (you didn't mention them failing so I assume they still work?) |
6317fba
to
39da1a5
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 |
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