You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Guillaume Nodet <gn...@apache.org> on 2022/12/08 13:22:56 UTC

Re: [HEADS UP] Jakarta 10 migration

I've pushed my work so far.  I've moved the migration tool into a jbang
script as it's way faster. I've also renamed the branches to
  * jarkata/rewrite : branch contain the rewrite script
  * jakarta/rewritten : the branch where the migration is done
  * jakarta/jetty : migration to jetty 11
  * jarkata/salesforce : migration of the salesforce component

The jakarta/rewritten branch should build with tests disabled.
To regenerate this branch, you need to checkout a copy of jarkata/rewrite
and launch the ./jakarta/rewrite.java jbang script, it will rebase on top
of origin/main, so it may be broken in the future.
Note that a few components have been disabled:
  * camel-activemq (no support for jms 3.x)
  * camel-johnzon
  * camel-stomp (no support for jms 3.x)
  * camel-websocket (it depends on an old jetty 9 version)
along with a few other maven modules:
  * init (osgi support is currently removed in the migration)
  * camel-test-infra-activemq (as activemq is removed)
  * camel-test-spring
  * camel-test-cdi
and some of their tests completely disabled (i.e. the test dir point to a
dummy directory so that the tests are not even compiled), because they were
depending on camel-test-infra-activemq:
  * camel-jms
  * camel-sjms
  * camel-sjms2
  * camel-mllp
  * camel-amqp
  * camel-paho

There still is a ton of work to do:
  * maintain this branch : this could be done by using a github action and
run the migration work on each commit in master so that we can see that
nothing has been broken
  * try running / fixing tests in core
  * try running / fixing tests in various components
  * re-enable tests in the JMS based components, the tests should be moved
to use activemq artemis instead
  * check that nothing has slipped through : i.e. i'm thinking about
enforcing that no transitive dependencies contain any package than has been
transitioned to the jakarta namespace

Guillaume

Le ven. 25 nov. 2022 à 22:14, Guillaume Nodet <gn...@apache.org> a écrit :

> I've begun working on the Jakarta 10 migration.
> I tried with a 4.x branch [1], but it's difficult to maintain with the
> number of commits in the main branch.  So I decided to switch to a
> different mechanism.
> I've created several branches upstream :
>  * jakarta-rewrite [2] : contains a migration shell script [3] to be
> executed regularly (I'll try to setup a github action at some point in the
> near future).  This scripts uses perl regular expressions and git to
> perform most of the upgrade.  When executed, the script will first rebase
> on top of the main branch, run the migration and force push to the
> jakarta-rewritten branch
>  * jakarta-rewritten [4] : contains the migrated code. The idea is to have
> it regularly and automatically updated and run to have an idea of the
> current state.  It's not yet buildable !
>   * jarkarta-jetty [5] : contains one commit [6] to be merged as part of
> the migration executed by the script [7].  Other branches may be set up as
> needed.  Those are used for things that can't be done with simple shell
> commands.
>
> I'll keep you posted !
>
> Cheers,
> Guillaume
>
> [1] https://github.com/apache/camel/pull/8579
> [2] https://github.com/apache/camel/tree/jakarta-rewrite
> [3]
> https://github.com/apache/camel/blob/jakarta-rewrite/jakarta/transform.sh
> [4] https://github.com/apache/camel/tree/jakarta-rewritten
> [5] https://github.com/apache/camel/tree/jakarta-jetty
> [6]
> https://github.com/apache/camel/commit/e5aea792291557b86b10eb84b978b381c2d94be6
> [7]
> https://github.com/apache/camel/blob/8c60590d18542665e5048780f674d499f900c604/jakarta/transform.sh#L224
>
> ------------------------
> Guillaume Nodet
>
>

-- 
------------------------
Guillaume Nodet

Re: [HEADS UP] Jakarta 10 migration

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Whoa that is a lot of progress already Guillaume.

We are closing down on 3.20 LTS release. And fingers crossed that Gregor
starts the build release start of next week.
However 3.14.7 is also planned as well.

But when we are in the clear, then we should be able to switch over so
"main" becomes work for v4.
And we create a "camel-3.x" branch for the continuation for v3.
The CI jobs may need some adjustments when we do that.


Do you think that what you have done so far, we can reach to a stage with
just the core camel repo,
we can make a M1 release at the end of January or the start of February?

