The butler project uses Gradle and requires Java 11+, Node.js.
Building the whole
project can be done with
./gradlew build
The project is configured to use the following tools:
- Spotless (configured with the
Google code style) is
used to enforce a consistent code style. The tl;dr is that is that if
building fails because the code does not conform, one should run
./gradlew spotlessApply
. - Checkstyle is also configured to enforce a few additional rules (like requiring Javadoc on public methods).
- Error prone is run on compilation to catch a few common mistakes.
pushd butler-webui
npm run lint
popd
./gradlew spotlessApply
Running all tests includes unit tests and integration tests:
./gradlew check
Integration tests require docker-compose
to be available.
Check if all is properly set up:
./gradlew composeUp && ./gradlew composeDown
Check the option Enable annotation processing
under File | Settings | Build, Execution, Deployment | Compiler | Annotation Processors