{;; Project paths
:paths ["relative/path1" :path-alias]
;; Project dependencies
:deps {
;; Maven lib
groupId/artifactId$classifier {:mvn/version "1.2.3"
:exclusions [lib1 lib2]}
;; Git lib
gitlib/name {:git/url "https://example.com/repo"
:git/tag "dev"
:git/sha "123abcd"
:deps/root "sub/dir"
:deps/manifest :pom
:exclusions [lib1 lib2]}
;; Local directory
localdir/name {:local/root "path/to/dir"
:deps/manifest :pom
:exclusions [lib1 lib2]}
;; Local jar
localjar/name {:local/root "path/to.jar"
:exclusions [lib1 lib2]}}
;; Aliases give a name to any set of edn data
:aliases {
:alias-name {
:extra-deps {lib coord}
:override-deps {lib coord}
:default-deps {lib coord}
:deps {lib coord}
:replace-deps {lib coord}
:extra-paths ["p1" "p2"]
:paths ["p1" "p2"]
:replace-paths ["p1" "p2"]
:classpath-overrides {lib "path"}
:ns-default namespace
:ns-aliases {alias namespace}
:exec-fn afn/symbol
:exec-args {key val}
:jvm-opts ["opt1" "opt2"]
:main-opts ["opt1" "opt2"]}}
;; Procurer config
:mvn/local-repo "path/to/local-repo"
:mvn/repos {"repo" {:url "https://..."
:releases {:enabled true
:update :daily
:checksum true}
:snapshots {#_same_as_releases}}}
;; Tool publishing
:tools/usage {:ns-default namespace
:ns-aliases {alias namespace}}
;; Lib that requires preparation (compilation) before use
:deps/prep-lib {:ensure "target/classes"
:alias :build
:fn compile}}