Repository navigation
Closed
Labels
area:buildGradle, CI, packaging, releaseGradle, CI, packaging, releasebacklogNot yet scheduledNot yet scheduledenhancementNew feature or requestNew feature or request
Description
Part of #17. Design: docs/design.md §7.
Scope
The build every other slice compiles in.
- Gradle (wrapper checked in) with a Java 21 toolchain. Not raised, no
--enable-preview, nogradle.propertiesoverriding the toolchain. - The engine pin. One
relixEngineVersionin the root build.developtracks1.0.0-SNAPSHOTfrom Central's snapshot repository (https://central.sonatype.com/repository/maven-snapshots/), which relix-core publishes on every push to itsdevelop. The CLI's needs then reach the engine before 1.0.0-rc8 is cut (relix-core milestone 1.0.0-rc8). The snapshot repository is added only when the pin is a snapshot.- Releases resolve from Maven Central.
- A
checkEnginePintask incheckfails a release build that pins a-SNAPSHOT.
- The engine's artifacts (Publish the engine as smaller artifacts: relix, relix-docs, relix-solver-ojalgo, and a relix-all bundle relix-core#84):
relixfor the command and the library;relix-docsforrelix-console's reference-page index;relix-solver-ojalgoat runtime only, so the command'sOPTIMIZEandCOVER EXACTwork. - Building against a local engine checkout documented as a Gradle composite build (
includeBuild). - A boundary test. Every source set, tests included, may use only the packages the engine jar's module descriptor exports. The modular build gets this from the compiler; the test covers what runs on a class path.
- CI on GitHub Actions for every pull request and every push to
main/develop:./gradlew clean buildon Linux, macOS and Windows- Dependabot for Gradle and Actions
- Javadoc in
check, with dangling references an error. - Coverage through JaCoCo.
- CONTRIBUTING.md gains the build gate commands.
Dependencies
- Publish the engine as smaller artifacts: relix, relix-docs, relix-solver-ojalgo, and a relix-all bundle relix-core#84 published to the snapshot repository.
Acceptance
- A clean checkout builds green on all three platforms in CI.
- The boundary test fails on a deliberate import of a non-exported engine package; that is probed once when written.
checkEnginePinfails a release version pinned to a snapshot.
Metadata
Metadata
Assignees
Labels
area:buildGradle, CI, packaging, releaseGradle, CI, packaging, releasebacklogNot yet scheduledNot yet scheduledenhancementNew feature or requestNew feature or request
Activity
Add the Gradle build, the engine pin, the boundary test and CI
david-Darkcollective commentedon Oct 7, 2026
Done in #19, merged to develop as 1bb35e6.
Add the Gradle build, the engine pin, the boundary test and CI