在Leiningen 1.x.x版本中,我可以通过将以下内容放入该项目的project.clj
文件中来定义仅在单个项目中有效的lein foo
任务:
```clojure :plugins [[lein-foo "0.1.0-SNAPSHOT"]] ```
(defproject tester "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.4.0"]])
;; Create a task, "foo"
(ns leiningen.foo
(:require (leiningen [uberjar :as uberjar])))
(defn foo [project & args]
(println "Do something here first, then make the uberjar.")
(uberjar/uberjar project))
你可以在这里获取更多信息:
http://nakkaya.com/2010/02/25/writing-leiningen-plugins-101/
在2.x.x版本中,我不再能够做到这一点(即我会收到 'foo' is not a task.
的错误信息)。对于我来说,为此任务启动一个单独的项目似乎有些过度了。 在Leiningen 2.x.x中是否仍然可以在project.clj中定义任务?
project.clj
以完成示例。感谢您的努力。 - charleslparker