Builds JARs, uberjars, does AOT, manifest generation, etc for deps.edn
projects (forked from healthfinch/depstar and enhanced).
The latest versions on Clojars and on cljdoc:
The documentation on cljdoc.org is for the current version of depstar
:
- Getting Started
- Building a Library JAR
- Building an Application JAR
- Feedback via issues or in the
#depstar
channel on the Clojurians Slack.
The documentation on GitHub is for develop since the 2.1.278 release -- see the CHANGELOG and then read the corresponding updated documentation on GitHub if you want.
This project follows the version scheme MAJOR.MINOR.COMMITS where MAJOR and MINOR provide some relative indication of the size of the change, but do not follow semantic versioning. In general, all changes endeavor to be non-breaking (by moving to new names rather than by breaking existing names). COMMITS is an ever-increasing counter of commits since the beginning of this repository.
Add depstar
via one or more aliases in your project deps.edn
or user-level deps.edn
(in ~/.clojure/
or ~/.config/clojure/
):
{
:aliases {
;; build an uberjar (application) with AOT compilation by default:
:uberjar {:replace-deps {com.github.seancorfield/depstar {:mvn/version "2.1.278"}}
:exec-fn hf.depstar/uberjar
:exec-args {:aot true}}
;; build a jar (library):
:jar {:replace-deps {com.github.seancorfield/depstar {:mvn/version "2.1.278"}}
:exec-fn hf.depstar/jar
:exec-args {}}
}
}
Create an (application) uberjar by invoking depstar
with the desired jar name:
clojure -X:uberjar :jar MyProject.jar
An uberjar created by that command can be run as follows:
java -cp MyProject.jar clojure.main -m project.core
Create a (library) jar by invoking depstar
with the desired jar name:
clojure -X:jar :jar MyLib.jar
For more detail, read Getting Started and the applicable sections of the documentation.
The use and distribution terms for this software are covered by the Eclipse Public License 2.0