Fork me on GitHub

@duncanmak Line 179 is only run if you ask clj to resolve tags for you. Optional. But required before building the class path from git repos.


Very clever!


I'm working with Kawa Scheme, I'm hoping to build a similar thing for it also


it it me or is tools.deps missing from this question in the Clojure Survey? 22. Which tools do you use to compile/package/deploy/release your ClojureScript projects?

Alex Miller (Clojure team)15:01:17

that’s ClojureScript-specific - is that a thing?

Alex Miller (Clojure team)15:01:37

I just added it, so it’s there if people want to pick it


well, I do a lot of things with cljs.main, which uses tools.deps?


like compiling. I deploy via scp.


be nice if cljs-test-display was added to the cljs testing question as well


so maybe cljs.main should be the option instead of tools.deps, dunno 🙂

Alex Miller (Clojure team)15:01:29

I changed it to “clj / cljs.main”

Alex Miller (Clojure team)15:01:38

what’s cljs-test-display?

Alex Miller (Clojure team)15:01:50

that seems like a visualization tool rather than the test runner?


i suppose. then credit would go to figwheel and cljs.test for running the actual tests. but i feel like cljs-test-display is more than that. i just mention because that's my interface to all of our cljs tests and i was looking for it in the list


and this is the worst room for this sorry 🙂

Alex Miller (Clojure team)15:01:12

ha, no worries - there is an Other category for stuff like this - often new stuff shows up there and then I add it the following year if it’s strong enough


hey @alexmiller, i also started looking into Groovy’s Grape, which I see to be something very similar to tools.deps for Clojure


is the choice of using Ivy vs Maven (or Eclipse Aether) significant? Or do the two APIs basically do the same thing and it’s just a personal choice to use one or the other?

Alex Miller (Clojure team)21:01:31

I’ve spent some quality time with Grape in the past and worked on a build system that used Ivy extensively as well, so I’m somewhat familiar with both. I have never looked at Ivy’s actual code to see if it could satisfy what we needed wrt Maven repositories (although I’d be somewhat surprised if it didn’t ultimately use the same Maven APIs we are already using).

Alex Miller (Clojure team)21:01:17

I glanced at it and it’s actually not using the Maven APIs at all afaict, so would be an alternate path to investigate for downloads at some future time (could also jettison both and just do the moral equivalent directly in Clojure, which might actually be better). We do use a bunch of Maven stuff to read pom files and we’d need that regardless though.


When starting a REPL with clj, is there a way to set default JVM opts?

Alex Miller (Clojure team)21:01:38

no, but that is a ticket in the system for consideration

Alex Miller (Clojure team)21:01:23

you can pass them explicitly on the command line by prefixing with -J though like -J-Xmx1g


Hmm ok. Any idea what the default -Xmx is?

Alex Miller (Clojure team)21:01:39

in latest JVMs there is no default - it’s computed as a fraction of system resources I think, or something like that

Alex Miller (Clojure team)21:01:00

and more modern GCs can also release heap back to the OS

Alex Miller (Clojure team)21:01:39

so no, we’re not setting any jvm settings - that’s up to you to determine


Got it, thanks.