paulrutter opened a new pull request, #555: URL: https://github.com/apache/felix-dev/pull/555
Split out of #433, where these changes were scope creep: they are about repairing module builds, not about Java 25 support. Several modules cannot be built on a current JDK at all. Each declares a `felix-parent` version that does not match the local `pom/pom.xml`, so the `relativePath` is ignored and Maven **silently resolves an old released `felix-parent` from Maven Central** instead. Those parents hardcode `felix.java.version` 6 or 7, and javac rejects release levels below 8 from JDK 20 onward: ``` error: release version 7 not supported ``` They also pin `maven-surefire-plugin` 2.x, which cannot parse the JDK 25 version string and dies before running a single test: ``` Cannot invoke "...JavaVersion.atLeast(...)" because "...SystemUtils.JAVA_SPECIFICATION_VERSION_AS_ENUM" is null ``` Moving each to `felix-parent 9` fixes both at once, rather than overriding compiler and plugin configuration module by module. | module | parent | |---|---| | `bundlerepository` | 2.1 → 9 | | `connect`, `log.extension`, `resolver`, `utils` | 5 → 9 | Alongside that: - `source`/`target` levels below 8 raised to 8 in `connect`, `bundlerepository` and the three `examples/extenderbased.*` modules. - `bundlerepository` declares junit and mockito explicitly — `felix-parent` 2.1 supplied them to every module and `felix-parent` 9 does not. `mockito-all` 1.x is replaced by `mockito-core`, since its bundled cglib cannot generate classes for recent class file versions. - `resolver` moves off `mockito-all` for the same reason. **No production code is changed in any of these modules, so no versions are bumped.** Repairing the parent does raise each module's `osgi.ee` (1.5/1.6/1.7 → 1.8), but those levels were themselves accidental — a consequence of resolving a stale parent rather than a deliberate choice — and the version of the next release is better decided by whoever prepares it, against everything that lands before then. The modules are added to the CI matrix so these builds are actually exercised rather than assumed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
