technomancy/leiningen — pull request #410 by cemerick (2012-02-19 15:45:51+00:00)
Title: Support adding project-local "plugins"

I used to be able to add `:eval-in-leiningen true`, and keep project-local "plugins" in e.g. /test, or some path in `:extra-classpath-dirs`. That no longer works, since the classpath of `:eval-in` `:leiningen` is fixed to lein's bits + actual `:plugins`, and AFAICT, the twain shall ne'er meet.

It's possible that this is has always just been the Wrong Way, but I really like being able to keep project-local build extensions (which often relied upon `:dev-dependencies`, and now `:plugins`) local, rather than maintaining a separate plugin that is only ever going to be used to help build one project.

This is an expansion of what you can have in `:plugins`: either dependency vectors, or string paths; the latter get added to the classpath, and so are equivalent to external plugins obtained via aether.

FWIW, I can certainly imagine this implementation being off base or misguided in some way, but I _think_ the underlying use case is sound.