Java: Make jedis-compatibility a pure-Java JAR with no-classifier support#5649
Merged
Conversation
jduo
reviewed
Mar 30, 2026
10 tasks
ba3f62c to
f1aa389
Compare
f1aa389 to
7eaa9e2
Compare
jeremyprime
reviewed
Apr 24, 2026
jeremyprime
approved these changes
Apr 24, 2026
09276bb to
ffb51bf
Compare
- Add native library staging step for jedis-compatibility uber JAR in CI workflow - Organize platform-specific native libraries from downloaded artifacts into staging directory - Update gradle build to publish jedis-compatibility uber JAR to Maven local - Add bundling step to package jedis-compatibility uber JAR alongside client uber JAR - Update artifact upload to include both client and jedis-compatibility uber JARs - Modify jedis-compatibility build.gradle to support uber JAR builds with mavenLocal resolution - Add conditional dependency resolution: use published Maven artifact for uber builds, project dependency for local/per-platform builds - Implement copyAllNativeLibs task to bundle all platform native libraries from CI staging directory - Add conditional task dependencies to skip per-platform native lib copy and Rust build during uber JAR builds - Enables platform-independent uber JAR distribution for jedis-compatibility module Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
- Merge separate native library staging steps into single unified step - Stage native libraries to both client and jedis-compatibility modules Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
This reverts commit 9989765. Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
This reverts commit 88cfa57. Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
…port Remove native library bundling from jedis-compatibility and add JEDIS_NO_CLASSIFIER_BUILD env var to control classifier output. Extend create-uber-jar CI job to build, bundle, and upload a no-classifier jedis-compatibility JAR alongside existing classifier variants. Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
- Update GPG signing key ring file path from jedis-compatibility/secring.gpg to secring.gpg in CI workflow - Add explicit jar packaging declaration to Maven POM configuration - Align publishing paths with project structure for consistent artifact generation Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
ffb51bf to
ba2d855
Compare
- Replace published Maven artifact dependency with direct project dependency - Remove classifier-based artifact resolution for jedis-compatibility - Eliminate unnecessary publishToMavenLocal tasks from build pipeline - Simplify test compilation and execution dependency chain - Update comment to reflect direct project resolution approach Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
jduo
approved these changes
Apr 28, 2026
Merged
7 tasks
affonsov
added a commit
that referenced
this pull request
Apr 28, 2026
…port (#5649) Java: Make jedis-compatibility a pure-Java JAR with no-classifier support Make valkey-glide-jedis-compatibility a pure-Java JAR by removing native library bundling, and publish a no-classifier variant so users no longer need to specify a platform classifier. Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
affonsov
added a commit
that referenced
this pull request
Apr 28, 2026
…port (Cherry-pick #5649) (#5845) Java: Make jedis-compatibility a pure-Java JAR with no-classifier support (#5649) Java: Make jedis-compatibility a pure-Java JAR with no-classifier support Make valkey-glide-jedis-compatibility a pure-Java JAR by removing native library bundling, and publish a no-classifier variant so users no longer need to specify a platform classifier. Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
xShinnRyuu
pushed a commit
that referenced
this pull request
May 2, 2026
…port (#5649) Java: Make jedis-compatibility a pure-Java JAR with no-classifier support Make valkey-glide-jedis-compatibility a pure-Java JAR by removing native library bundling, and publish a no-classifier variant so users no longer need to specify a platform classifier. Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Make
valkey-glide-jedis-compatibilitya pure-Java JAR by removing native library bundling, and publish a no-classifier variant so users no longer need to specify a platform classifier.Issue link
This Pull Request is linked to issue:
Closes <Issue #>
Features / Behaviour Changes
Before: Users had to specify a platform classifier when depending on
valkey-glide-jedis-compatibility:After: No classifier needed. The uber JAR is resolved transitively via the POM:
Implementation
java/jedis-compatibility/build.gradle:copyNativeLibtask and all itsdependsOnreferences — the JAR no longer bundles native librariesJEDIS_NO_CLASSIFIER_BUILDenv var support to thejarblock:"true"→ no classifier (for the new no-classifier JAR).github/workflows/java-cd.yml:create-uber-jarjob:JEDIS_NO_CLASSIFIER_BUILD=true(skips Rust, reuses already-compiled client)jedis-bundle-no-classifier.jarjedis-no-classifierartifactLimitations
valkey-glidedependency will getUnsatisfiedLinkErrorat runtimeTesting
java-cd.ymlChecklist
Before submitting the PR make sure the following are checked:
make *-linttargets) and Prettier has been run (make prettier-fix).