-
-
Notifications
You must be signed in to change notification settings - Fork 407
Refactor internal BSP tasks out of JavaModuleApi
#5214
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
Conversation
This for now only holds a single task, but the idea is to move all bsp-tasks here.
Feel free to delete and move things around the API; until 1.0.0 final lands, there aren't any compatibility concerns, so best to squeeze in as much cleanup as we can |
We can instantiate module in the context of the BSP server, since the BSP can only acces a limmitted module API. Effectively, we may deal with `JavaModule`s in different meta-build levels, hence the implicit BSP context modules need to life in that scope.
Moved various internal BSP tasks into a dedicated trait and update the PR description. |
JavaModuleApi
I also identified some internal tasks to support |
This is based on com-lihaoyi#5214
This is based on com-lihaoyi#5214
This is based on com-lihaoyi#5214
@lihaoyi I'd like to merge this one. It only juggles with unreleased API and should decouple internals from the public |
@lefou i havent look at it but go ahead if CI and manual testing passes |
Also factored new `GenIdeaInternalApi` module and moved some tasks around. This uses the same technique of an implicitly attached sub-module to avoid adding private and likely changing internals to public stable modules. this follows the previous BSP refactorings (#5214, #5261). I also took the opportunity to simplify and clean the existing code. Having a module-scoped class allows us to have some logic in a much clearer way. Removed the `GenIdeaModule.intellijModulePath` in favor to the redundant `intellijModulePathJava`. This should reduce confusion about what to override. But it needs a deprecation in Mill 0.12 which I'll add in a separate PR (#5290). Pull request: #5289
We use a dedicated
trait
to hold internal BSP tasks. This is, to free the binary compatibly Module API from these likely changing tasks.Also refined the package layout in
mill.api.internal
and introduced sub-packagesbsp
andidea
.