seancorfield.dot-clojure

https://github.com/seancorfield/dot-clojure.git

git clone 'https://github.com/seancorfield/dot-clojure.git'

(ql:quickload :seancorfield.dot-clojure)
167

dot-clojure

This is my .clojure/deps.edn file providing useful clj aliases drawn from a variety of projects.

There are aliases to pull in specific versions of Clojure: * :master – Clojure 1.11.0-master-SNAPSHOT * :1.10 – Clojure 1.10 * :1.9 – Clojure 1.9.0 * … back to :1.2

There are aliases to pull in various useful testing and debugging tools: * :test – adds both test and src/test/clojure to your classpath and pulls in the latest stable version of test.check * :runner – pulls in Cognitect Labs' test-runner project and runs any tests it can find * :eastwood – pulls in the latest stable release of Eastwood on your src and test folders; use with :test above * :expect – pulls in the latest stable release of Expectations * :bench – pulls in the latest stable release of Criterium for benchmarking your code * :measure – pulls in the latest stable release of Memory Meter * :outdated – pulls in and runs the latest stable release of Depot and reports on outdated dependencies

There are aliases to pull in and start various REPL-related tools: * :nrepl – pulls in the latest stable release of nREPL and starts an nREPL server on a random available port * :nrepl/old – pulls in the latest stable release of org.clojure/tools.nrepl and starts an nREPL server on port 60606; this is provided to support legacy tooling * :socket – starts a Socket REPL on port 50505; can be combined with other aliases since this is just a JVM option * :prepl – starts a Socket pREPL on port 40404; can be combined with other aliases since this is just a JVM option; requires a recent Clojure 1.10 build! * :proto – adds the latest stable release of the protorepl library for Atom/ProtoREPL usage (with :nrepl or :nrepl/old) * :rebel – starts a Rebel Readline REPL * :reflect – adds Stuart Halloway's reflector utility (best used with REBL) * :rebl-8 – starts Cognitect's REBL (if you have it installed); compatible with OracleJDK 8 (which includes JavaFX) * :rebl-11 – starts Cognitect's REBL (if you have it installed); compatible with OpenJDK 11 * :comp – adds the latest stable release of compliment; useful with a Socket REPL for Unravel or Chlorine for Atom

An alias for the Liquid Clojure editor: * :liquid – pulls in and runs the latest stable release of Liquid

For the add-lib function (clojure.tools.deps.alpha.repl/add-lib): * :deps – pulls in a branch of org.clojure/tools.deps.alpha; see the example load-master function in the comments in my deps.edn

An alias to pull in my template creation tool: * :new – pulls in and runs the latest stable release of clj-new to create new projects from (Leiningen and other) templates

An alias to build uberjar files: * :uberjar – pulls in and runs the latest stable release of my fork of depstar to create an uberjar; clj -A:uberjar MyProject.jar; java -cp MyProject.jar clojure.main -m project.core * :jar – pulls in and runs the latest stable release of my fork of depstar to create a “thin” JAR; clj -A:jar MyProject.jar; along with a pom.xml (created via clj -Spom), this can be deployed to Clojars etc (via mvn deploy:deploy-file ...)

And finally, a gnarly little macro, inspired by Ruby's -pne command line option that lets you process lines of standard input: * :pnecat file-of-numbers.txt | clj -Mpne -e '($ (-> $_ Long/parseLong inc))'; $ reads stdin and evaluates the expression repeatedly with $_ bound to each line, printing the results to stdout