Federico Mariani created CAMEL-21527:
----------------------------------------
Summary: camel-upgrade-recipes: create a Camel Spring Boot recipe
Key: CAMEL-21527
URL: https://issues.apache.org/jira/browse/CAMEL-21527
Project: Camel
Issue Type: New Feature
Reporter: Federico Mariani
A recipe for Camel Spring Boot users can be added with the following features:
- Upgrade to the Spring Boot version supported by Camel via
UpgradeSpringBoot_3_3
- Upgrade the camel-spring-boot-bom version to the latest released
- provide all the Camel recipes in one place
For example, a recipe for Camel Spring Boot 4.8 would be like this:
{code:yaml}
---
type: specs.openrewrite.org/v1beta/recipe
name: org.apache.camel.upgrade.camel48.CamelSpringBootMigrationRecipe
displayName: Migrates `camel Spring Boot` application to `Camel Spring Boot 4.8`
description: Migrates `camel Spring Boot` application to `Camel Spring Boot 4.8`
recipeList:
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3
- 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.openrewrite.maven.UpgradeDependencyVersion:
groupId: '*camel*'
artifactId: 'camel-spring-boot-bom'
newVersion: 4.8.0
{code}
once we ship a recipe like this, the following configuration can be used in the
pom.xml openrewrite plugin section:
{code:xml}
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>5.46.1</version>
<configuration>
<configLocation>${maven.multiModuleProjectDirectory}/rewrite.yaml</configLocation>
<exportDatatables>true</exportDatatables>
<activeRecipes>
<recipe>org.apache.camel.upgrade.camel48.CamelSpringBootMigrationRecipe</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-spring</artifactId>
<version>5.24.1</version>
</dependency>
<dependency>
<groupId>org.apache.camel.upgrade</groupId>
<artifactId>camel-upgrade-recipes</artifactId>
<version>4.8.0</version>
</dependency>
</dependencies>
</plugin>
{code}
In this case, rewrite-spring:5.24.1 will do the upgrade to the Spring Boot
version supported by Camel 4.8.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)