4 ms·
Leiningen, in my experience, is nicely extensible for what I've needed to do. I've got a project that has to pre-compile Protocol Buffer files. To do that, I us
by dj-wonk 12y ago
Leiningen, in my experience, is nicely extensible for what I've needed to do. I've got a project that has to pre-compile Protocol Buffer files. To do that, I use Leiningen profiles.
Have you looked at Leiningen profiles? https://github.com/technomancy/leiningen/blob/stable/doc/PROFILES.md https://github.com/technomancy/leiningen/blob/stable/doc/PRO...
Plugins?
https://github.com/technomancy/leiningen/wiki/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.
- Touche 12y agoYou can't wrap it with your own scripting because compiling is too slow. That's the essential problem, Leiningen has to be the center of your workflow. There's no other (meaningfully productive) way. 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?
- nilved 12y agoFast JVM startup is possible with a preloader like Nailgun. A Leiningen daemon is very easy to create. lein-cljsbuild automatically generates ClojureScript so you can use any editor and refresh your browser. 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.
- dj-wonk 12y agoGrenchman is worth a look too: http://leiningen.org/grench.html http://leiningen.org/grench.html
- DAddYE 12y agoThanks for that! Awesome!
- Touche 12y ago> Fast JVM startup is possible with a preloader like Nailgun. 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.
- jcromartie 12y agoYou can of course just have a scripts/ directory with any kind of script to automate any part of your build or development processes.