apupier commented on code in PR #7993:
URL: https://github.com/apache/camel-quarkus/pull/7993#discussion_r2546499523


##########
docs/modules/ROOT/pages/migration-guide/camel-spring-boot-to-camel-quarkus.adoc:
##########
@@ -0,0 +1,105 @@
+= Camel Spring Boot to Camel Quarkus Migration Guide
+
+This guide helps to migrate from Camel on Spring Boot to Camel on Quarkus.
+
+== Spring Boot to Quarkus non-specific to Camel migration
+
+This part should be relatively minimal for Camel applications. Most of it is 
automated by an 
https://docs.openrewrite.org/recipes/quarkus/spring/springboottoquarkus[OpenRewrite
 recipe].
+
+The command to apply it is
+
+[source,shell]
+---
+mvn -U org.openrewrite.maven:rewrite-maven-plugin:run 
-Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-spring-to-quarkus:RELEASE
 -Drewrite.activeRecipes=org.openrewrite.quarkus.spring.SpringBootToQuarkus 
-Drewrite.exportDatatables=true 
+---
+
+== Maven dependencies
+
+=== Bom dependencies
+
+The `org.apache.camel.springboot:camel-spring-boot-bom` must be replaced by 
`org.apache.camel.quarkus:camel-quarkus-bom`.
+
+The `org.springframework.boot:spring-boot-dependencies` should have been 
replaced by `io.quarkus.platform:quarkus-bom` by the OpenRewrite recipe.
+
+Take care of the versions, in Spring Boot the camel bom version is aligned to 
Camel version, the bom for Camel Quarkus is aligned with Quarkus version.
+
+=== Core dependencies
+
+* Remove parent `spring-boot-starter-parent`
+* Remove `spring-boot-starter-actuator` dependency
+* Replace `org.apache.camel.springboot:camel-spring-boot-starter` by 
`org.apache.camel.quarkus:camel-quarkus-core`
+
+=== Camel component dependency
+
+* Replace `org.apache.camel.springboot:camel-xxx-starter` by 
`org.apache.camel.quarkus:camel-quarkus-xxx`
+* Some dependencies must be added if component is used as they were provided 
by default with Camel Spring Boot, for instance camel-quarkus-timer
+* Note that few components are not available in Camel Quarkus (mainly the 
Spring specific ones)
+
+== Remove "Main" annotated class
+
+If OpenRewirte recipe used, it will have the @QuarkusMain annotation, 
otherwise the @SpringBootApplication. This class can be completely removed. if 
not removed, the application will start but won't discover and start the Camel 
routes.
+
+== Configure Quarkus Maven Plugin
+
+The OpenRewrite recipe should have added the quarkus-maven-plugin but we need 
to add some configuration like this:
+
+[source,xml]
+---
+<plugin> 
+  <groupId>${quarkus.platform.group-id}</groupId>
+  <artifactId>quarkus-maven-plugin</artifactId>
+  <version>${quarkus.platform.version}</version>
+  <extensions>true</extensions>
+  <executions>
+    <execution>
+      <goals>
+        <goal>build</goal>
+        <goal>generate-code</goal>
+        <goal>generate-code-tests</goal>
+     </goals>
+   </execution>
+  </executions>
+</plugin>
+---
+
+== Camel route DSLs
+
+There are no change for Java, Yaml and XML IO DSL.
+
+In case, the Camel Spring XML DSL was used, it needs to be migrated. Please 
see https://camel.apache.org/components/next/others/java-xml-io-dsl.html[Camel 
XML IO DSL documentation]
+
+== Automated tests
+
+Tests annotated with `@CamelSpringBootTest`, `@CamelSpringTest` and 
`@SpringBootTest` must used `@QuarkusTest` instead.
+
+In case of tests which extends `CamelSpringBootTestSupport`, it must be 
replaced by `CamelQuarkusTestsSupport` from `camel-quarkus-junit5` dependency 
(to add to the pom). Note that this solution is working only for JVM mode.
+
+As a reminder and in case of specific cases, see 
https://camel.apache.org/camel-quarkus/next/user-guide/testing.html[Camel 
Quarkus Testing User guide].

Review Comment:
   iI think I need to use an xref here



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to