Fork me on GitHub
#boot
<
2017-09-07
>
john_tollison06:09:54

I use boot in a very basic way, mostly just "boot dev/prod/repl", when working with hoplon/castra projects. I've been getting inconsistent results from the same starting point, filewise. I can run "boot dev" 3 times in a row, getting 2 different errors and then get a clean run. What's boot doing in the background that might lead to this?

martinklepsch09:09:45

@john_tollison what are the errors you’re seeing?

john_tollison11:09:54

"Unable to resolve var: XX" "No such var: XX" "namespace 'XX' not found" "Wrong number of args () passed to: XX" "namespace 'XX' not found", with all sorts of variation with the XX's

martinklepsch12:09:07

@john_tollison is there any chance you can reproduce this in a shareable project?

mudphone12:09:11

Hi, I am preparing a PR for a CLJSJS package, and just ran boot package install target… I see a package-named directory and version directory in ~/.m2, but no jar file. Does anyone have any ideas as to why a package wasn’t moved there? I’m using these instructions: https://github.com/cljsjs/packages/wiki/Creating-Packages#7-install-your-package-locally-and-try-it-out And, this boot file: https://github.com/cljsjs/packages/blob/master/phoenix/build.boot

mudphone12:09:22

Sorry, this is my first try at this.

mudphone12:09:59

The jar file ends up in a target dir, and the .m2/repository/phoenix/phoenix/1.3.0/ dir is empty.

martinklepsch12:09:03

@mudphone the jar should end up at .m2/repository/cljsjs/phoenix/

mudphone13:09:53

@martinklepsch ah, okay, thank you

dominicm13:09:37

@john_tollison I've seen that on projects where there's a non-deterministic namespace loading order, due to missing :require and use of fully qualified namespaces. In both boot & lein.

john_tollison21:09:32

sorry for the delay, been keeping weird hours. I place a bare bones project that creates the problem here, https://github.com/jtollison78/hoplon-redis-frame

john_tollison21:09:48

I'll see if I can find any missing requires, but I have no idea what I'm looking for. As far as I can tell, I have all the same things as it took to make a previous project work, although I had the same problems early on

john_tollison21:09:00

Thanks for the feedback

lsnape21:09:53

I’m having a hard time trying to figure out why I can’t reload my clj source files using tools.namespace/refresh inside a boot task (using boot-refresh). The (app/start) function I call to restart my app after the refresh has completed is stale.

lsnape21:09:29

Is anyone able to shed some light on why the changes to the reloaded namespaces aren’t reachable inside boot tasks? And perhaps a workaround?

dominicm21:09:29

I've heard of this before, I can add that. I'd read the source to boot refresh, it can't be long.

lsnape21:09:51

No it’s tiny:

(boot/with-pass-thru _
    (apply tns/set-refresh-dirs (boot/get-env :directories))
    (with-bindings {#'*ns* *ns*}
      (let [result (tns/refresh)]
        (when (instance? Throwable result)
          (throw result))))))

lsnape21:09:49

All obvious to me except the with-bindings wizardry.

dominicm22:09:34

Is the task refreshing 0 namespaces, or is it not running?