This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-01-23
Channels
- # aleph (1)
- # architecture (4)
- # aws (7)
- # beginners (249)
- # boot (17)
- # calva (4)
- # cider (30)
- # cljdoc (7)
- # cljs-dev (1)
- # cljs-experience (3)
- # clojure (69)
- # clojure-dev (7)
- # clojure-europe (1)
- # clojure-italy (7)
- # clojure-japan (15)
- # clojure-spec (6)
- # clojure-uk (39)
- # clojurescript (51)
- # cursive (31)
- # data-science (4)
- # datavis (1)
- # datomic (40)
- # dirac (67)
- # duct (8)
- # editors (15)
- # emacs (9)
- # events (3)
- # figwheel-main (2)
- # fulcro (157)
- # juxt (4)
- # kaocha (11)
- # lein-figwheel (1)
- # off-topic (31)
- # pathom (18)
- # re-frame (4)
- # reagent (2)
- # reitit (16)
- # remote-jobs (1)
- # shadow-cljs (11)
- # specter (2)
- # speculative (1)
- # tools-deps (27)
- # vim (1)
- # yada (2)
Hey all - does anyone know if anything became of the add-lib
function described here http://insideclojure.org/2018/05/04/add-lib/ ?
I noticed a branch (`add-lib`) on the github repo, but it's ~20 commits behind master. Is it still preferable to use it?
we haven’t integrated it yet
I can merge up to master though if you want a master-compatible version of the branch
actually I did that recently, and add-lib branch is currently only like 1 commits behind master
merged, you can use sha e160f184f051f120014244679831a9bccb37c9de for latest
@alexmiller Thanks a ton! Heads up that I found a bug where a transient dependency wasn't reloaded into the classpath. I will see if it's fixed by the latest, and if not, open an issue.
Unless you'd prefer me not opening issues for it, since it's not even part of a release yet
Did you mean transient or transitive?
add-lib won’t do re-loading - it’s for additive use
@seancorfield have you run into any issues with depstar and multi release jars?
@ghadi What do you mean by “multi release”?
as of java 9 you can make jars with different per-jdk sets of stuff in them
I haven’t tried to do anything with Java 9+ yet — we have a bunch of legacy code that won’t run on it.
Given that depstar
doesn’t add a manifest — and filters out some manifest-related stuff as I recall — I don’t know how it would even go about that.
I started looking at adding basic manifest support but that seemed to lead me down the AOT path, at least for the Main-Class:
entry when it wasn’t clojure.main
… and I decided I didn’t have the stomach for that (yet).
(defn excluded?
[filename]
(or (#{"project.clj"
"LICENSE"
"COPYRIGHT"} filename)
(re-matches #"(?i)META-INF/.*\.(?:MF|SF|RSA|DSA)" filename)
(re-matches #"(?i)META-INF/(?:INDEX\.LIST|DEPENDENCIES|NOTICE|LICENSE)(?:\.txt)?" filename)))
(which seems pretty arbitrary — and I haven’t rationalized why it excludes all of that lot)
Does anyone have a firm reason that pack should implement a depstar like implementation?
I've got a thing I worked for a little bit, but I don't think I have the time to go anywhere with it: https://gist.github.com/hiredman/d68cafb6aa8cea563c7b77d54f522421 instead of building uberjars (which can end up taking forever to transfer) it uploads individual jars/git repos/local deps only if they haven't already been uploaded and then deploys a file containing a built classpath pointing to those things