This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-08-22
Channels
- # admin-announcements (8)
- # beginners (23)
- # boot (121)
- # cider (4)
- # clojure (19)
- # clojure-bangladesh (14)
- # clojure-berlin (3)
- # clojure-brasil (2)
- # clojure-dev (5)
- # clojure-russia (13)
- # clojure-sweden (1)
- # clojurescript (99)
- # clojutre (3)
- # datascript (2)
- # funcool (1)
- # jobs (1)
- # om (23)
- # overtone (1)
- # reagent (10)
- # spacemacs (3)
@micha: any chance you have an idea for a quick fix? or also how to fix the jar task?
Has anyone tried advanced compilation with latest boot-cljs?
@martinklepsch: i'll have a look
@juhoteperi: i have, works fine for me
Strange. None works fine for me but adv breaks.
1.7.48-2
trying
clojure.lang.ExceptionInfo: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: No implementation of method: :-compile of protocol: #'cljs.closure/Compilable found for class: nil
@juhoteperi: that’s what you expected? (build worked with -0
)
Okay, I’m seeing the same
@micha: What are you using multiple builds for?
https://github.com/clojure/clojurescript/blob/master/src/main/clojure/cljs/closure.clj#L1669-L1671 this does something different with optimizations
It tries to search for the main namespace in classpath.
And that is created to the temp dir and is not commited yet
I need to probably separate main ns writing from compile-1 so I can run that first for all builds, do the commit and then run all compilations
I don’t think it would break none?
most of the namespaces are already in classpath, it’s just the main ns which is not
Yes 😄
You should have a utility function lib (everyone should have one)
Yeah for boot tasks
and if i use my utility library in all of them i need to keep them all to the same version
We have a utility lib we use in app projects. For libraries we copy the necessary parts.
But the utility lib is good place to keep all the useful functions and test them.
haha 😄
We have metosin/potpuri
. It's medley in Finnish (weavejester’s utility fn lib is medley).
It isn’t as easy to add main ns files to classpath as I thought
I didn’t remember each build has separate tmp-src
It would kill parallelism if we had to change classpath between each build
Oh right
that should be easy
https://github.com/adzerk-oss/boot-cljs/commit/58d0b5b446cffcc06db87d05bead073ab8c9d3f6 works for me now
Would be better if it could do everything with classpath 😄
@micha: Do you know what was the problem with your project? Did you test with fixed version?
Didn’t make a release yet
It’s slow but I don’t think it unusually slow
Was there any changes to uberjar building yet? Advanced cljs build is 1min and the whole package task takes 2min
the idea is to cache the exploded contents of jars using the modtime of the associated jar file in .m2 to invalidate the cache
Cached where? Boot cache dir?
Is the bottleneck really decompressing the jars?
Interesting.
also a change we want to make is to have the jar task remove things it added to the jar from the fileset by default
so we could add an option to the jar task to suppress that, remove files it added to the jar from the fileset
Will the uber task be separate from jar in future too?
I remember there was some speculation that a solution would be to add dependency jar contents directly to jar in jar task
so that fileset wouldn’t need to handle all the files in deps