leiningen/sample.project.clj

47 lines
2.5 KiB
Clojure

;; This is an annotated example of the options that may be set in a
;; project.clj file. It is a fairly contrived example in order to
;; cover all options exhaustively; it shouldn't be considered a
;; representative configuration.
;; The project is named "sample", and its group-id is "org.example".
(defproject org.example/sample "1.0.0-SNAPSHOT" ; version "1.0.0-SNAPSHOT"
;; The descrption is used to allow searchability when uploaded to Clojars.
:description "A sample project"
;; The URL is also metadata that Clojars uses.
:url "http://example.org/sample-clojure-project"
;; Dependencies are listed as [group-id/name version].
:dependencies [[org.clojure/clojure "1.1.0"]
[org.clojure/clojure-contrib "1.1.0"]
[log4j "1.2.15" :exclusions [javax.mail/mail
javax.jms/jms
com.sun.jdmk/jmxtools
com.sun.jmx/jmxri]]]
;; Before fetching dependencies, the contents of the lib/ directory
;; will get deleted unless this is set to true.
:disable-implicit-clean false
;; Dev dependencies are intended for use only during
;; development. Projects that depend on this project will not pull
;; in its dev-dependencies, and they won't be included in the uberjar.
:dev-dependencies [[org.clojure/swank-clojure "1.2.1"]]
;; These namespaces will be AOT-compiled. Needed for gen-class and
;; other Java interop functionality. :namespaces is an alias for this.
:aot [org.example.sample.SampleClass]
;; This namespace will be used as the "main" in the uberjar.
:main [org.example.sample]
;; Emit warnings on all reflection calls.
:warn-on-reflection true
;; Set this in order to only use the :repositories you list below.
:omit-default-repositories true
:repositories { "java.net" "http://download.java.net/maven/2"
"jboss" "http://repository.jboss.com/maven2/"}
;; If you'd rather use a different directory structure, you can set these.
:source-path "src/main/clojure"
:library-path "target/dependency"
:test-path "src/test/clojure"
:resources-path "src/main/resources"
:native-path "src/native" ; where to look for native dependencies
:jar-dir "target/" ; where to place the project's jar file
:jar-name "sample.jar" ; name of the jar produced by 'lein jar'
:uberjar-name "sample-standalone.jar" ; as above for uberjar
;; You can set JVM-level options here.
:jvm-opts "-Xmx1g")