Here's one piece of the puzzle:
I can reproduce the basic problem by adding a dev/ folder to boot's
:source-paths environment and adding a :require entry to a 3rd-party
library that I don't reference from the namespace that contains the
main function.
You can see this in action at
https://github.com/jimrthy/ideal-rotary-phone/tree/immutant/uberwar by
trying to run `(boot (build-immutant-dev-war))` from the boot repl.
That seems like a "Well, don't do that" issue that might be worth
writing up somewhere.
On the other hand, I have other issues that don't seem quite that easy.
In the real project where I started, I have another source path that
contains my .cljc files (and another for the .cljs). I've seen the
same problems from there, referencing libraries that the main ns also
uses (transitively).
For that scenario, my folder structure looks like this:
dev/user.clj
src/clj/foo/main.clj
/routes.clj
/system.clj
src/cljc/foo/lamport.cljc
The init-fn function is in main.clj. It requires foo.system, which
requires both integrant.core and foo.lamport.
foo.lamport also requires integrant.core.
Now that I've cleaned up the other problems, I've started getting an
error when gird tries to compile foo.lamport, because it can't find
integrant.core. So far, I haven't had any luck reproducing this one on
a smaller scale.
This one's messier, because I'm using foo.lamport everywhere (except from user).
user and system both reference foo.routes, which references cheshire.
If I comment out the references to it in user, the only problem I see
comes from lamport. When I leave it in place, I get an error from gird
about it (foo.routes) that cheshire isn't on the CLASSPATH.
I'll keep working on a minimal repro example.
On Sat, Nov 4, 2017 at 1:25 PM, James Gatannah <
james.g...@gmail.com> wrote:
> Copy/paste failure on my part.
>
> If I unquote the init-fn symbol (like in that example), I get a
> ClassNotFound exception about it.
>
> The problems I'm seeing come from the ns forms. I'll start over with a
> minimalist example to see if I can figure it out from that angle.
>
> I was mostly just being lazy and hoping someone else had already run
> across (and solved) the same problem.
>
> Thanks,
> James