Fork me on GitHub

What does the S in -S option for the Clojure CLI tools stand for? The other option names seem to be fairly obvious in meaning when reading clojure --help. For example -A is aliases, -C is classpath, -R resolve, etc. Or is -S just a generic 'catch all' prefix for all other commands?


If I was to hazzard a guess, I think it means script - as examining the clojure script file that controls the process, S is used for script commands (internal to the script) and also a tree function, in the script package in tools deps alpha.


I could be 100% waaaay of the mark here ... 🙂

Alex Miller (Clojure team)16:11:26

It stands for "settings"

Alex Miller (Clojure team)16:11:57

so, yes a generic prefix to catch many settings

👍 4
Alex Miller (Clojure team)16:11:05

in particular, the command line has a mix of clj args, clojure.main args, and when used as a runner, your own clojure main args


at least now i have two mnemonics :)


my brain can rest at ease now, thank you Alex.


@alexmiller Hi Alex, the console-listener Var in appears to be an implementation of the TransferListener interface. However it isn't a complete implementation, and I am seeing errors to that effect.


Receiver class$reify__7307 does not define or inherit an implementation of the resolved method 'abstract void transferSucceeded(org.eclipse.aether.transfer.TransferEvent)' of interface org.eclipse.aether.transfer.TransferListener.


Please note that the docs suggest to extend the abstract class AbstractTransferListener rather than implementing the interface. The abstract class ships with no-op callbacks so a partial extension is a-OK and no errors would occur.