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)

Reply via email to