Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Building the Clojure Way
branch: master
Failed to load latest commit information.
examples updated to match changes to test-is/are
src/lancet add nested elements for "exec" and "manifest" tasks in a appropriate …
.gitignore Rearrange as lein project.
LICENSE clarifying license
README initial commit
project.clj add nested elements for "exec" and "manifest" tasks in a appropriate …


Dependency-based builds, Clojure Style, with optional Ant underneath
Stuart Halloway
(stu at thinkrelevance dot com)

This is early days. To try it out:

(1) Get the root directory of lancet on your CLASSPATH

(2) Launch Clojure REPL from the examples directory

(3) (load-file "build-clojure.clj")

Targets are functions, so you can call them. They will run only once, however. 
Targets track whether they have been run via a reference in their metadata.
If you read build-clojure.clj and then read the REPL session below you will
have an idea how it all fits together:

user=> (load-file "build-clojure.clj")
#=(var user/jar)
user=> (jar)
    [mkdir] Created dir: /Users/stuart/relevance/personal/tantalus/lancet/examples/classes
    [javac] Compiling 1 source file to classes
      [jar] Building jar: /Users/stuart/relevance/personal/tantalus/lancet/examples/clojure.jar
user=> (jar)
user=> (target-run? jar)
Something went wrong with that request. Please try again.