В версиях Leiningen 1.x.x мне удалось определить задачу lein foo
, действительную только в одном проекте, поставив в этом проекте project.clj
следующее:
(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.xx я больше не могу этого делать (т.е. я получаю 'foo' is not a task.
Кажется, путь, способ переусердствовать, чтобы мне пришлось запускать отдельный проект для этой задачи. можно определить задачу в project.clj для leiningen 2.xx?