Document the build system in CONTRIBUTING.md

This commit adds documentation in the CONTRIBUTING.md file about how to
generate POM, JAR and uberjar files using matchbot's build system.

Signed-off-by: Sebastian Crane <seabass-labrax@gmx.com>
This commit is contained in:
Sebastian Crane 2022-04-24 18:31:26 +01:00
parent bfd321cdb3
commit 93306d6d34
1 changed files with 19 additions and 0 deletions

View File

@ -40,3 +40,22 @@ For example:
> `;; SPDX-FileCopyrightText: 2022 Joe Bloggs <joe@example.com>` > `;; SPDX-FileCopyrightText: 2022 Joe Bloggs <joe@example.com>`
If the copyright to your contributions is held by your employer, put your employer's name in brackets after your own name. If the copyright to your contributions is held by your employer, put your employer's name in brackets after your own name.
## Build system
### Building a POM file
The POM file lists the dependencies needed to run `matchbot` as well as some additional information that can help people learn more about `matchbot`.
To generate a POM file, run `clojure -T:build pom`; you should find the generated `POM.xml` file in the `target/` directory.
### Building a JAR file
A JAR file contains all the source code of `matchbot` in a form that the JVM can load and pass to the Clojure compiler to run.
To generate a JAR file, run `clojure -T:build jar`; again, you should find the JAR file called something like `matchbot-x.x.x.jar` in the `target/` directory.
### Building an uberjar
An uberjar is much like a normal JAR file, but comes with all the dependencies of `matchbot` bundled in it.
This means that it can run directly on the JVM without Clojure being installed (it contains a copy of the Clojure compiler itself).
To generate an uberjar, run `clojure -T:build uber`; you should find the uberjar called something like `matchbot-x.x.x-standalone.jar` in the `target/` directory.
Please note that if you distribute an uberjar, you must not only comply with the licence of `matchbot`, but also the licences of all `matchbot`'s dependencies, both transitive and intransitive.