Upgrade to the latest Timefold Solver
Recipe ID
ai.timefold.solver.migration.ToLatestArtifact
org.openrewrite.recipe:rewrite-third-partyReplace all your calls to deleted/deprecated types and methods of Timefold Solver with their proper alternatives.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe ai.timefold.solver.migration.ToLatestIf the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:0.44.0Definition
This recipe runs the following recipes in order.
- Migrate from OptaPlanner to Timefold Solver
ai.timefold.solver.migration.FromOptaPlannerToTimefoldSolver - Change property key
org.openrewrite.properties.ChangePropertyKey - Change property key
org.openrewrite.properties.ChangePropertyKey - Change method name
org.openrewrite.java.ChangeMethodName - Change method name
org.openrewrite.java.ChangeMethodName - Change method name
org.openrewrite.java.ChangeMethodName - ScoreManager: explain(), update()
ai.timefold.solver.migration.v8.ScoreManagerMethodsRecipe - Change type
org.openrewrite.java.ChangeType - Score: use shorter getters
ai.timefold.solver.migration.v8.ScoreGettersRecipe - Replace getConstraint*() with getConstraintRef()
ai.timefold.solver.migration.v8.ConstraintRefRecipe - SolverManager: use builder API
ai.timefold.solver.migration.v8.SolverManagerBuilderRecipe - PlanningVariable's
nullableis newly calledunassignedValuesai.timefold.solver.migration.v8.NullableRecipe - Use non-deprecated SingleConstraintAssertion methods
ai.timefold.solver.migration.v8.SingleConstraintAssertionMethodsRecipe - ConstraintStreams: use asConstraint() methods to define constraints
ai.timefold.solver.migration.v8.AsConstraintRecipe - Constraint Streams: don't use package name in the asConstraint() method
ai.timefold.solver.migration.v8.RemoveConstraintPackageRecipe - Recommended Fit API becomes Assignment Recommendation API
ai.timefold.solver.migration.v8.SolutionManagerRecommendAssignmentRecipe - Use non-deprecated related sorting fields and methods
ai.timefold.solver.migration.v8.SortingMigrationRecipe - Use non-deprecated environment constants
ai.timefold.solver.migration.v8.EnvironmentMigrationRecipe - Remove unused imports
org.openrewrite.java.RemoveUnusedImports - Change the Timefold version
ai.timefold.solver.migration.ChangeVersion
Data tables
Structured output this recipe can produce.
- Maven metadata failuresAttempts to resolve maven metadata that failed.
org.openrewrite.maven.table.MavenMetadataFailures - Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats