Repository navigation
chore: update Maven POM URLs from archived repos to java-core - #153
Merged
Merged
Conversation
Co-Authored-By: tanderson@launchdarkly.com <tanderson@launchdarkly.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
tanderson-ld
marked this pull request as ready for review
April 23, 2026 14:40
aaron-zeisler
approved these changes
Apr 23, 2026
tanderson-ld
self-requested a review
April 23, 2026 15:31
tanderson-ld
approved these changes
Apr 23, 2026
2 of 7 tasks
kinyoklion
added a commit
that referenced
this pull request
Oct 30, 2026
<!-- TERMAG_PR_BODY_BEGIN --> Moves [launchdarkly/java-server-sdk-dynamodb](https://github.com/launchdarkly/java-server-sdk-dynamodb) into `lib/java-server-sdk-dynamodb-store` and 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** - [x] I have added test coverage for new or changed functionality - [x] I have followed the repository's [pull request submission guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests) - [ ] I have validated my changes against all supported platform versions 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/`) - Sources, tests, `checkstyle.xml`, `settings.gradle`, `CHANGELOG.md` and the Gradle 7.6 wrapper are byte-for-byte copies of `java-server-sdk-dynamodb@main`. The wrapper is also identical to redis-store's. - `.gitignore` is the same as redis-store's. Build changes (`build.gradle`, `gradle.properties`). The old repo could no longer publish. - Replaced `de.marcphilipp.nexus-publish` 0.4.0 and `io.codearte.nexus-staging` 0.30.0 with `io.github.gradle-nexus.publish-plugin` 1.3.0, and removed the `nexusStaging` block. `publish.sh` calls `publishToSonatype closeAndReleaseSonatypeStagingRepository`, and only the gradle-nexus plugin provides those tasks. - `nexusPublishing` now 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`/`-PsonatypePassword` as with the other packages, so the `ossrhUsername`/`ossrhPassword` properties are gone. - Removed the `oss.sonatype.org` resolution 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. - The POM `url` and `scm` now point at java-core. - Added `#x-release-please-start-version` markers around `version` in `gradle.properties`. Repo wiring - `release-please-config.json` and `.release-please-manifest.json`: added `lib/java-server-sdk-dynamodb-store` with package name `launchdarkly-java-server-sdk-dynamodb-store`, starting from the last published version, 5.0.0. Tags will look like `launchdarkly-java-server-sdk-dynamodb-store-5.0.1`. - `release-please.yml`: added a `package-server-sdk-dynamodb-store-released` output and a `release-server-sdk-dynamodb-store` job, a copy of the redis-store job. - `manual-publish.yml` and `manual-publish-docs.yml`: added the package to the workspace choices. - `.github/actions/ci/action.yml`: starts `amazon/dynamodb-local` on port 8000 when the workspace is this package, like the Redis step. - New `java-server-sdk-dynamodb-store.yml` workflow: - Linux, Java 8/11/17/19, through the shared CI action. - Windows, Java 11/17. It's laid out like the redis-store Windows job, except the `Run Tests` step runs on `steps.build.outcome`. The redis job keys that step on `inputs.run_tests`, which is always empty in a push/PR workflow, so that step never runs. `build` still runs the tests either way. - The old repo's Windows CI downloaded DynamoDB Local from `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 Linux `amazon/dynamodb-local` image. DynamoDB Local 2.6.0+ requires Java 17, so it runs on its own `setup-java` 17 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. - Root `README.md`: added a row and link references under "Other Packages". - Issue templates: added `package-dynamodb-store--bug_report.md` and `package-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.md` and `CONTRIBUTING.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 the `fix:` 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-local` container) - `gradlew dependencies`, `build` (which includes `checkstyleMain`/`checkstyleTest`), `jar` and `javadoc` all succeed. 27 tests pass, 0 fail. - `gradlew tasks --all` lists `publishToSonatype` and `closeAndReleaseSonatypeStagingRepository`. - `publishToMavenLocal` produces the jar, sources, javadoc, `.module` and a POM with java-core `url`/`scm`. - All changed workflow and action YAML parses. **Before merging** - [ ] Create the `package: java-server-sdk-dynamodb-store` label in java-core. The new issue templates and the README issues link use it. **After the first release from java-core** - [ ] Confirm `5.0.1` is on Maven Central and the docs are on GitHub Pages. - [ ] Update the old repo's README to point at java-core, then archive `launchdarkly/java-server-sdk-dynamodb`, as was done for `java-server-sdk-redis`. Its maintenance branches (`2.x`, `3.x`, `4.x`, `aws-v1`) aren't migrated. It has no open issues or PRs. - [ ] Check docs.launchdarkly.com's DynamoDB page for links to the old repo or API docs. **Describe alternatives you've considered** - Gradle 9 (old repo PR #38): left out so the package matches redis-store and the rest of the repo on 7.6. Upgrading the Gradle wrapper can be done in a follow-up for the whole repo. - Keeping git history: the earlier migrations copied files and java-core squash-merges, so this PR does the same. **Additional context** Follow-ups this PR deliberately doesn't change, so the move stays behavior-neutral: - The `software.amazon.awssdk:dynamodb` API dependency is still pinned at 2.10.32 (2019). Applications get that version transitively unless they declare their own. - The minimum SDK version is still 6.0.0, where redis-store uses 6.3.0. - The old repo had Dependabot with a 7-day cooldown, but java-core has no Dependabot config. <!-- TERMAG_PR_BODY_END --> <!-- termag: box=i-0001945826233b631 project=release-please-support-java-dynamo --> <sub>Opened from termag</sub> [SDK-3421](https://launchdarkly.atlassian.net/browse/SDK-3421) [SDK-3421]: https://launchdarkly.atlassian.net/browse/SDK-3421?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
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.
Requirements
Related issues
A customer reported that the Maven Central POM for
launchdarkly-java-server-sdklinks to the archivedlaunchdarkly/java-server-sdkrepo (last release 7.4.1), which is confusing since current development happens in thisjava-coremonorepo.Verified on the published POM for v7.13.2.
Describe the solution you've provided
Updates the
urlandscmfields in the Maven POM configuration for two packages:lib/sdk/server/build.gradle:java-server-sdk→java-corelib/java-server-sdk-redis-store/build.gradle:java-server-sdk-redis→java-coreThe
java-server-sdk-otelpackage already correctly referencesjava-core— no change needed there.The corrected URLs will appear in Maven Central POMs starting with the next release of each package.
Describe alternatives you've considered
None — the old repos are archived and this is the correct fix.
Additional context
Reviewers should verify:
url,scm.connection,scm.developerConnection) all consistently point tojava-coreLink to Devin session: https://app.devin.ai/sessions/7f30515c6f064f85860c6580ee054dd2
Note
Low Risk
Low risk metadata-only change that only affects published POM
url/scmfields; no runtime code or dependencies are modified.Overview
Updates the Maven publishing configuration for
launchdarkly-java-server-sdkandlaunchdarkly-java-server-sdk-redis-storeso the generated POMurlandscmlinks referencehttps://github.com/launchdarkly/java-core(and corresponding git/ssh SCM URLs) instead of the archivedjava-server-sdkandjava-server-sdk-redisrepositories.Reviewed by Cursor Bugbot for commit a891107. Bugbot is set up for automated code reviews on this repo. Configure here.
BEGIN_COMMIT_OVERRIDE
fix: update Maven POM URLs from archived repos to java-core
END_COMMIT_OVERRIDE