This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 2153b13  First cut of a migration guide
2153b13 is described below

commit 2153b1327eeb4ed86f42c7a60ea29fd3f6444f17
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Jan 29 09:11:37 2019 +0100

    First cut of a migration guide
---
 MIGRATION.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/MIGRATION.md b/MIGRATION.md
new file mode 100644
index 0000000..9ea8d8a
--- /dev/null
+++ b/MIGRATION.md
@@ -0,0 +1,66 @@
+Apache Camel 3 Migration Guide
+==============================
+
+This document is intended for helping you migrate your Apache Camel 
applications
+from version 2.x to 3.0.
+
+Before you start
+----------------
+
+// TODO when we drop Java8
+// TODO Apache Camel 3 requires Java 11. Java 8 are no longer supported.
+
+Modularization of camel-core
+----------------------------
+
+One of the biggest change is the modularization of camel-core.
+In Camel 2.x camel-core was one JAR file, which now has been splitup into many 
JARs as follows:
+
+TODO: as table of all the modules
+- camel-core
+- camel-api
+ 
+Maven users of Apache Camel can keep using the dependency *camel-core* which 
will have transitive dependency on all of its modules, and therefore no 
migration is needed.
+However users whom wants to trim the size of the classes on the classpath, can 
use fine grained Maven dependency on only the modules needed.
+
+TODO: we need camel-core-minimal dependecy for just basic Camel
+
+
+Migrating custom components
+---------------------------
+
+You should depend on `camel-support` and not `camel-core` directly.
+
+The classes from `org.apache.camel.impl` that was intended to support Camel 
developers building custom components has been moved out of `camel-core` into 
`camel-support` into the `org.apache.camel.support` package. For example 
classes such as `DefaultComponent`, `DefaultEndpoint` etc has been moved and 
migration is nessasary.
+
+// TODO: Should we create a camel2-support JAR with an adapter to bridge 
between 2.x and 3.0
+
+Deprecated APIs and Components
+------------------------------
+
+All deprecated APIs and components from Camel 2.x has been removed in Camel 3.
+
+Migration Camel applications
+----------------------------
+
+The following API changes may affect your existing Camel applications, which 
needs to be migrated.
+
+### Moved APIs
+
+TODO: Should this be a table?
+TODO: Add the other moved classes/packages etc
+
+The classes from `org.apache.camel.impl` that was intended to support Camel 
developers building custom components has been moved out of `camel-core` into 
`camel-support` into the `org.apache.camel.support` package. If you have built 
custom Camel components that may have used some of these APIs you would then 
need to migrate.
+
+All the classes in `org.apache.camel.util.component` has been moved from the 
camel-core JAR to the package `org.apache.camel.support.component` in the 
`camel-support` JAR.
+
+The class `FileIdempotentRepository` has been moved from 
`org.apache.camel.processor.idempotent.FileIdempotentRepository` in the 
camel-core JAR to 
`org.apache.camel.support.processor.idempotent.FileIdempotentRepository` and 
moved to the `camel-suppor` JAR.
+
+The class `MemoryIdempotentRepository` has been moved from 
`org.apache.camel.processor.idempotent.MemoryIdempotentRepository` in the 
camel-core JAR to 
`org.apache.camel.support.processor.idempotent.MemoryIdempotentRepository` and 
moved to the `camel-suppor` JAR.
+
+The class `XsltAggregationStrategy` has been moved from 
`org.apache.camel.builder.XsltAggregationStrategy` in the camel-core JAR to 
`org.apache.camel.component.xslt.XsltAggregationStrategy` and moved to the 
`camel-xslt` JAR.
+
+The method `xslt` has been removed from 
`org.apache.camel.builder.AggregationStrategies`. Instead use the 
`XsltAggregationStrategy` from `camel-xslt` JAR directly.
+
+The getter/setter for `bindingMode` on `RestEndpoint` has been changed to use 
type `org.apache.camel.spi.RestConfiguration.RestBindingMode` from `camel-api` 
JAR. Instead of using this type class you can also call the setter method with 
string type instead.
+

Reply via email to