paulrutter opened a new pull request, #589:
URL: https://github.com/apache/felix-dev/pull/589

   ## Impact
   
   Build and test configuration only; no production code changes. Already 
released artifacts are unaffected.
   
   **Java level of the next release** (effective `release` of the compiler, 
before → after):
   
   | Module | Before | After |
   |---|---|---|
   | `coordinator`, `metatype`, `healthcheck/annotation`, `healthcheck/api` | 7 
| **8** |
   | `scr-ext-anno` | 5 | **8** |
   | `bundlerepository.osgi-ct` | 5 | **8** |
   | `fileinstall`, `inventory`, `features`, 
`configadmin-plugins/interpolation`, 
`healthcheck/{core,generalchecks,webconsoleplugin}`, 
`webconsole-plugins/{ds,event,memoryusage,obr,packageadmin}` | unchanged (8 or 
11) | unchanged |
   
   - Java 7 (`--release 7`) is rejected by JDK 21+, so these modules could not 
be built there at all. The next release of the affected bundles will carry a 
higher `osgi.ee` requirement (`JavaSE-1.8`); for `healthcheck/api` and 
`healthcheck/annotation` that is visible to consumers.
   - All 18 modules move to `felix-parent` 9.
   - `bundlerepository.osgi-ct` now builds against the released 
`bundlerepository` 2.0.10 instead of `${project.version}`.
   - Test-only: Mockito 1.x → 5.18.0 (`healthcheck/api`, `healthcheck/core`, 
`healthcheck/generalchecks`, `healthcheck/webconsoleplugin`, 
`configadmin-plugins/interpolation`), `healthcheck/core` ITs run on framework 
8.0.0, `bnd-maven-plugin` 4.1.0 → 7.1.0 in `healthcheck/api`.
   - CI: the 18 modules are added to `maven-ci.yml`, each behind its own path 
filter, built on the existing 17/21/25/27 matrix. This adds build time to PRs 
touching them, and nothing for PRs that do not.
   
   ## Why
   
   CI never built these modules, so they stayed on old parents and test tooling 
that fail on JDK 17+ (ianal plugin, Java 7 target, cglib-based Mockito, bnd 
4.1.0). An audit on JDK 21 and 25 showed nearly every failure was tooling, not 
a removed JDK construct.
   
   Left out on purpose: `eventadmin`, `systemready`, `rootcause` (not recently 
maintained).
   
   ## Test fix
   
   `fileinstall` `DirectoryWatcherTest.testInvalidTempDir` relied on changing 
`java.io.tmpdir` at runtime, which JDK 12+ ignores because it caches the value 
at startup. It now uses fileinstall's own temp-dir setting.
   
   ## Verification
   
   - All modules passed on JDK 21 in earlier runs on intermediate trees; 
`fileinstall` (32 tests) passed on JDK 21 and 25 after the test fix.
   - Still running locally on the final tree: `healthcheck/api`, 
`healthcheck/core`, `fileinstall` on JDK 21 and 25. `healthcheck/core` showed 2 
`HealthCheckMonitorIT` failures on JDK 25 in a loaded run that I suspect is 
timing-related; this re-run is isolated. Results will be posted as a comment.
   - The new CI steps have not run yet; this PR's own run is their first.
   
   Jira: https://issues.apache.org/jira/browse/FELIX-6875
   
   🤖 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]

Reply via email to