What I dislike is the need to run a background task per-project, every time I work on the project. What I would like is either:
1) Faster (sub 500ms) compile times so that I can flexibly use a workflow I prefer.
2) A "Leiningen daemon" that runs when I start my computer and automatically compiles any project.clj files that exist.
3) ClojureScript to build in the browser, so that my workflow can be any text editor + refresh the browser.
Leiningen plugins cannot give me any of those things, correct?
The JVM way of doing things is different but not inferior. You extend Leiningen with Leiningen plugins written in JVM languages, not with external tools. Yes, you can do everything you would ever want to do.
This has never worked for me with Clojure. I'd enjoy a more specific example.
> A Leiningen daemon is very easy to create.
Could you explain more? I specifically want 1 Lein daemon for all projects, not 1 per project. I want to be able to create new projects on the fly. I only want this feature because the ClojureScript build process is too slow to do on demand.
Have you looked at Leiningen profiles? https://github.com/technomancy/leiningen/blob/stable/doc/PRO...
Plugins? https://github.com/technomancy/leiningen/wiki/Plugins
It seems to me that Leiningen is quite active with its extensibility, especially given how young it is.
If those don't work, have you considered wrapping it with your own scripting?
Have you raised your concerns on the mailing list? People would be open to discussing them.