Uploaded image for project: 'Bloomreach Forge'
  1. Bloomreach Forge
  2. FORGE-517

Upgrade Forge Projects to BrXM v16

    XMLWordPrintable

Details

    • Epic
    • Status: Open
    • Normal
    • Resolution: Unresolved
    • None
    • None
    • None
    • None
    • Upgrade Forge Projects to BrXM v16

    Description

      Upgrade Forge projects at https://github.com/bloomreach-forge to Experience Manager 16.0.0

      Main updates in v16: 

      • JDK 17 Upgrade
      • Spring 6 Upgrade
      • Spring Boot 3 Upgrade
      • Tomcat 10 Upgrade
      • Migration to Wicket 10
      • Replacing Ehcache with Caffeine
      • Migration to Freemarker’s Latest Release
      • Swagger v3 Upgrade
      • Adapting Bloomreach Jackrabbit, Jackson, Servlet 6, JaxRS, Apache Taglibs to Jakarta
      • Upgrading Maven Plugins to Latest Versions

       

      In code base:

      • First check outstanding MRs, dependabot does a lot of security version bumps automatically. If needed, merge, possibly do a release (see how to release section).
      • Make a 'support/CURRENTMAJOR.x' maintenance branch out of current 'develop' then do the upgrade on 'develop' or on separate upgrade branch, based on 'develop'
      • In pom.xml, bump versions not only of Bloomreach XM but check latest for every dependency.
      • In pom.xml, check if Maven plugin versions can be inherited of bumped.
      • In pom.xml, update Maven URLs from onehippo.com to bloomreach.com, if this was not done in the previous upgrade.
      • If present, remove file .travis.yml since the building on travis-ci.org is ceased. Also the possible Build Status reference in the README
      • If present, upgrade (or create new from archetype) demo project in the submodule
      • Use a parent in the pom if not used yet.
      • Document at the project's doc pages, use latest Forge Maven Skin 3.2.1
      • Release as (CURRENTMAJOR+1).0.0, see 'How to release with git flow' https://bloomreach-forge.github.io/using-git-flow.html
      • Document at https://bloomreach-forge.github.io/project-list.html 

      Review all pom.xml files:

      Update Third Party Libraries

      Since this is a major upgrade, including  Java 11 to Java 17, Spring Boot 3 and Spring 6, check and upgrade all third party libraries that are introduced as custom dependency for compatibility.

      The product's root project pom (artifact org.onehippo.cms7:hippo-cms7-project) defines already version management of many of those, such as Apache Commons, Log4J, Http Client, and also test scoped JUnit, Powermock, Mockito and more. Please check your custom dependencies versions and update accordingly, using the provided version management if possible. The aim is to have as much of the same library versions in your implementation project as the product uses. 

      For a complete list, see section "Third party libraries" of the Detailed release notes.

      -------

      Projects that are known to be used and have precedence:

       

      Not updated since 2021:

       

       

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              deniz.ergun Deniz Ergun
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: