This is an automated email from the ASF dual-hosted git repository.
jiriondrusek pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-upgrade-recipes.git
The following commit(s) were added to refs/heads/main by this push:
new 0653c3d Update to openrewrite 3.0 (#22)
0653c3d is described below
commit 0653c3d080345eb8470da2612aef9d2cb8c1a223
Author: Federico Mariani <[email protected]>
AuthorDate: Tue Feb 11 11:17:53 2025 +0100
Update to openrewrite 3.0 (#22)
---
README.adoc | 2 +-
camel-spring-boot-upgrade-recipes/pom.xml | 8 +-
.../main/resources/META-INF/rewrite/latest.yaml | 15 ++--
camel-upgrade-recipes/pom.xml | 10 ++-
.../camel/upgrade/SetupJavaUpgradeJavaVersion.java | 92 ++++++++++++++++++++++
.../apache/camel/upgrade/UpgradeJavaVersion.java | 78 ++++++++++++++++++
.../main/resources/META-INF/rewrite/latest.yaml | 4 +-
.../src/main/resources/META-INF/rewrite/utils.yaml | 52 ++++++++++++
.../apache/camel/upgrade/CamelUpdate46Test.java | 3 +-
.../apache/camel/upgrade/CamelUpdate49Test.java | 34 +++-----
pom.xml | 2 +-
11 files changed, 253 insertions(+), 47 deletions(-)
diff --git a/README.adoc b/README.adoc
index 7464113..6eda190 100644
--- a/README.adoc
+++ b/README.adoc
@@ -14,7 +14,7 @@ To apply recipes on a standalone Camel Project you can use
maven plugin:
```
-mvn -U org.openrewrite.maven:rewrite-maven-plugin:5.42.2:run \
+mvn -U org.openrewrite.maven:rewrite-maven-plugin:6.0.4:run \
-Drewrite.recipeArtifactCoordinates=org.apache.camel.upgrade:camel-upgrade-recipes:4.8.0
\
-DactiveRecipes=org.apache.camel.upgrade.camel44.CamelMigrationRecipe,org.apache.camel.upgrade.camel45.CamelMigrationRecipe
```
diff --git a/camel-spring-boot-upgrade-recipes/pom.xml
b/camel-spring-boot-upgrade-recipes/pom.xml
index c9750f2..c871380 100644
--- a/camel-spring-boot-upgrade-recipes/pom.xml
+++ b/camel-spring-boot-upgrade-recipes/pom.xml
@@ -29,8 +29,8 @@
<properties>
<!-- Use same version as
https://github.com/apache/camel-spring-boot/blob/${project.version}/pom.xml#L111C9-L111C57
-->
- <spring-boot-version>3.4.0</spring-boot-version>
- <springframework-version>6.2.0</springframework-version>
+ <spring-boot-version>3.4.2</spring-boot-version>
+ <springframework-version>6.2.2</springframework-version>
</properties>
<name>Camel Spring Boot Upgrades Recipes</name>
@@ -42,10 +42,6 @@
<artifactId>camel-upgrade-recipes</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.openrewrite.recipe</groupId>
- <artifactId>rewrite-spring</artifactId>
- </dependency>
</dependencies>
<build>
diff --git
a/camel-spring-boot-upgrade-recipes/src/main/resources/META-INF/rewrite/latest.yaml
b/camel-spring-boot-upgrade-recipes/src/main/resources/META-INF/rewrite/latest.yaml
index 1744e4f..3dd3c1b 100644
---
a/camel-spring-boot-upgrade-recipes/src/main/resources/META-INF/rewrite/latest.yaml
+++
b/camel-spring-boot-upgrade-recipes/src/main/resources/META-INF/rewrite/latest.yaml
@@ -21,7 +21,6 @@ displayName: Migrate to Apache Camel Spring Boot
@camel-version@
description: >-
Migrate applications to Apache Camel Spring Boot @camel-version@ and Spring
Boot @spring-boot-version@
recipeList:
- - org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3 # Update once SB
3_4 is released
- org.apache.camel.upgrade.camel410.CamelMigrationRecipe
- org.apache.camel.upgrade.camel49.CamelMigrationRecipe
- org.apache.camel.upgrade.camel47.CamelMigrationRecipe
@@ -29,6 +28,8 @@ recipeList:
- org.apache.camel.upgrade.camel45.CamelMigrationRecipe
- org.apache.camel.upgrade.camel44.CamelMigrationRecipe
- org.apache.camel.upgrade.camel40.CamelMigrationRecipe
+ - org.apache.camel.upgrade.UpgradeToJava17
+ - org.apache.camel.upgrade.JavaVersion17
- org.openrewrite.maven.UpgradeDependencyVersion:
groupId: '*camel*'
artifactId: 'camel-spring-boot-bom'
@@ -45,8 +46,7 @@ recipeList:
groupId: 'org.apache.camel.springboot'
artifactId: 'camel-spring-boot-dependencies'
newVersion: @camel-version@
- # Remove Spring upgrades once
org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_4 is released
- - org.openrewrite.java.dependencies.UpgradeDependencyVersion:
+ - org.openrewrite.maven.UpgradeDependencyVersion:
groupId: org.springframework.boot
artifactId: "*"
newVersion: @spring-boot-version@
@@ -55,7 +55,7 @@ recipeList:
groupId: org.springframework.boot
artifactId: spring-boot-maven-plugin
newVersion: @spring-boot-version@
- - org.openrewrite.java.dependencies.UpgradeDependencyVersion:
+ - org.openrewrite.maven.UpgradeDependencyVersion:
groupId: org.springframework
artifactId: "*"
newVersion: @springframework-version@
@@ -63,9 +63,6 @@ recipeList:
groupId: org.springframework.boot
artifactId: spring-boot-starter-parent
newVersion: @spring-boot-version@
- - org.openrewrite.gradle.plugins.UpgradePluginVersion:
- pluginIdPattern: org.springframework.boot
- newVersion: @spring-boot-version@
- org.openrewrite.maven.RemoveDependency:
- groupId: org.apache.camel.springboot
- artifactId: camel-k-starter
\ No newline at end of file
+ groupId: org.apache.camel.springboot
+ artifactId: camel-k-starter
\ No newline at end of file
diff --git a/camel-upgrade-recipes/pom.xml b/camel-upgrade-recipes/pom.xml
index a40f478..07ebb1a 100644
--- a/camel-upgrade-recipes/pom.xml
+++ b/camel-upgrade-recipes/pom.xml
@@ -59,8 +59,14 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.openrewrite.recipe</groupId>
- <artifactId>rewrite-migrate-java</artifactId>
+ <groupId>org.openrewrite</groupId>
+ <artifactId>rewrite-java-21</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.openrewrite</groupId>
+ <artifactId>rewrite-gradle</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openrewrite</groupId>
diff --git
a/camel-upgrade-recipes/src/main/java/org/apache/camel/upgrade/SetupJavaUpgradeJavaVersion.java
b/camel-upgrade-recipes/src/main/java/org/apache/camel/upgrade/SetupJavaUpgradeJavaVersion.java
new file mode 100644
index 0000000..3636e04
--- /dev/null
+++
b/camel-upgrade-recipes/src/main/java/org/apache/camel/upgrade/SetupJavaUpgradeJavaVersion.java
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.upgrade;
+
+import org.openrewrite.*;
+import org.openrewrite.yaml.JsonPathMatcher;
+import org.openrewrite.yaml.YamlVisitor;
+import org.openrewrite.yaml.tree.Yaml;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class SetupJavaUpgradeJavaVersion extends Recipe {
+
+ @Option(displayName = "Java version",
+ description = "The Java version to upgrade to.",
+ example = "17")
+ Integer minimumJavaMajorVersion;
+
+ @Override
+ public String getDisplayName() {
+ return "Upgrade `actions/setup-java` `java-version`";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Update the Java version used by `actions/setup-java` if it is
below the expected version number.";
+ }
+
+ private static final JsonPathMatcher javaVersion = new
JsonPathMatcher("..steps[?(@.uses =~
'actions/setup-java@v*.*')].with.java-version");
+ private static final Pattern javaVersionPattern =
Pattern.compile("([0-9]+)(\\.[0-9]+)*([-+].*)?");
+
+ @Override
+ public TreeVisitor<?, ExecutionContext> getVisitor() {
+ return Preconditions.check(
+ new FindSourceFiles(".github/workflows/*.yml"),
+ new YamlVisitor<>() {
+ @Override
+ public Yaml visitMappingEntry(Yaml.Mapping.Entry entry,
ExecutionContext ctx) {
+ if (!javaVersion.matches(getCursor())) {
+ return super.visitMappingEntry(entry, ctx);
+ }
+
+ Yaml.Scalar currentValue = (Yaml.Scalar)
entry.getValue();
+
+ // specific versions are allowed by
`actions/setup-java`
+ Matcher matcher =
javaVersionPattern.matcher(currentValue.getValue());
+ if (!matcher.matches()) {
+ return super.visitMappingEntry(entry, ctx);
+ }
+
+ int currentMajorVersion;
+ try {
+ currentMajorVersion =
Integer.parseInt(matcher.group(1));
+ } catch (NumberFormatException ex) {
+ return super.visitMappingEntry(entry, ctx);
+ }
+
+ if (currentMajorVersion >= minimumJavaMajorVersion) {
+ return super.visitMappingEntry(entry, ctx);
+ }
+
+ return super.visitMappingEntry(
+
entry.withValue(currentValue.withValue(String.valueOf(minimumJavaMajorVersion))),
+ ctx
+ );
+ }
+ });
+ }
+
+ public Integer getMinimumJavaMajorVersion() {
+ return minimumJavaMajorVersion;
+ }
+
+ public void setMinimumJavaMajorVersion(Integer minimumJavaMajorVersion) {
+ this.minimumJavaMajorVersion = minimumJavaMajorVersion;
+ }
+}
diff --git
a/camel-upgrade-recipes/src/main/java/org/apache/camel/upgrade/UpgradeJavaVersion.java
b/camel-upgrade-recipes/src/main/java/org/apache/camel/upgrade/UpgradeJavaVersion.java
new file mode 100644
index 0000000..c1e02e2
--- /dev/null
+++
b/camel-upgrade-recipes/src/main/java/org/apache/camel/upgrade/UpgradeJavaVersion.java
@@ -0,0 +1,78 @@
+package org.apache.camel.upgrade;
+
+import org.openrewrite.ExecutionContext;
+import org.openrewrite.Option;
+import org.openrewrite.Recipe;
+import org.openrewrite.TreeVisitor;
+import org.openrewrite.java.JavaIsoVisitor;
+import org.openrewrite.java.marker.JavaVersion;
+import org.openrewrite.maven.UpdateMavenProjectPropertyJavaVersion;
+import org.openrewrite.maven.UseMavenCompilerPluginReleaseConfiguration;
+import org.openrewrite.java.tree.J;
+
+import java.time.Duration;
+import java.util.*;
+
+public class UpgradeJavaVersion extends Recipe {
+
+ @Option(displayName = "Java version",
+ description = "The Java version to upgrade to.",
+ example = "17")
+ Integer version;
+
+ @Override
+ public String getDisplayName() {
+ return "Upgrade Java version";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Upgrade build plugin configuration to use the specified Java
version. " +
+ "This recipe changes `java.toolchain.languageVersion` in
`build.gradle(.kts)` of gradle projects, " +
+ "or maven-compiler-plugin target version and related settings.
" +
+ "Will not downgrade if the version is newer than the specified
version.";
+ }
+
+ @Override
+ public List<Recipe> getRecipeList() {
+ return Arrays.asList(
+ new UseMavenCompilerPluginReleaseConfiguration(version),
+ new UpdateMavenProjectPropertyJavaVersion(version)
+ );
+ }
+
+ /**
+ * This recipe only updates markers, so it does not correspond to human
manual effort.
+ *
+ * @return Zero estimated time.
+ */
+ @Override
+ public Duration getEstimatedEffortPerOccurrence() {
+ return Duration.ofMinutes(0);
+ }
+
+ @Override
+ public TreeVisitor<?, ExecutionContext> getVisitor() {
+ String newVersion = version.toString();
+ Map<JavaVersion, JavaVersion> updatedMarkers = new HashMap<>();
+ return new JavaIsoVisitor<>() {
+ @Override
+ public J preVisit(J tree, ExecutionContext ctx) {
+ Optional<JavaVersion> maybeJavaVersion =
tree.getMarkers().findFirst(JavaVersion.class);
+ if (maybeJavaVersion.isPresent() &&
maybeJavaVersion.get().getMajorVersion() < version) {
+ return
tree.withMarkers(tree.getMarkers().setByType(updatedMarkers.computeIfAbsent(maybeJavaVersion.get(),
+ m ->
m.withSourceCompatibility(newVersion).withTargetCompatibility(newVersion))));
+ }
+ return tree;
+ }
+ };
+ }
+
+ public Integer getVersion() {
+ return version;
+ }
+
+ public void setVersion(Integer version) {
+ this.version = version;
+ }
+}
diff --git
a/camel-upgrade-recipes/src/main/resources/META-INF/rewrite/latest.yaml
b/camel-upgrade-recipes/src/main/resources/META-INF/rewrite/latest.yaml
index a8e5c33..6ffb196 100644
--- a/camel-upgrade-recipes/src/main/resources/META-INF/rewrite/latest.yaml
+++ b/camel-upgrade-recipes/src/main/resources/META-INF/rewrite/latest.yaml
@@ -20,13 +20,15 @@ name: org.apache.camel.upgrade.CamelMigrationRecipe
displayName: Migrate to @camel-version@
description: Migrates Apache Camel application to @camel-version@
recipeList:
- - org.openrewrite.java.migrate.UpgradeToJava17
+ - org.apache.camel.upgrade.camel410.CamelMigrationRecipe
- org.apache.camel.upgrade.camel49.CamelMigrationRecipe
- org.apache.camel.upgrade.camel47.CamelMigrationRecipe
- org.apache.camel.upgrade.camel46.CamelMigrationRecipe
- org.apache.camel.upgrade.camel45.CamelMigrationRecipe
- org.apache.camel.upgrade.camel44.CamelMigrationRecipe
- org.apache.camel.upgrade.camel40.CamelMigrationRecipe
+ - org.apache.camel.upgrade.UpgradeToJava17
+ - org.apache.camel.upgrade.JavaVersion17
- org.openrewrite.maven.UpgradeDependencyVersion:
groupId: 'org.apache.camel'
artifactId: '*'
diff --git
a/camel-upgrade-recipes/src/main/resources/META-INF/rewrite/utils.yaml
b/camel-upgrade-recipes/src/main/resources/META-INF/rewrite/utils.yaml
new file mode 100644
index 0000000..6e00f6f
--- /dev/null
+++ b/camel-upgrade-recipes/src/main/resources/META-INF/rewrite/utils.yaml
@@ -0,0 +1,52 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+---
+type: specs.openrewrite.org/v1beta/recipe
+name: org.apache.camel.upgrade.UpgradeToJava17
+displayName: Migrate to Java 17
+description: >
+ This recipe will apply changes commonly needed when migrating to Java 17.
Specifically, for those
+ applications that are built on Java 8, this recipe will update and add
dependencies on J2EE libraries that are no
+ longer directly bundled with the JDK. This recipe will also replace
deprecated API with equivalents when there is a
+ clear migration strategy. Build files will also be updated to use Java 17 as
the target/source and plugins will be
+ also be upgraded to versions that are compatible with Java 17.
+tags:
+ - java17
+recipeList:
+ - org.apache.camel.upgrade.SetupJavaUpgradeJavaVersion:
+ minimumJavaMajorVersion: 17
+ - org.openrewrite.java.RemoveMethodInvocations:
+ methodPattern: java.lang.Runtime traceInstructions(boolean)
+ - org.openrewrite.java.RemoveMethodInvocations:
+ methodPattern: java.lang.System traceMethodCalls(boolean)
+ - org.openrewrite.maven.UpgradePluginVersion:
+ groupId: org.apache.maven.plugins
+ artifactId: maven-checkstyle-plugin
+ newVersion: 3.x
+---
+type: specs.openrewrite.org/v1beta/recipe
+name: org.apache.camel.upgrade.JavaVersion17
+displayName: Change Maven Java version property values to 17
+description: Change maven.compiler.source and maven.compiler.target values to
17.
+tags:
+ - java17
+ - compiler
+recipeList:
+ - org.apache.camel.upgrade.UpgradeJavaVersion:
+ version: 17
+ - org.openrewrite.maven.UseMavenCompilerPluginReleaseConfiguration:
+ releaseVersion: 17
\ No newline at end of file
diff --git
a/camel-upgrade-recipes/src/test/java/org/apache/camel/upgrade/CamelUpdate46Test.java
b/camel-upgrade-recipes/src/test/java/org/apache/camel/upgrade/CamelUpdate46Test.java
index 282467c..0b78b8f 100644
---
a/camel-upgrade-recipes/src/test/java/org/apache/camel/upgrade/CamelUpdate46Test.java
+++
b/camel-upgrade-recipes/src/test/java/org/apache/camel/upgrade/CamelUpdate46Test.java
@@ -222,7 +222,6 @@ public class CamelUpdate46Test implements RewriteTest {
""",
"""
import
org.apache.camel.component.langchain4j.chat.LangChain4jChat;
- import
org.apache.camel.component.langchain4j.chat.LangChain4jChatComponent;
import
org.apache.camel.component.langchain4j.chat.LangChain4jChatOperations;
import
org.apache.camel.component.langchain4j.chat.LangChain4jChatProducer;
@@ -273,7 +272,7 @@ public class CamelUpdate46Test implements RewriteTest {
LangChain4jEmbeddingsConfiguration
langChainEmbeddingsConfiguration;
LangChain4jEmbeddingsConverter
langChainEmbeddingsConverter;
org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsEndpoint
langChainEmbeddingsEndpoint;
-
org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsComponent
langChainEmbeddings;
+
org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings
langChainEmbeddings;
org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsProducer
langChainEmbeddingsProducer;
}
}
diff --git
a/camel-upgrade-recipes/src/test/java/org/apache/camel/upgrade/CamelUpdate49Test.java
b/camel-upgrade-recipes/src/test/java/org/apache/camel/upgrade/CamelUpdate49Test.java
index b7ec599..ae4223a 100644
---
a/camel-upgrade-recipes/src/test/java/org/apache/camel/upgrade/CamelUpdate49Test.java
+++
b/camel-upgrade-recipes/src/test/java/org/apache/camel/upgrade/CamelUpdate49Test.java
@@ -254,37 +254,21 @@ public class CamelUpdate49Test implements RewriteTest {
}
""",
"""
- import org.apache.camel.component.debezium.db2.*;
import
org.apache.camel.component.debezium.configuration.MongodbConnectorEmbeddedDebeziumConfiguration;
+ import
org.apache.camel.component.debezium.configuration.SqlserverConnectorEmbeddedDebeziumConfiguration;
+ import org.apache.camel.component.debezium.db2.*;
+ import
org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration;
import org.apache.camel.component.debezium.mongodb.*;
- import
org.apache.camel.component.debezium.mysql.DebeziumMySqlComponent;
- import
org.apache.camel.component.debezium.mysql.DebeziumMySqlEndpointUriFactory;
+ import org.apache.camel.component.debezium.mysql.*;
import
org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration;
- import
org.apache.camel.component.debezium.oracle.DebeziumOracleComponent;
- import
org.apache.camel.component.debezium.oracle.DebeziumOracleEndpointUriFactory;
+ import org.apache.camel.component.debezium.oracle.*;
import
org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration;
- import
org.apache.camel.component.debezium.postgres.DebeziumPostgresComponent;
- import
org.apache.camel.component.debezium.postgres.DebeziumPostgresEndpointUriFactory;
+ import org.apache.camel.component.debezium.postgres.*;
import
org.apache.camel.component.debezium.postgres.configuration.PostgresConnectorEmbeddedDebeziumConfiguration;
- import
org.apache.camel.component.debezium.sqlserver.DebeziumSqlserverComponent;
- import
org.apache.camel.component.debezium.mysql.DebeziumMySqlComponentConfigurer;
- import
org.apache.camel.component.debezium.mysql.DebeziumMySqlEndpoint;
- import
org.apache.camel.component.debezium.mysql.DebeziumMySqlEndpointConfigurer;
- import
org.apache.camel.component.debezium.oracle.DebeziumOracleComponentConfigurer;
- import
org.apache.camel.component.debezium.oracle.DebeziumOracleEndpoint;
- import
org.apache.camel.component.debezium.oracle.DebeziumOracleEndpointConfigurer;
- import
org.apache.camel.component.debezium.postgres.DebeziumPostgresComponentConfigurer;
- import
org.apache.camel.component.debezium.postgres.DebeziumPostgresEndpoint;
- import
org.apache.camel.component.debezium.postgres.DebeziumPostgresEndpointConfigurer;
- import
org.apache.camel.component.debezium.configuration.SqlserverConnectorEmbeddedDebeziumConfiguration;
- import
org.apache.camel.component.debezium.db2.configuration.Db2ConnectorEmbeddedDebeziumConfiguration;
- import
org.apache.camel.component.debezium.sqlserver.DebeziumSqlserverComponentConfigurer;
- import
org.apache.camel.component.debezium.sqlserver.DebeziumSqlserverEndpoint;
- import
org.apache.camel.component.debezium.sqlserver.DebeziumSqlserverEndpointConfigurer;
- import
org.apache.camel.component.debezium.sqlserver.DebeziumSqlserverEndpointUriFactory;
-
+ import org.apache.camel.component.debezium.sqlserver.*;
+ \s
public class DebeziumTest {
-
+ \s
public void method() {
//db2
Db2ConnectorEmbeddedDebeziumConfiguration conf
= null;
diff --git a/pom.xml b/pom.xml
index 1801b0a..46ea262 100644
--- a/pom.xml
+++ b/pom.xml
@@ -102,7 +102,7 @@
<camel-version>${project.version}</camel-version>
- <rewrite-recipe-bom.version>2.23.1</rewrite-recipe-bom.version>
+ <rewrite-recipe-bom.version>3.0.2</rewrite-recipe-bom.version>
<lombok.version>1.18.34</lombok.version>
<slf4j.version>1.7.36</slf4j.version>