Repository navigation
chore: enforce platform provided solver versions during build of the model w… - #2811
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The snapshot validation test fails with released core versions, and stripping release-candidate suffixes before minimum-version validation can incorrectly accept an artifact below the required version.
2 open issues
What changed in this PR
This PR connects platform-provided solver version limits to model build validation through the Maven plugin and Quarkus extension.
Changes:
- Reads optional version bounds and snapshot policy from platform configuration and writes them to build properties.
- Adds build-time checks for minimum and maximum solver versions and disallowed snapshots.
- Adds property-propagation, version-comparison, and build-failure tests.
| File | Description |
|---|---|
service/tools/maven-plugin/src/test/java/ai/timefold/solver/tools/maven/ConfigureMojoTest.java |
Tests propagation of present and absent version settings. |
service/tools/maven-plugin/src/main/java/ai/timefold/solver/tools/maven/ConfigureMojo.java |
Writes platform version settings to build properties. |
service/tools/maven-plugin/src/main/java/ai/timefold/solver/tools/maven/client/ConfigurationInfo.java |
Adds optional version bounds and snapshot policy fields. |
service/quarkus/deployment/src/test/java/ai/timefold/solver/service/quarkus/deployment/SolverVersionValidationTest.java |
Tests version bounds, ordering, and snapshot handling. |
service/quarkus/deployment/src/test/java/ai/timefold/solver/service/quarkus/deployment/SolverVersionValidationBuildTest.java |
Tests build rejection above the maximum version. |
service/quarkus/deployment/src/test/java/ai/timefold/solver/service/quarkus/deployment/SolverSnapshotValidationBuildTest.java |
Tests build rejection when snapshots are prohibited. |
service/quarkus/deployment/src/main/java/ai/timefold/solver/service/quarkus/deployment/TimefoldModelDescriptorProcessor.java |
Validates the solver version during model augmentation. |
service/quarkus/deployment/pom.xml |
Adds Maven Artifact for version comparison. |
Review effort: Balanced
990b162 to
753c6d3
Compare
753c6d3 to
32c3923
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The new solver-version restrictions can fail deployment builds, but the deployment guide lacks required documentation on limits, inclusive bounds, snapshot handling, and absent-property behavior.
2 open issues
3 resolved since last review
Review effort: Balanced
rsynek
left a comment
There was a problem hiding this comment.
Looks good; one comment inline for your consideration.
…hen maven plugin is used
32c3923 to
35b4b0a
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The new model-build checks lack required user-facing documentation for platform-supplied version limits, inclusive bounds, snapshot policy, and unrestricted behavior when settings are omitted.
2 open issues
1 resolved since last review
Review effort: Balanced


…hen maven plugin is used