gradle-clojure is a Gradle plugin supporting Clojure and (now) ClojureScript development.
The 0.4.0 release adds support for ClojureScript compilation and Figwheel Main.
For those not familiar with Gradle, it’s a JVM-based build tool that supports many JVM (and not) languages. It has a large
plugin ecosystem and is used by many companies with existing JVM codebases.
The goals of gradle-clojure are to:
- Allow existing users of Gradle to add Clojure into their environments without switching build tools.
- Try to provide the creature comforts of Leiningen and Boot in Gradle.
Current features include:
- clojure.test execution (as part of Gradle’s existing infrastructure)
- Clojure AOT compilation
- uberjar packaging
- ClojureScript compilation
- nREPL server (including Figwheel Main support)
- project templates (leveraging clj-new)
See our documentation (which is definitely in need of improvement) for details on how to use the plugin. If you have further questions, visit the ClojureVerse gradle-clojure category or the #gradle Clojurian’s Slack channel.
Thanks to Colin Fleming for the initial code and Piotrek Bzdyl for his significant contributions (most notably the first cut of this ClojureScript support)!