Description
The Migration to Wicket 10.0 guide contains a number of breaking changes, that users will have to adopt. Examples include merging `wicket-http2` into `wicket-core`, and the associated package change of `PushHeaderItem` to `org.apache.wicket.markup.head.http2`. And while understandably necessary, these nonetheless can be a hurdle for users to adopt.
To help users adopt Wicket 10 and the associated upgrade to Java 17 and Servlet 5+ I propose to add a module containing OpenRewrite migration recipes. For those unfamiliar: OpenRewrite allows you to define migration steps either through Yaml or with Java visitors, and compose these steps to achieve larger migrations. Such migrations have been applied to Wicket before, but they can also be defined and distributed for Apache Wicket users.
As a recent example, migration recipes have been added to Axon Framework. In practice that comes down to the following code changes, which also include instructions on their use: https://github.com/AxonFramework/AxonFramework/pull/2597/files
Wicket 10 migration recipes can include a number of existing recipes that help modernize applications:
The Wicket 10 specific recipes can reuse common building blocks such as ChangeType to adopt package name changes, and RemoveDependency to remove `wicket-http2`.
Technically this wouldn't have to be very difficult initially, even more so when the goal is to assist a migration rather than to achieve a complete migration. The Axon Framework migration can serve as a template, and I'm happy to provide guidance.
Would this be something worth adding to Apache Wicket?