-
-
Notifications
You must be signed in to change notification settings - Fork 354
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
Bloop doesn't work with RootModule
#2486
Comments
Currently, I'm not super familiar with what |
Folder based named will not work, as we allow multiple modules to have the same |
Folder based names can be based on the module's path in the That's not to say that the empty |
|
We should aim for a solution, consistent with BSP (where this problem should also arise) and cli usage/reporting. |
A possible solution that comes to my mind is to use the object root extends Root Module {
object foo extends Module
} In this case the identifiers are While in case you don't use a object foo extends Module And the identifier is This also maintains some sort of backwards compatibility for people not using |
Hm, I've not though very long about it, but I think using |
what @lolgab suggests is possible, but does add some divergence between how things are references from the CLI (without the How about just making the root module name |
Normally, the root module is transparent and only modules defined within it have a name. In BSP/bloop we also want to map the Now we introduced some special singleton module of type |
My idea was to have special naming only in BSP/Bloop but yes, the downside is that there is a divergence between CLI and BSP/Bloop. |
Why isn't the |
I'd be ok with just using the prefixed name for Bloop/BSP. One consideration is in the implementation. We currently discard the "enclosing" |
|
If you don't want to scope other modules as I suggested in the beginning there can be collision. object root extends RootModule {
object root extends Module
} How would you identify these two modules? |
After thinking about this a bit, I think it's probably fine if there's some divergence. If the BSP/Bloop names are just used for generated files on disk, it doesn't seem like something that a user needs to care about, and seems unlikely to cause confusion |
The |
I'd be worried about confusion with the
But if the root Some ideas:
|
This sound attractive, but has the issue that this only feels intuitive, as long as the
I think we are a bit late with this change. Many accepted the It turns out this discussion is more about a general mapping of the various files, modules and targets, and not so much an isolated BSP/bloop topic anymore. And once, we tackle this topic, we might also think how we want to handle foreign modules, which currently show up in BSP and in progress, but can't be called from the cli, which is really unfortunate. |
I like the idea. |
standardizing the name sounds reasonable, but should we call it |
Fixed by #2415 which gives it the name |
Given a
build.sc
likeBuilding the Bloop configuration with
mill mill.contrib.bloop.Bloop/install
returns:The text was updated successfully, but these errors were encountered: