Skip to content

dicklieber/fdswarm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

782 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FdSwarm

Build Tests Coverage Release License

This project uses Mill as the build tool.

Build and Development Commands

Cleaning

To clean the project build artifacts:

./mill clean

Building

To compile all the modules:

./mill __.compile

Running Tests

To run the project tests:

./mill fdswarm.test.testLocal

Test Coverage Reports

This project uses Scoverage for code coverage.

To generate an HTML coverage report:

./mill fdswarm.scoverage.htmlReport

The report will be available at: out/fdswarm/scoverage/htmlReport.dest/index.html

Releases and Artifacts

To create a new release with downloadable artifacts (JAR, Windows MSI, macOS PKG):

  1. Push a tag to the repository matching the pattern v* (e.g., v1.0.0).
  2. Use three numeric version components in release tags, such as v1.0.0.
  3. The GitHub Action will automatically build the project, run tests, and create a GitHub Release with the artifacts.

Release tags provide the public app version (X.Y.Z). GitHub Actions provides the build number from the workflow run number. Installer metadata uses a three-part installer-safe version for MSI/PKG compatibility, while artifact filenames include the build number, for example FdSwarm-1.0.0-build123-windows-x64.msi.

Artifacts are also available as GitHub Action run artifacts for every build on the main branch.

Using the manager

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.

Logging

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

Documentation

Documentation sources live in docs/src and are rendered with Laika.

./mill docs.site

The generated site is available at out/docs/site.dest/site/index.html. When fdswarm.jar is built after ./mill docs.site, the generated site is packaged into the jar and served from the Help > FDSwarmDocs menu item.