depstar
Builds JARs, uberjars, does AOT, manifest generation, etc for deps.edn
projects (forked from healthfinch/depstar and enhanced).
TL;DR
The latest versions on Clojars and on cljdoc:
The documentation on cljdoc.org is for the current version of depstar
(with these new sections coming soon):
- 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.267 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.
Basic Usage
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.267"}}
:exec-fn hf.depstar/uberjar
:exec-args {:aot true}}
;; build a jar (library):
:jar {:replace-deps {com.github.seancorfield/depstar {:mvn/version "2.1.267"}}
: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.
License
The use and distribution terms for this software are covered by the Eclipse Public License 2.0