diff --git a/docs/src/modules/ROOT/pages/enterprise-edition/enterprise-edition.adoc b/docs/src/modules/ROOT/pages/enterprise-edition/enterprise-edition.adoc
index c39a1bc1cc..e2c96a0e53 100644
--- a/docs/src/modules/ROOT/pages/enterprise-edition/enterprise-edition.adoc
+++ b/docs/src/modules/ROOT/pages/enterprise-edition/enterprise-edition.adoc
@@ -24,7 +24,13 @@ source code of the Enterprise Edition https://github.com/TimefoldAI/timefold-sol
In order to switch from Timefold Solver Community Edition to Enterprise Edition,
first reference the Enterprise Edition Maven repository in your project.
-If you use Maven, add the following repository to your `pom.xml`:
+
+[tabs]
+====
+Maven::
++
+--
+Add the following repository to your `pom.xml`:
[source,xml,options="nowrap"]
----
@@ -40,8 +46,11 @@ If you use Maven, add the following repository to your `pom.xml`:
...
----
-
-If you use Gradle, add the following in your `build.gradle`:
+--
+Gradle::
++
+--
+Add the following in your `build.gradle`:
[source,groovy,options="nowrap"]
----
@@ -52,6 +61,8 @@ repositories {
}
}
----
+--
+====
Having done that the above, replace references to Community Edition artifacts by their Enterprise Edition counterparts
as shown in the table below.
diff --git a/docs/src/modules/ROOT/pages/introduction/introduction.adoc b/docs/src/modules/ROOT/pages/introduction/introduction.adoc
index a0ebca5254..00728415d6 100644
--- a/docs/src/modules/ROOT/pages/introduction/introduction.adoc
+++ b/docs/src/modules/ROOT/pages/introduction/introduction.adoc
@@ -183,7 +183,12 @@ but we're just not entirely comfortable yet to write their signatures in stone.
The Timefold Solver jars are available in https://central.sonatype.com/namespace/ai.timefold.solver[the central maven repository].
-If you use Maven, add a dependency to `timefold-solver-core` in your `pom.xml`:
+[tabs]
+====
+Maven::
++
+--
+Add a dependency to `timefold-solver-core` in your `pom.xml`:
[source,xml,options="nowrap"]
----
@@ -225,8 +230,11 @@ when adding other timefold dependencies later on:
----
-
-If you use Gradle, add a dependency to `timefold-solver-core` in your `build.gradle`:
+--
+Gradle::
++
+--
+Add a dependency to `timefold-solver-core` in your `build.gradle`:
[source,groovy,options="nowrap"]
----
@@ -234,7 +242,8 @@ dependencies {
implementation 'ai.timefold.solver:timefold-solver-core:...'
}
----
-
+--
+====
See also how to xref:enterprise-edition/enterprise-edition.adoc#switchToEnterpriseEdition[switch To Enterprise Edition].
[#useWithOtherBuildTools]
@@ -244,23 +253,29 @@ See also how to xref:enterprise-edition/enterprise-edition.adoc#switchToEnterpri
Quickly upgrade your source code to the latest and greatest version of Timefold Solver,
run this command:
-Maven:
-
+[tabs]
+====
+Maven::
++
+--
[source,shell,subs=attributes+]
----
$ mvn org.openrewrite.maven:rewrite-maven-plugin:LATEST:run \
-Drewrite.recipeArtifactCoordinates=ai.timefold.solver:timefold-solver-migration:{timefold-solver-version} \
-Drewrite.activeRecipes=ai.timefold.solver.migration.ToLatest
----
-
-Gradle:
-
+--
+Gradle::
++
+--
[source,shell,subs=attributes+]
----
$ curl https://timefold.ai/product/upgrade/upgrade-timefold.gradle > upgrade-timefold.gradle
$ gradle -Dorg.gradle.jvmargs=-Xmx2G --init-script upgrade-timefold.gradle rewriteRun -DtimefoldSolverVersion={timefold-solver-version}
$ rm upgrade-timefold.gradle
----
+--
+====
It automatically replaces deprecated methods with better alternatives.
Run your tests and commit the changes.
diff --git a/docs/src/modules/ROOT/pages/quickstart/hello-world/hello-world-quickstart.adoc b/docs/src/modules/ROOT/pages/quickstart/hello-world/hello-world-quickstart.adoc
index 9853e44f92..26848f0853 100644
--- a/docs/src/modules/ROOT/pages/quickstart/hello-world/hello-world-quickstart.adoc
+++ b/docs/src/modules/ROOT/pages/quickstart/hello-world/hello-world-quickstart.adoc
@@ -94,7 +94,7 @@ Create a Maven or Gradle build file and add these dependencies:
Maven::
+
--
-If you choose Maven, your `pom.xml` file has the following content:
+Your `pom.xml` file has the following content:
[source,xml,subs=attributes+]
----
@@ -167,7 +167,7 @@ If you choose Maven, your `pom.xml` file has the following content:
Gradle::
+
--
-In Gradle, your `build.gradle` file has this content:
+Your `build.gradle` file has this content:
[source,groovy,subs=attributes+]
----
diff --git a/docs/src/modules/ROOT/pages/quickstart/quarkus/quarkus-quickstart.adoc b/docs/src/modules/ROOT/pages/quickstart/quarkus/quarkus-quickstart.adoc
index 4ba6d642e1..62b93ce8a0 100644
--- a/docs/src/modules/ROOT/pages/quickstart/quarkus/quarkus-quickstart.adoc
+++ b/docs/src/modules/ROOT/pages/quickstart/quarkus/quarkus-quickstart.adoc
@@ -84,7 +84,12 @@ $ mvn io.quarkus:quarkus-maven-plugin:{quarkus-version}:create \
$ cd timefold-solver-quickstart
----
-If you choose Maven, your `pom.xml` file has the following content:
+[tabs]
+====
+Maven::
++
+--
+Your `pom.xml` file has the following content:
[source,xml,subs=attributes+]
----
@@ -168,8 +173,11 @@ If you choose Maven, your `pom.xml` file has the following content:
----
-
-On the other hand, in Gradle, your `build.gradle` file has this content:
+--
+Gradle::
++
+--
+Your `build.gradle` file has this content:
[source,groovy,subs=attributes+]
----
@@ -218,6 +226,8 @@ test {
systemProperty "java.util.logging.manager", "org.jboss.logmanager.LogManager"
}
----
+--
+====
include::../school-timetabling/school-timetabling-model.adoc[leveloffset=+1]
include::../school-timetabling/school-timetabling-constraints.adoc[leveloffset=+1]
@@ -352,6 +362,11 @@ To test each constraint in isolation, use a `ConstraintVerifier` in unit tests.
It tests each constraint's corner cases in isolation from the other tests,
which lowers maintenance when adding a new constraint with proper test coverage.
+[tabs]
+====
+Maven::
++
+--
Add a `timefold-solver-test` dependency in your `pom.xml`:
[source,xml]
----
@@ -366,13 +381,18 @@ Add a `timefold-solver-test` dependency in your `pom.xml`:
test
----
-
-For Gradle, add the subsequent dependencies to your `build.gradle`:
+--
+Gradle::
++
+--
+Add the subsequent dependencies to your `build.gradle`:
[source,groovy,subs=attributes+]
----
testImplementation "io.quarkus:quarkus-junit5"
testImplementation "ai.timefold.solver:timefold-solver-test"
----
+--
+====
Create the `src/test/java/org/acme/schooltimetabling/solver/TimetableConstraintProviderTest.java` class:
diff --git a/docs/src/modules/ROOT/pages/quickstart/spring-boot/spring-boot-quickstart.adoc b/docs/src/modules/ROOT/pages/quickstart/spring-boot/spring-boot-quickstart.adoc
index 76286e2459..a91130cdd0 100644
--- a/docs/src/modules/ROOT/pages/quickstart/spring-boot/spring-boot-quickstart.adoc
+++ b/docs/src/modules/ROOT/pages/quickstart/spring-boot/spring-boot-quickstart.adoc
@@ -67,7 +67,12 @@ Create a Spring Boot application with the following dependencies:
* Spring Web (`spring-boot-starter-web`)
* Timefold Solver (`timefold-solver-spring-boot-starter`)
-If you choose Maven, your `pom.xml` file has the following content:
+[tabs]
+====
+Maven::
++
+--
+Your `pom.xml` file has the following content:
[source,xml,subs=attributes+]
----
@@ -126,8 +131,11 @@ If you choose Maven, your `pom.xml` file has the following content:
----
-
-On the other hand, in Gradle, your `build.gradle` file has this content:
+--
+Gradle::
++
+--
+Your `build.gradle` file has this content:
[source,groovy,subs=attributes+]
----
@@ -159,6 +167,8 @@ test {
useJUnitPlatform()
}
----
+--
+====
include::../school-timetabling/school-timetabling-model.adoc[leveloffset=+1]
include::../school-timetabling/school-timetabling-constraints.adoc[leveloffset=+1]
@@ -312,7 +322,11 @@ To test each constraint in isolation, use a `ConstraintVerifier` in unit tests.
It tests each constraint's corner cases in isolation from the other tests,
which lowers maintenance when adding a new constraint with proper test coverage.
-
+[tabs]
+====
+Maven::
++
+--
Add the folllowing dependencies to your `pom.xml`:
[source,xml]
----
@@ -327,13 +341,18 @@ Add the folllowing dependencies to your `pom.xml`:
test
----
-
-For Gradle, add the subsequent dependencies to your `build.gradle`:
+--
+Gradle::
++
+--
+Add the subsequent dependencies to your `build.gradle`:
[source,groovy,subs=attributes+]
----
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("ai.timefold.solver:timefold-solver-test")
----
+--
+====
Create the `src/test/java/org/acme/schooltimetabling/solver/TimetableConstraintProviderTest.java` class: