lhotari opened a new pull request, #25671:
URL: https://github.com/apache/pulsar/pull/25671

   ### Motivation
   
   The JCTools 4.0.6 release is available, with various fixes since 4.0.5. 
Keeping the dependency current is generally desirable.
   
   Starting with 4.0.6, JCTools publishes a separate `jctools-core-jdk11` Maven 
artifact that adds proper Java 9 module support (a `module-info` descriptor) on 
top of `jctools-core`. Switching to this artifact is the recommended way to 
consume JCTools on JDK 9+.
   
   BookKeeper is also upgrading to JCTools 4.0.6 (apache/bookkeeper#4776), so 
aligning the version in Pulsar avoids classpath skew between the two projects 
and lets Pulsar pick up the `jctools-core-jdk11` enhancements at the same time.
   
   JCTools is used in Pulsar by `managed-ledger` and 
`pulsar-transaction-coordinator`.
   
   ### Modifications
   
   - Bump `jctools` version from `4.0.5` to `4.0.6` in 
`gradle/libs.versions.toml`.
   - Add a `jctools-core-jdk11` library entry to the version catalog alongside 
the existing `jctools-core`. Both share the same `version.ref = "jctools"` so 
they stay aligned.
   - Switch the `implementation` declarations in `managed-ledger` and 
`pulsar-transaction/coordinator` from `libs.jctools.core` to 
`libs.jctools.core.jdk11`. The `jdk11` variant transitively depends on 
`jctools-core`, so both jars end up bundled in the server distribution.
   - Update `distribution/server/src/assemble/LICENSE.bin.txt` to list both 
`org.jctools-jctools-core-4.0.6.jar` and 
`org.jctools-jctools-core-jdk11-4.0.6.jar`.
   
   Verified locally with:
   
   ```
   ./gradlew assemble
   ./src/check-binary-license.sh 
distribution/server/build/distributions/apache-pulsar-*-bin.tar.gz
   ./src/check-binary-license.sh 
distribution/shell/build/distributions/apache-pulsar-*-bin.tar.gz
   ```
   
   (All exit 0; the shell distribution does not bundle jctools.)
   
   ### Verifying this change
   
   - [x] Make sure that the change passes the CI checks.
   
   This change is a trivial rework / code cleanup without any test coverage.
   
   ### Does this pull request potentially affect one of the following parts:
   
   - [x] Dependencies (add or upgrade a dependency)
   - [ ] The public API
   - [ ] The schema
   - [ ] The default values of configurations
   - [ ] The threading model
   - [ ] The binary protocol
   - [ ] The REST endpoints
   - [ ] The admin CLI options
   - [ ] The metrics
   - [ ] Anything that affects deployment
   
   Dependency change details:
   - `org.jctools:jctools-core` 4.0.5 → 4.0.6
   - New direct dependency on `org.jctools:jctools-core-jdk11` 4.0.6 (replacing 
the previous direct `jctools-core` declaration; `jctools-core` itself is still 
bundled transitively through `jctools-core-jdk11`).
   
   ### References
   
   - Release notes: https://github.com/JCTools/JCTools/releases/tag/v4.0.6
   - Changelog: https://github.com/JCTools/JCTools/compare/v4.0.5...v4.0.6
   - Related: apache/bookkeeper#4776


-- 
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