Repository navigation
chore: Migrate java-server-sdk-dynamodb-store to java-core - #241
Open
kinyoklion wants to merge 2 commits into
Open
kinyoklion wants to merge 2 commits into
kinyoklion wants to merge 2 commits into
Conversation
Move launchdarkly/java-server-sdk-dynamodb into lib/java-server-sdk-dynamodb-store and release it with release-please, following the redis-store migration. - Copy the sources, tests, Gradle wrapper (7.6), checkstyle config and CHANGELOG unchanged. - Replace the de.marcphilipp.nexus-publish and io.codearte.nexus-staging plugins with io.github.gradle-nexus.publish-plugin 1.3.0 and publish through the Central Portal OSSRH staging API, as the other packages do. - Drop the retired oss.sonatype.org repository and the unused ossrh credential properties. - Point the POM url and scm at java-core. - Add the package to release-please, the release workflow, the manual publish workflows, the shared CI action (DynamoDB Local on Linux) and a package workflow (Linux Java 8/11/17/19, Windows Java 11/17). - Add the package to the root README and add issue templates. Generated-by: termag
Member
Author
|
There were a number of dependabot items against the old location, and it looks like it isn't ready to easily be released. So moving it here should make it releasable when we need it, and we can archive the old repo. |
kinyoklion
marked this pull request as ready for review
October 26, 2026 22:39
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c6a8f9e. Configure here.
The Windows job downloaded DynamoDB Local from the legacy S3 URL, which is frozen at the deprecated 1.25.1 release, and ran it with the matrix JDK. Download the current release (3.x, the same version as the Linux Docker image) and run it on its own Java 17, since DynamoDB Local 2.6.0+ requires Java 17. Fail the setup step if DynamoDB Local exits or is not listening on port 8000 within 60 seconds. Generated-by: termag
This branch has not been deployed
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.

Moves launchdarkly/java-server-sdk-dynamodb into
lib/java-server-sdk-dynamodb-storeand releases it with release-please. It follows the redis-store migration (#45) and the publishing changes made to that package since then (#48, #82, #153), so the DynamoDB package uses the same tooling as the rest of the repo.Requirements
The library code and tests are unchanged. This PR's CI covers the platform matrix: Linux on Java 8/11/17/19 and Windows on Java 11/17.
Describe the solution you've provided
Package contents (
lib/java-server-sdk-dynamodb-store/)checkstyle.xml,settings.gradle,CHANGELOG.mdand the Gradle 7.6 wrapper are byte-for-byte copies ofjava-server-sdk-dynamodb@main. The wrapper is also identical to redis-store's..gitignoreis the same as redis-store's.Build changes (
build.gradle,gradle.properties). The old repo could no longer publish.de.marcphilipp.nexus-publish0.4.0 andio.codearte.nexus-staging0.30.0 withio.github.gradle-nexus.publish-plugin1.3.0, and removed thenexusStagingblock.publish.shcallspublishToSonatype closeAndReleaseSonatypeStagingRepository, and only the gradle-nexus plugin provides those tasks.nexusPublishingnow targets the Central Portal OSSRH staging API (ossrh-staging-api.central.sonatype.com) and the Central snapshots repo, the same as redis-store and otel. Credentials come from-PsonatypeUsername/-PsonatypePasswordas with the other packages, so theossrhUsername/ossrhPasswordproperties are gone.oss.sonatype.orgresolution repository. That host is retired and now redirects to a Maven Central path that doesn't exist. Redis-store still lists it and could drop it in a follow-up.urlandscmnow point at java-core.#x-release-please-start-versionmarkers aroundversioningradle.properties.Repo wiring
release-please-config.jsonand.release-please-manifest.json: addedlib/java-server-sdk-dynamodb-storewith package namelaunchdarkly-java-server-sdk-dynamodb-store, starting from the last published version, 5.0.0. Tags will look likelaunchdarkly-java-server-sdk-dynamodb-store-5.0.1.release-please.yml: added apackage-server-sdk-dynamodb-store-releasedoutput and arelease-server-sdk-dynamodb-storejob, a copy of the redis-store job.manual-publish.ymlandmanual-publish-docs.yml: added the package to the workspace choices..github/actions/ci/action.yml: startsamazon/dynamodb-localon port 8000 when the workspace is this package, like the Redis step.java-server-sdk-dynamodb-store.ymlworkflow:Run Testsstep runs onsteps.build.outcome. The redis job keys that step oninputs.run_tests, which is always empty in a push/PR workflow, so that step never runs.buildstill runs the tests either way.s3-us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.zip. That file is frozen at 1.25.1 (Nov 2024, from the deprecated 1.x line). This job downloads the current release instead (d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_latest.zip, currently 3.3.2), the same version as the Linuxamazon/dynamodb-localimage. DynamoDB Local 2.6.0+ requires Java 17, so it runs on its ownsetup-java17 install while the matrix JDK builds and tests the library. The setup step now fails if DynamoDB Local exits or isn't listening on port 8000 within 60 seconds, so a startup failure surfaces there instead of as test failures.README.md: added a row and link references under "Other Packages".package-dynamodb-store--bug_report.mdandpackage-dynamodb-store--feature_request.md.Not carried over, because java-core already covers them or doesn't use them:
.ldrelease/config.yml, the old CI action and workflow,stale.yml,dependabot.yml,gradle.properties.example,CODEOWNERS,LICENSE,SECURITY.mdandCONTRIBUTING.md.Release behavior
The commit override below makes release-please open a 5.0.1 release PR for this package after the merge. The only change to the published artifact is the POM metadata, the same kind of change as redis-store 3.1.1 (#153). That first release exercises the new pipeline end to end: Central Portal publish, signing, and docs to
launchdarkly.github.io/java-core/lib/java-server-sdk-dynamodb-store/. To merge without releasing, delete thefix:line.BEGIN_COMMIT_OVERRIDE
chore: Migrate java-server-sdk-dynamodb-store to java-core
fix: Update Maven POM URLs to java-core
END_COMMIT_OVERRIDE
Validation done locally (Temurin 8 container next to an
amazon/dynamodb-localcontainer)gradlew dependencies,build(which includescheckstyleMain/checkstyleTest),jarandjavadocall succeed. 27 tests pass, 0 fail.gradlew tasks --alllistspublishToSonatypeandcloseAndReleaseSonatypeStagingRepository.publishToMavenLocalproduces the jar, sources, javadoc,.moduleand a POM with java-coreurl/scm.Before merging
package: java-server-sdk-dynamodb-storelabel in java-core. The new issue templates and the README issues link use it.After the first release from java-core
5.0.1is on Maven Central and the docs are on GitHub Pages.launchdarkly/java-server-sdk-dynamodb, as was done forjava-server-sdk-redis. Its maintenance branches (2.x,3.x,4.x,aws-v1) aren't migrated. It has no open issues or PRs.Describe alternatives you've considered
Additional context
Follow-ups this PR deliberately doesn't change, so the move stays behavior-neutral:
software.amazon.awssdk:dynamodbAPI dependency is still pinned at 2.10.32 (2019). Applications get that version transitively unless they declare their own.Opened from termag