Initial commit.
This commit is contained in:
commit
88b53602f7
5 changed files with 68 additions and 0 deletions
41
README.md
Normal file
41
README.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
# Leiningen
|
||||
|
||||
"Leiningen!" he shouted. "You're insane! They're not creatures you can
|
||||
fight--they're an elemental--an 'act of God!' Ten miles long, two
|
||||
miles wide--ants, nothing but ants! And every single one of them a
|
||||
fiend from hell...
|
||||
-- from Leiningen Versus the Ants by Carl Stephenson
|
||||
|
||||
Leiningen is a build tool for Clojure designed to not set your hair on fire.
|
||||
|
||||
## Usage
|
||||
|
||||
$ lein deps # install dependencies in lib/
|
||||
|
||||
$ lein compile # ahead-of-time compile into classes/
|
||||
|
||||
$ lein repl # launch a REPL with the project classpath configured
|
||||
|
||||
$ lein jar # create a jar of the compiled project
|
||||
|
||||
$ lein uberjar # create standalone jar that bundles dependencies too
|
||||
|
||||
## Configuration
|
||||
|
||||
Place a build.clj file in the project root that looks something like this:
|
||||
|
||||
(defproject leiningen
|
||||
:version "1.0-SNAPSHOT"
|
||||
:dependencies [["org.clojure" "clojure" "1.1.0-alpha-SNAPSHOT"]
|
||||
["org.clojure" "clojure-contrib" "1.0-SNAPSHOT"]
|
||||
["org.clojure" "lancet" "1.0-SNAPSHOT"]
|
||||
["org.apache.ant" "ant" "1.7.1"]
|
||||
["org.apache.ant" "ant-launcher" "1.7.1"]
|
||||
["org.apache.maven" "maven-ant-tasks" "2.0.10"]])
|
||||
|
||||
## License
|
||||
|
||||
Copyright (C) 2009 Phil Hagelberg
|
||||
|
||||
Distributed under the Eclipse Public License, the same as Clojure
|
||||
uses. See the file COPYING.
|
1
bin/lein
Normal file
1
bin/lein
Normal file
|
@ -0,0 +1 @@
|
|||
#!/bin/bash
|
13
build.clj
Normal file
13
build.clj
Normal file
|
@ -0,0 +1,13 @@
|
|||
(ns build
|
||||
(:use [leiningen]))
|
||||
|
||||
(defproject leiningen
|
||||
:version "1.0-SNAPSHOT"
|
||||
:dependencies [["org.clojure" "clojure" "1.1.0-alpha-SNAPSHOT"]
|
||||
["org.clojure" "clojure-contrib" "1.0-SNAPSHOT"]
|
||||
["org.clojure" "lancet" "1.0-SNAPSHOT"]
|
||||
["org.apache.ant" "ant" "1.7.1"]
|
||||
["org.apache.ant" "ant-launcher" "1.7.1"]
|
||||
["org.apache.maven" "maven-ant-tasks" "2.0.10"]])
|
||||
|
||||
;; leiningen will define relevant deps, aot, jar, repl, etc tasks
|
1
lib/.gitignore
vendored
Normal file
1
lib/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*
|
12
src/leiningen.clj
Normal file
12
src/leiningen.clj
Normal file
|
@ -0,0 +1,12 @@
|
|||
(ns leiningen
|
||||
(:use [lancet])
|
||||
)
|
||||
|
||||
(require)
|
||||
|
||||
(defmacro defproject [project-name & args]
|
||||
`(def ~project-name (assoc (apply hash-map (quote ~args))
|
||||
:name ~(name project-name))))
|
||||
|
||||
(deftarget deps "Download all the project's dependencies into lib/")
|
||||
|
Loading…
Reference in a new issue