-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathproject.clj
49 lines (44 loc) · 1.75 KB
/
project.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
(defproject com.thelastcitadel/elasticsearch-lang-clojure "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.5.1"]
[org.elasticsearch/elasticsearch "0.90.0.Beta1"]
[org.clojure/tools.logging "0.2.6"]]
:profiles {:dev {:dependencies [[com.spatial4j/spatial4j "0.3"]
[log4j/log4j "1.2.16"]]}}
:aot #{com.thelastcitadel.es.engine
com.thelastcitadel.es.plugin})
(require 'leiningen.compile
'leiningen.uberjar
'leiningen.clean
'leiningen.core.utils
'leiningen.core.classpath)
(def ^:dynamic x false)
(defn package
""
[project]
(leiningen.clean/clean project)
(leiningen.compile/compile project)
(binding [x true]
(leiningen.uberjar/uberjar
(assoc project
:uberjar-name (str (:name project) "-" (:version project) "-plugin" ".jar"))
nil)))
(alter-var-root #'leiningen.core.utils/require-resolve
(fn [f]
(fn [& args]
(if (= '[leiningen.package/package] args)
#'package
(apply f args)))))
(alter-var-root #'leiningen.core.classpath/resolve-dependencies
(fn [f]
(fn [k v & r]
(if x
(apply f k
(update-in v [:dependencies]
(partial remove
(comp (partial = 'org.elasticsearch/elasticsearch) first)))
r)
(apply f k v r)))))