This project uses Mill as the build tool.
To clean the project build artifacts:
./mill cleanTo compile all the modules:
./mill __.compile
To run the project tests:
./mill fdswarm.test.testLocalThis project uses Scoverage for code coverage.
To generate an HTML coverage report:
./mill fdswarm.scoverage.htmlReportThe report will be available at: out/fdswarm/scoverage/htmlReport.dest/index.html
To create a new release with downloadable artifacts (JAR, Windows MSI, macOS PKG):
- Push a tag to the repository matching the pattern
v*(e.g.,v1.0.0). - The GitHub Action will automatically build the project, run tests, and create a GitHub Release with the artifacts.
Artifacts are also available as GitHub Action run artifacts for every build on the main branch.
A manager is available to manage a bunch of instances of fdswarm, on a single host.
./run-manager.sh
Running manager.run keeps that Mill process alive. Using a dedicated MILL_OUTPUT_DIR prevents it from blocking other commands (for example ./mill fdswarm.compile) in another terminal.
For information on how to configure and change log levels, see docs/logging.md.
Other coverage report formats:
- XML Report:
./mill fdswarm.scoverage.xmlReport - Console Report:
./mill fdswarm.scoverage.consoleReport - Cobertura XML:
./mill fdswarm.scoverage.xmlCoberturaReport