build: upgrade plugin examples to Java 25 runtime#105
Conversation
Brings the plugin seeds in line with dotCMS core, which now defaults to a Java 25 runtime (.sdkmanrc -> 25.0.2-ms, Microsoft build). - Add .sdkmanrc pinning java=25.0.2-ms to match core's build/runtime JDK - Bump maven.compiler.source/target (and release where present) to 25 across the root aggregator pom and all module poms (com.dotcms.servlet inherits from the parent and needed no change) - CI: setup-java -> java-version 25, distribution microsoft (was 21/temurin) in build-check, test-install-plugins, and test-on-dotcms-release workflows Verified: full reactor `./mvnw -DskipTests clean package` builds all 24 modules successfully on JDK 25 (maven-bundle-plugin 5.1.9 handles class file v69 with no changes needed). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
…Java 25 The Java 25 upgrade (68dc2ff) made 21/22 plugins fail OSGi activation: they installed but never resolved (state INSTALLED/2 instead of ACTIVE/32). Root cause: maven-bundle-plugin 5.1.9 embeds bnd 6.3.1, which does not recognize class file major version 69 (Java 25). bnd therefore emitted Require-Capability: osgi.ee;filter:="(osgi.ee=UNKNOWN)" into each bundle manifest. The dotCMS Felix framework never exports an osgi.ee capability named UNKNOWN, so the resolver could not satisfy the requirement and the bundles stuck at INSTALLED. Only com.dotcms.viewtool passed because its maven-compiler-plugin pins <release>11</release>, yielding class v55 which bnd maps to a valid osgi.ee=JavaSE;version=11. Fix: add bnd instruction <_noee>true</_noee> to every bundle module, which suppresses generation of the osgi.ee Require-Capability header. Verified the full reactor builds on JDK 25 and no produced jar contains an osgi.ee Require-Capability line. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
What
Brings the plugin seeds up to a Java 25 runtime, matching what dotCMS core now does by default (
.sdkmanrc→25.0.2-ms, Microsoft build).Changes
.sdkmanrc(new) — pinsjava=25.0.2-ms, mirroring core so the build/runtime JDK is consistent.maven.compiler.source/target(andreleasewhere present, e.g.viewtool) bumped to25across the root aggregator pom and every module pom.com.dotcms.servletdeclares no compiler properties and correctly inherits the parent, so it needed no change.actions/setup-javaupdated tojava-version: '25'/distribution: 'microsoft'(was21/temurin) inbuild-check.yml,test-install-plugins.yml, andtest-on-dotcms-release.yml.release-target.ymlandpublish-github-release.ymldon't set up Java and were left untouched.Verification
Full reactor build on JDK 25:
→ BUILD SUCCESS for all 24 modules.
maven-bundle-plugin5.1.9 processes Java 25 (class file v69) bytecode with no changes needed.🤖 Generated with Claude Code