Fork me on GitHub

I added a new example for using CircleCI v2 with Boot, works a lot better now, no more problems with caching and inotify watches:


anybody has a tip on how to debug what is going on here?


my clojure/java foo is not strong enough


more concretely: how to debug why the watcher from stops calling the callback fn


folks have to constantly restart the boot instance to get it working again, which isn’t…. ideal


@kommen, I wonder if this is some problem with inotify and Docker… I assume you're watching some mounted host directory with boot?


Which host os are you using, by the way?


@miikka we’re using this as the base image:


and no, it doesn’t seem to be an issue with inotify and docker. a another boot process running in same container is still getting and processing the events


does boot offer a way to modify dependencies and auto-require them for different builds?


Initially I wanted something like this: dynamically require certain dependencies depending on a clojure-defines compiler flag e.g.

(ns my.ns (:require
[my.dependency :as a]
(when goog.DEBUG [clojure.test.check]))
But then I figure that boot must support this somehow and I shouldn’t have this oddness in my codebase. The ultimate goal is to not include test.check and its dependencies in my prod build, but to have it included in the dev builds.


Looks like I might be able to get away with something using :preloads


you can use a different namespace as entry point and require you.project.core from there


What would a :not-found handler in boot-http look like to support pushState? It seems like you'd want to just serve the same index HTML file that is set by default but :not-found expects a ring handler, not Ring middleware. Am I missing something here? /cc @pandeiro


@kenny Yeah, I think as originally contributed, it takes a symbol pointing to a handler function. But it could also just take a string representing a file or resource and serve that. PR welcome.


Will take a look now.


@pandeiro Would you be opposed to me adding a new option called not-found-middleware?


Actually it's not really middleware. It'd essentially be a replacement for not-found-handler.


You can open an issue and we can discuss, but IMO the nicest API would be to reuse the same option for both different ways of handling: function and static file


@pandeiro Oh I can totally use the same option for both. However, that would introduce a breaking change and I was trying to avoid that.