This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-01-06
Channels
- # announcements (4)
- # aws (2)
- # beginners (48)
- # calva (39)
- # cljsrn (12)
- # clojure (98)
- # clojure-dusseldorf (1)
- # clojure-serbia (2)
- # clojure-spec (13)
- # clojure-uk (13)
- # clojurescript (97)
- # code-reviews (1)
- # datomic (14)
- # fulcro (24)
- # jobs-discuss (160)
- # juxt (1)
- # luminus (2)
- # nrepl (1)
- # off-topic (1)
- # other-languages (1)
- # overtone (1)
- # perun (6)
- # protorepl (16)
- # re-frame (20)
- # reagent (1)
- # reitit (6)
- # rum (8)
- # shadow-cljs (96)
- # spacemacs (8)
- # specter (4)
- # tools-deps (18)
- # uncomplicate (1)
- # vim (1)
not sure if it’s the source of truth, but I found the code here: https://github.com/clojure/brew-install/tree/1.10.0/src/main/resources
wrapper scripts in the brew-install repo (not only for macOS but also Linux0
Those are the correct places
morning @alexmiller
afaict, it’s all java code, so my question is, where / when does it change the classpath? does it start the jvm twice? once to calculate the right classpath, and once to actually run the instance?
Yes, it runs the jvm twice - once to compute the classpath then again to launch your program
Caching is used to avoid the first step when possible
The procurer code is all under tools.deps.alpha.extensions
@alexmiller ahh, okay, so it’s not as magical as I thought, great!
@alexmiller where can i see it running twice, is that in the shell script wrapper?
so I’m guessing, this is the first invocation, to resolve-tags
: https://github.com/clojure/brew-install/blob/1.10.0/src/main/resources/clojure#L179
and then this is the 2nd and final run: https://github.com/clojure/brew-install/blob/1.10.0/src/main/resources/clojure#L346