Building with Loom¶
Loom has a very simple command line interface. The usage is:
./loom [option...] [product|goal...]
./loom -h so see the full options reference.
Plugins, tasks products and goals¶
./loom -p prints all products and goals available with your current configuration.
To understand what products and goals are, you should get the full picture:
- A product is the smallest unit in the Loom build chain. It might be a file (e.g. a .jar file), a directory (e.g. compiled classes) or something else.
- A goal is a list of dependent products and goals. It does’t add any functionality / products by itself.
- Every task in Loom is responsible for providing (building/producing) a product.
- A plugin registers one or more tasks to the Loom build chain. A plugin also defines the dependency between products and goals.
You may also want to use
loom -p dot to generate a
.dot file, containing
all the dependencies between the products and goals. This file can be turned into
a graphical representation (e.g.
.png) by using Graphviz.
./loom build requests the
Build just some products¶
./loom jar javadocJar requests the products
./loom -c build requests the
build goal after removing the directories
Build without caches¶
./loom -n build requests the
build goal without writing any caches (or reading existing ones).