Fork me on GitHub
#boot
<
2017-07-07
>
edannenberg01:07:22

@danielcompton build triggers are handy for permission headaches, you can find a decent (if i may say so myself :P) example dev setup at: https://github.com/edannenberg/kubler/tree/master/dock/kubler/images/clojure

danielcompton01:07:11

Interesting, thanks. I need to support building these images across windows, linux, and Mac at the mo, so am not so keen on another tool, but maybe if we build them out of CI it won't matter so much

edannenberg01:07:33

the tool doesn't matter for this, have a look at the dockerfile.template, the ONBUILD instructions is pretty much all you need

edannenberg01:07:06

but funny that, i came here for some opinions related to docker and boot ^^ the clojure side is covered, but i also want to run gulp for all the css things, in another docker container. it works but is somewhat annoying when both containers watch for changes as gulp being done usually results in another boot build because stuff changed. does a boot task that sends a signal to another docker container and blocks until return sound too crazy?

edannenberg03:07:44

@danielcompton looking at your dockerfile a bit closer this approach probably won't help you much with your use case as you can't mount stuff during a docker build. a simple solution could be to use a small shell script that runs a docker-compose job which produces a jar on the host and then starts a normal docker build with the jar in it's context . the compose file could also be used for local dev. sadly there really is no good way to do this with just a single dockerfile.

dm308:07:50

has anyone ran into issues with the jar task producing an invalid jar? It does include a MANIFEST.MF but seems like the metadata isn’t put in the right place. The effect is the same as jar cfM project.jar META-INF Main.class (doesn’t work) vs jar cfM project.jar -m META-INF/MANIFEST.MF Main.class (works)

dm309:07:03

ok, this is because the jar task is broken. When it’s doing an boot.jar/update-jar!, the manifest entry isn’t added as the first one

dm309:07:11

switching to boot.jar/spit-jar! (the way war task does it) fixed it for me

dominicm11:07:37

java.lang.Thread.run             Thread.java: 748
         sun.nio.fs.LinuxWatchService$Poller.run  LinuxWatchService.java: 329
       sun.nio.fs.AbstractPoller.processRequests     AbstractPoller.java: 260
sun.nio.fs.LinuxWatchService$Poller.implRegister  LinuxWatchService.java: 264
       java.io.IOException: User limit of inotify watches reached
clojure.lang.ExceptionInfo: User limit of inotify watches reached
    file: "/tmp/boot.user6268077562842124107.clj"
    line: 5
Exited with code 1
@juhoteperi Just hit this on CI, so it does happen occasionally still. Haven't got a number yet though. It does say "User limit", so no idea if I can bump it as a user therefore

dominicm11:07:30

https://github.com/boot-clj/boot/pull/564 I notice this is a thing, so I have a fallback if all else fails

dominicm13:07:44

Should boot/core depend on boot/base? If I have boot/core, I can't require boot.core as boot.App is missing