Having that would be awesome, as that can help make the work for Spring
Boot and Quarkus easier, when all the core bits are working.




On Thu, Dec 8, 2022 at 2:23 PM Guillaume Nodet <gn...@apache.org> wrote:

> I've pushed my work so far.  I've moved the migration tool into a jbang
> script as it's way faster. I've also renamed the branches to
>   * jarkata/rewrite : branch contain the rewrite script
>   * jakarta/rewritten : the branch where the migration is done
>   * jakarta/jetty : migration to jetty 11
>   * jarkata/salesforce : migration of the salesforce component
>
> The jakarta/rewritten branch should build with tests disabled.
> To regenerate this branch, you need to checkout a copy of jarkata/rewrite
> and launch the ./jakarta/rewrite.java jbang script, it will rebase on top
> of origin/main, so it may be broken in the future.
> Note that a few components have been disabled:
>   * camel-activemq (no support for jms 3.x)
>   * camel-johnzon
>   * camel-stomp (no support for jms 3.x)
>   * camel-websocket (it depends on an old jetty 9 version)
> along with a few other maven modules:
>   * init (osgi support is currently removed in the migration)
>   * camel-test-infra-activemq (as activemq is removed)
>   * camel-test-spring
>   * camel-test-cdi
> and some of their tests completely disabled (i.e. the test dir point to a
> dummy directory so that the tests are not even compiled), because they were
> depending on camel-test-infra-activemq:
>   * camel-jms
>   * camel-sjms
>   * camel-sjms2
>   * camel-mllp
>   * camel-amqp
>   * camel-paho
>
> There still is a ton of work to do:
>   * maintain this branch : this could be done by using a github action and
> run the migration work on each commit in master so that we can see that
> nothing has been broken
>   * try running / fixing tests in core
>   * try running / fixing tests in various components
>   * re-enable tests in the JMS based components, the tests should be moved
> to use activemq artemis instead
>   * check that nothing has slipped through : i.e. i'm thinking about
> enforcing that no transitive dependencies contain any package than has been
> transitioned to the jakarta namespace
>
> Guillaume
>
> Le ven. 25 nov. 2022 à 22:14, Guillaume Nodet <gn...@apache.org> a écrit
> :
>
> > I've begun working on the Jakarta 10 migration.
> > I tried with a 4.x branch [1], but it's difficult to maintain with the
> > number of commits in the main branch.  So I decided to switch to a
> > different mechanism.
> > I've created several branches upstream :
> >  * jakarta-rewrite [2] : contains a migration shell script [3] to be
> > executed regularly (I'll try to setup a github action at some point in
> the
> > near future).  This scripts uses perl regular expressions and git to
> > perform most of the upgrade.  When executed, the script will first rebase
> > on top of the main branch, run the migration and force push to the
> > jakarta-rewritten branch
> >  * jakarta-rewritten [4] : contains the migrated code. The idea is to
> have
> > it regularly and automatically updated and run to have an idea of the
> > current state.  It's not yet buildable !
> >   * jarkarta-jetty [5] : contains one commit [6] to be merged as part of
> > the migration executed by the script [7].  Other branches may be set up
> as
> > needed.  Those are used for things that can't be done with simple shell
> > commands.
> >
> > I'll keep you posted !
> >
> > Cheers,
> > Guillaume
> >
> > [1] https://github.com/apache/camel/pull/8579
> > [2] https://github.com/apache/camel/tree/jakarta-rewrite
> > [3]
> >
> https://github.com/apache/camel/blob/jakarta-rewrite/jakarta/transform.sh
> > [4] https://github.com/apache/camel/tree/jakarta-rewritten
> > [5] https://github.com/apache/camel/tree/jakarta-jetty
> > [6]
> >
> https://github.com/apache/camel/commit/e5aea792291557b86b10eb84b978b381c2d94be6
> > [7]
> >
> https://github.com/apache/camel/blob/8c60590d18542665e5048780f674d499f900c604/jakarta/transform.sh#L224
> >
> > ------------------------
> > Guillaume Nodet
> >
> >
>
> --
> ------------------------
> Guillaume Nodet
>


-- 
Claus Ibsen
-----------------
@davsclaus
Camel in Action 2: https://www.manning.com/ibsen2