paulrutter opened a new pull request, #538: URL: https://github.com/apache/felix-dev/pull/538
## What Housekeeping on `http/jetty12/pom.xml` (no functional/behavioural change): 1. **De-duplicate the `maven-bundle-plugin` executions.** The `with-jetty-websockets` and `with-jakarta-websockets` executions each repeated ~90 lines of `<instructions>` that were identical to the primary bundle. They now declare only the two headers that actually differ (`Export-Package`, `Import-Package`); everything shared (`Bundle-SymbolicName`, `Bundle-Version`, `X-Jetty-Version`, `Bundle-Activator`, `Private-Package`, `DynamicImport-Package`, `Provide-Capability`, `Require-Capability`, `Include-Resource`, `_removeheaders`) is inherited from the plugin-level `<instructions>` via Maven's plugin/execution configuration merge — the same mechanism the `light` bundle already relied on. 2. **Re-enable bnd baselining** (`baseline.skip` `true` → `false`). 3. **Extract the duplicated slf4j version** into a `<slf4j.version>` property, and **document** that `felix.java.version` 17 is the floor (Jetty 12.1) while the optional virtual-threads support additionally requires Java 21 at runtime. ## Why The four near-identical instruction blocks were a maintenance hazard — recent SNI / redirect-compliance / Jetty-version changes all had to be mirrored by hand across them, which is easy to get wrong. Re-enabling baselining adds a safety net against accidental semantic-version breaks in the exported API. ## Verification Because change (1) affects how the manifests are generated, I verified it is a no-op by diffing a clean build before and after: - The generated `MANIFEST.MF` of **all four** artifacts (main, `light`, `with-jetty-websockets`, `with-jakarta-websockets`) is **byte-identical** to the pre-change build (ignoring only the tool/timestamp headers). - Baselining runs and passes: `Baseline analysis complete, 0 error(s), 16 warning(s)`, against the 2.0.4 release. - Unit tests: 13 run, 0 failures. ## Reviewer notes - `maven-bundle-plugin` is intentionally kept at **6.0.2** (6.1.0 is not yet released). - With baselining now active, a future change that alters an exported package's API without a version bump will fail the build — that's the intended safety net, worth noting before the next release. 🤖 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]
