Using the CLI¶
The builder tool expects to be given at least one task to perform. If you don’t give it one, as in:
--> builder
you’ll see a banner showing the name (and title, if present) of the current project and a note about no tasks being given. It will then show you the set of known languages and the tasks each one makes available. Something like this:
--> builder
Project: my-cool-project -- A project to save the world!
No tasks specified. Available tasks are:
java
init -- Initializes things for a new project, including IntelliJ files.
clean -- Removes build artifacts from other Java tasks.
compile -- Compiles Java source code for the project.
compile-tests -- Compiles any unit tests for the project.
test -- Executes any unit tests for the project.
doc -- Produces javadoc documentation from the Java source in the project.
package -- Packages artifacts for the project.
build -- Build everything in the project.
check-versions -- Verifies the version of each dependency in the project.
sync-ij -- Updates IntelliJ project files to match dependencies in project.yaml.
The builder tool comes with complete online help by doing:
--> builder --help
All the options should be reasonably self-explanatory but here are some details about a few of them that require a bit more information.
--language<name>- Specifying this will act as if the value given were included in the
languagesfield of the project file’sinfoobject. This allows the use of language tasks on an ad-hoc basis, without requiring its physical reference in theproject.yamlfile. This is most useful for things like initializing a brand new project in an empty directory or other such one-off tasks. --verbose- Specifying this option enables more verbose output, both from the builder tool
itself and the languages in use. Specifying it once causes the builder tool itself
to produce more output. Specifying it a second or more times will, in addition,
trigger even more verbose output (if supported) in any tasks used. For example,
specifying
-vvfor a Java project will tell the Java support to include specific verbose-like options. Specifying-vvvfor a Java project will also include its-verbosecommand line option to produce even more verbose output.
--set<name=value>[,…]This is the means by which string values may be assigned to arbitrary names. It is typically used to provide input data for tasks. The value of the
--setoption can be a simplename=valueexpression or a comma-delimited list of them as in:--set key1=value1,key2=value2The option may also be repeated like so:
--set key1=value1 --set key2=value2This is equivalent to the previous example. If a name is repeated, the last value specified wins.
See variables for more details about how the variable mechanism works. Any values set with
--setwill take precedence over all other value sources.
As noted in the online help, all options have both a long and a short form.