【发布时间】:2012-09-02 22:59:58
【问题描述】:
在 Leiningen 版本 1.x.x 中,我能够通过将以下内容放入该项目的 project.clj 中来定义仅在单个项目中有效的 lein foo 任务:
(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. 这似乎对我来说太过分了,不得不为这项任务启动一个单独的项目。它仍然是可以在 project.clj 中为 leiningen 2.x.x 定义任务吗?
【问题讨论】: