Proyecto Leiningen Plugin

En las versiones 1.x.x de Leiningen pude definir unlein foo tarea válida solo en un solo proyecto colocando lo siguiente en ese proyectoproject.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))

Puedes obtener un poco más de información aquí:

http://nakkaya.com/2010/02/25/writing-leiningen-plugins-101/

En 2.x.x, ya no puedo hacer esto (es decir, me sale'foo' is not a task. Parece que es una manera excesiva tener que comenzar un proyecto separado para esta tarea.¿Es posible definir una tarea dentro de project.clj para leiningen 2.x.x?

Respuestas a la pregunta(2)

Su respuesta a la pregunta