Repository navigation
Replies: 2 comments 3 replies
|
Currently Mill has one daemon per folder in which it is run. That is a pretty fundamental architecture and isn't likely to change anytime soon. You can mitigate the problem somewhat by using Mill |
2 replies
|
Is the problem that the mill client running in the container can't find the daemon running on the host so it starts its own and/or begins using the output directory directly? Can I fix this with proper configuration or am I confused about the relationship between the mill client and the daemon? |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I am running the same mill build in four places at the same time on the same machine - VSCodium/Metals, a coding agent (pi) running in a container, a script that watches for changes and runs mill on the host to generate a classpath and reloads the app which also runs in containers (maybe I don't need a separate script for this,) and I run mill manually for tests also in a container.
I frequently work on a laptop so I don't want to waste battery compiling anything more than once and of course I don't like to wait so ideally there is one mill daemon running that everything uses and only one compile happens at a time. I can't get this to work though, mill daemon mode doesn't seem to work the way I expect. It seems each mill user (metals, agent, command-line) starts its own daemon.
I mount the mill directory in the containers (and coursier caches) and set MILL_NO_SEPARATE_BSP_OUTPUT_DIR in an attempt to only compile everything once, which works if I use external locking to keep mill daemons from crashing.
I'm guessing I'm having trouble because daemon mode is just so you have a warm jvm for compilation and not so you can have multiple users sharing a mlll daemon and output directory. If I'm using it wrong please let me know.
All reactions