Hi team,

I would like to share the next steps I am planning for the modules in the
Apache Aries main repository.

   1.

   *Move Blueprint Maven Plugin (BMP)* to a top-level directory to align
   with our other Maven plugins. BMP is currently inside the Blueprint
   directory, but apart from generating Blueprint bundles, it doesn't have
   much in common with Blueprint itself.
   2.

   *Remove BMP support for Spring and Pax CDI annotations*, but support may
   still be enabled by adding dependencies with annotation handlers in those
   subprojects. I had planned this from the early stages of my work in the
   plugin, and there are now better annotations available to support
   Blueprint-specific elements like Service, Reference, and
   ReferenceListener. This is a breaking change, so a release of version
   2.x is necessary. We should do this not only because of this change but
   also because the minimum Java version is now 8.
   3.

   *Add support for Jakarta Inject and Transaction annotations* in BMP.
   These annotations are now the standard, and we should have built-in support
   for them.
   4.

   *Use BMP in samples and tutorials* – let's show how easy it can be to
   use the plugin to generate Blueprint XML files.

*Release Plan:*

   5.

   I would like to start releasing the changes of our artifacts, with the
   first one being the parent pom. It would be great to do this after the
   Apache parent POM is released, but this is not blocking. I propose version
   3.0.0 since Java 8 is now the minimum required Java version. The bump in
   the minimum Java version will also require a major version bump for all
   artifacts using this POM.
   6.

   The versioning plugin now works with the LTS Java versions, so I think
   the artifacts from the versioning module may be released next.
   7.

   The next release would be BMP, along with all the satellite artifacts
   (annotations and handlers).
   8.

   The web module could also be released.

*Blockers:*

   9.

   I would like to continue working on adding support for Java 11, 17, and
   21 in other modules. I am especially waiting for a review of the proxy
   module updates: PR #414 <https://github.com/apache/aries/pull/414> –
   (especially @jbonofre, please take a look). Merging this PR should unblock
   work in the Blueprint and Subsystem modules.
   10.

   The Application module needs significant attention since its
   implementation uses org.osgi.service.framework from Eclipse Equinox,
   which is available only in versions 3.5 to 3.7 (bug report
   <https://bugs.eclipse.org/bugs/show_bug.cgi?id=345790>). The proper
   replacement should be found, and there will likely be many changes needed
   to make the Application module Eclipse-independent and ready for the
   current LTS Java versions.


-- 
Pozdrawiam / Regards,
Dominik Przybysz

Reply via email to