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]