When distributing software it is a legal requirement to also distribute the licenses for that software. Licenses Assemble checks the licenses of project dependencies (via clojure.tools....) and
Download from https://github.com/practicalli/licenses-assemble
Run the greet function via :exec-fn
:
$ clojure -X:greet
Hello, Clojure!
Run the greet function with arguments, overriding the name to be greeted:
$ clojure -X:greet :name '"Someone"'
Hello, Someone!
Run the -main
function of the project via :main-opts
(-m practicalli.licenses-assemble
):
$ clojure -M:main
Hello, World!
Run the -main
function of the project with arguments, overriding the name to be greeted:
$ clojure -M:main Via-Main
Hello, Via-Main!
Run the project's tests (they'll fail until you edit them):
$ clojure -T:build test
this fails, probably because I renamed the aliases
Run the project's CI pipeline and build an uberjar (this will fail until you edit the tests to pass):
$ clojure -T:build ci
This will produce an updated pom.xml
file with synchronized dependencies inside the META-INF
directory inside target/classes
and the uberjar in target
. You can update the version (and SCM tag)
information in generated pom.xml
by updating build.clj
.
If you don't want the pom.xml
file in your project, you can remove it. The ci
task will
still generate a minimal pom.xml
as part of the uber
task, unless you remove version
from build.clj
.
Run that uberjar:
$ java -jar target/licenses-assemble-0.1.0-SNAPSHOT.jar
If you remove version
from build.clj
, the uberjar will become target/licenses-assemble-standalone.jar
.
Copyright © 2022 Practicalli
Distributed under the Creative Commons Attribution Share-Alike 4.0 International