-
-
Notifications
You must be signed in to change notification settings - Fork 331
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
Make --import
flag work again
#2502
Conversation
I think after a |
@lefou ok, |
--import
flag work again--import
flag work again
If you now see a |
Yep, seems to be there lihaoyi mill$ find example/scalabuilds/10-scala-realistic/.bloop
example/scalabuilds/10-scala-realistic/.bloop
example/scalabuilds/10-scala-realistic/.bloop/foo[2.13.8].test.json
example/scalabuilds/10-scala-realistic/.bloop/foo[3.2.2].test.json
example/scalabuilds/10-scala-realistic/.bloop/bar[2.13.8].test.json
example/scalabuilds/10-scala-realistic/.bloop/foo[2.13.8].json
example/scalabuilds/10-scala-realistic/.bloop/bar[3.2.2].json
example/scalabuilds/10-scala-realistic/.bloop/bar[2.13.8].json
example/scalabuilds/10-scala-realistic/.bloop/qux.json
example/scalabuilds/10-scala-realistic/.bloop/foo[3.2.2].json
example/scalabuilds/10-scala-realistic/.bloop/bar[3.2.2].test.json |
Something is not right. It's probably caching too much. I locally published as
|
I suspect the |
I was thinking, whether we should use the extra cli-import as runClasspath only. This would have the advantage, that we don't need to recompile. And it limits the side-effects of such an imports. IIUC, we don't use external modules anywhere at compile time. When we resolve the target, we search in the runClasspath, so the bloop plugin should keep working as expected. But maybe, I'm missing some details. WDYT? |
I'm not sure about the exact use case for CLI imports. If it's just to let us directly evaluate targets on the external modules, then we don't need them at compile time. But as of now, they also let you write code in |
That latter possibility is rather some side-effect from the initial implementation, which was not as flexible as the current one. This also means, a *) mostly, as we currently accept a |
Ok. I'll update this PR |
Updated the PR to add The caching model here is a bit unintuitive:
|
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.
Looks good to me. Changing the import does not force a re-compilation of the build script.
Fixes #2485
We take the
config.imports
field and pass it toMillIvy.processMillIvyDepSignature
insideivyDeps
. This was overlooked in #2377, but seems easy enough to put backHonestly not super sure how to test this. But when I run
On main branch, I get
On this PR I get
Seems like there's a binary incompatibility, but at least the
--import
flag took effect?