Fork me on GitHub
#cljs-dev
<
2018-08-11
>
darwin12:08:59

I was trying to do lein install of master clojurescript on my machine, it seems to produce .jar and place it into .m2, but when compiling my project, it complains java.lang.IllegalArgumentException: Not a file: jar:file:/Users/darwin/.m2/repository/org/clojure/clojurescript/1.10.339/clojurescript-1.10.339.jar!/cljs/util.cljc

darwin12:08:45

any ideas what went wrong? this used to work on my machine previously, also the produced jar has cljs/util.cljc inside and it is not corrupted, I double checked it with jar cmd line tool

darwin12:08:39

tried lein clean in various places, deleting .m2, running script/bootstrap, and bunch of random things without success

mfikes12:08:21

@darwin Usually you use script/build to install into .m2

darwin12:08:51

@mfikes thanks, running script/build prior lein install fixed the issue, it’s been a while since I worked with clojurescript repo and forgot to run this step

mfikes12:08:19

Cool. I have no idea what lein install does. (I never do it in the ClojureScript repo.)

mfikes12:08:33

(In other words, script/build is sufficient.)

darwin12:08:17

I have to look into it, I used lein install to override jar version, I don’t want to mess with my project.clj in dependent projects when testing out master

darwin12:08:42

and lein checkouts feature does not work well for clojurescript (at least I had troubles making it work)

mfikes12:08:54

Ahh, cool. Yeah, I often do the trick of evaluating a CLOJURESCRIPT_VERSION environment variable in project.clj, but now I’ve moved on to using lein-tools-deps or just deps.edn directly. But all of those are invasive changes.

mfikes12:08:30

(The nice things about the deps-based approach is you can depend directly on the source tree of master.)

darwin12:08:03

I have to learn those new tools, reusing versions the way I do it is tricky because of possible caching on multiple levels, so then I have to defensively clear all caches and it is not obvious to me how they work, I’m then randomly deleting folders, doing lein clean in various places until I get the expected results 😉

darwin12:08:43

and there is always a danger that I forget to remove my test installation with “official version” and then I wonder next day

mfikes12:08:19

Yeah, deps.edn is awesome at casually overriding deps, right at the command line via -Sdeps

👍 8