Skip to content

chore: enforce platform provided solver versions during build of the model w… - #2811

Merged
rsynek merged 1 commit into
TimefoldAI:mainfrom
mswiderski:minimal-solver-version-maven-plugin
Nov 9, 2026
Merged

rsynek merged 1 commit into
TimefoldAI:mainfrom
mswiderski:minimal-solver-version-maven-plugin

Conversation

@mswiderski

Copy link
Copy Markdown
Contributor

…hen maven plugin is used

@mswiderski
mswiderski requested review from a team and a balanced review from Copilot November 9, 2026 07:21
@mswiderski mswiderski changed the title enforce platform provided solver versions during build of the model w… chore: enforce platform provided solver versions during build of the model w… Nov 9, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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

@mswiderski
mswiderski force-pushed the minimal-solver-version-maven-plugin branch from 990b162 to 753c6d3 Compare November 9, 2026 07:35
Copilot AI balanced review requested due to automatic review settings November 9, 2026 07:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread service/quarkus/deployment/pom.xml Resolved
@mswiderski
mswiderski force-pushed the minimal-solver-version-maven-plugin branch from 753c6d3 to 32c3923 Compare November 9, 2026 07:56
Copilot AI balanced review requested due to automatic review settings November 9, 2026 07:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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 rsynek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good; one comment inline for your consideration.

@mswiderski
mswiderski force-pushed the minimal-solver-version-maven-plugin branch from 32c3923 to 35b4b0a Compare November 9, 2026 09:03
Copilot AI balanced review requested due to automatic review settings November 9, 2026 09:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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

@rsynek
rsynek merged commit 37eb2b7 into TimefoldAI:main Nov 9, 2026
37 checks passed

This branch was previously deployed

1 inactive deployment
internal — 35b4b0a7 Deployed Nov 9, 2026 by mswiderski via approval_required #5249
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants