Parent 60

  1. Updated Java Build Prerequisites ( SLING-11842 - Getting issue details... STATUS and SLING-12080 - Getting issue details... STATUS )
    • Parent 60 requires Java 11 while Sling Bundle Parent 60+ requires Java 17, therefore add an according Sling module descriptor to only run CI builds with Java 17+ (if using sling-bundle-parent) (by default the build is executed with 11, 17 and 21)
  2. Enforced code formatting with spotless-maven-plugin ( SLING-12186 - Getting issue details... STATUS )
    • Add a dedicated(!) commit after the actual parent update with only the formatting changes (applied via mvn spotless:apply ) and afterwards ignore that commit in blame automatically by adding its SHA1 to a file named .git-blame-ignore-revs. This file is automatically considered in GitHubs blame view and optionally considered for a local git CLI blame. Note though that this only works well for non-reordering formatting changes. For reordered lines in pom.xml it will emit wrong blame information per line. To temporarily disable the formatting check use -Dspotless.check.skip=true.
    • In order to make the maven-release-plugin not violate the spotless format during releases please make sure the SCM information in the POM contains the tag element in correct formatting, for example like this

      <project ...>	
      	<scm>
              <connection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-hamcrest.git</connection>
              <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-hamcrest.git</developerConnection>
              <tag>master</tag>
              <url>https://github.com/apache/sling-org-apache-sling-testing-hamcrest/tree/${project.scm.tag}</url>
          </scm>
      ...

      Otherwise the m-release-p will add the tag element with the wrong indentation and also change the indentation of the scm close element.

  3. Default target bytecode version increased to Java 11 ( SLING-11842 - Getting issue details... STATUS )
    • Either downgrade the bytecode version to Java 8 with property sling.java.version or at least bump the minor version segment of the to be released module (and mention the Java 11 runtime requirement in JIRA)

Examples:

Parent 61

  1. The target Java version needs to be explicitly set ( SLING-12426 - Getting issue details... STATUS )
    • Parent Pom 60 previously set the default value of 11, to keep that setting add the following pom property> <sling.java.version>11</sling.java.version>  .

Parent 63

  1. The minimum Java version at build time is now 17 for sling-parent as well ( SLING-12624 - Getting issue details... STATUS )
  • No labels