Skip to content

[Galaxy Store]: Upgrade Samsung IAP SDK to version 6.5.2 + use Maven distribution#3492

Open
fire-at-will wants to merge 9 commits into
mainfrom
galaxy-maven
Open

[Galaxy Store]: Upgrade Samsung IAP SDK to version 6.5.2 + use Maven distribution#3492
fire-at-will wants to merge 9 commits into
mainfrom
galaxy-maven

Conversation

@fire-at-will
Copy link
Copy Markdown
Contributor

@fire-at-will fire-at-will commented May 18, 2026

Description

Updates Galaxy Store support to use Samsung IAP from Maven Central now that Samsung distributes IAP SDK 6.5.2 publicly.

Now, developers will get the Samsung Galaxy IAP SDK transitively included in their app when they include the purchases-store-galaxy module.

  • Bumps Samsung IAP to 6.5.2
  • Adds com.samsung.developer:iap to the version catalog
  • Makes :feature:galaxy depend on Samsung IAP via implementation(libs.samsung.iap)
  • Includes :feature:galaxy unconditionally in the repo's build, matching the Amazon feature module model
  • Removes the "Download Samsung IAP SDK AAR" step from the test-galaxy CI job
  • Removes the old local/private Samsung IAP AAR setup:
    • SAMSUNG_IAP_MAVEN_URL
    • CI download task
    • flatDir repository
    • local libs/samsung-iap-*.aar checks
  • Makes Galaxy feature module unconditional in the BOM, API tester, and purchase tester app
  • Simplifies purchase tester Galaxy configuration to use GalaxyConfiguration directly instead of reflection

Testing

Manually tested through the purchase tester app

Follow Ups

  • Remove test-galaxy CI job
  • Make Galaxy APIs non-experimental

Note

Medium Risk
Medium risk because it changes how the Samsung IAP dependency is resolved (from conditional/local AAR + CI download to Maven) and makes the Galaxy module always included, which can affect build/packaging and downstream dependency resolution.

Overview
Galaxy Store builds now consume Samsung IAP from Maven (v6.5.2) via a new version-catalog entry and implementation(libs.samsung.iap) in :feature:galaxy, replacing the prior compileOnly/local-AAR approach.

This removes all conditional Galaxy enablement: :feature:galaxy is always included in settings.gradle.kts, always added to the BOM and api-tester, and always depended on by the purchase tester; CI jobs also drop the downloadSamsungIapAar step and the root Gradle task/env-var plumbing for fetching/copying the AAR.

The purchase tester’s Galaxy configuration is simplified to use GalaxyConfiguration.Builder(..., GalaxyBillingMode.TEST) directly (no reflection/availability checks), and the Galaxy warning string is updated accordingly.

Reviewed by Cursor Bugbot for commit 80db9dc. Bugbot is set up for automated code reviews on this repo. Configure here.

@fire-at-will fire-at-will changed the title Galaxy maven [Galaxy Store]: Upgrade Samsung IAP SDK to version 6.5.2 + use Maven distribution May 18, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.89%. Comparing base (0857296) to head (80db9dc).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3492   +/-   ##
=======================================
  Coverage   79.89%   79.89%           
=======================================
  Files         369      369           
  Lines       14871    14871           
  Branches     2048     2048           
=======================================
  Hits        11881    11881           
  Misses       2157     2157           
  Partials      833      833           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment thread feature/galaxy/build.gradle.kts Outdated
testImplementation(libs.bundles.test)
testImplementation(libs.kotlin.test)
testImplementation("com.samsung.iap:samsung-iap:$samsungIapVersion@aar")
testImplementation(libs.samsung.iap)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm do we still need this one? I think it's not needed now that we use implementation

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in 74687f9!

I also totally meant to mark this as "ready for review", it is now!

Copy link
Copy Markdown
Contributor

@tonidero tonidero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Niiice! Changes make sense to me! Will hold approval until this is ready for review :)

@fire-at-will fire-at-will marked this pull request as ready for review May 18, 2026 19:45
@fire-at-will fire-at-will requested a review from a team as a code owner May 18, 2026 19:45
@socket-security
Copy link
Copy Markdown

socket-security Bot commented May 18, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedmaven/​com.samsung.developer/​iap@​6.5.210010090100100

View full report

@fire-at-will fire-at-will requested a review from tonidero May 18, 2026 19:49
Copy link
Copy Markdown
Member

@JayShortway JayShortway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing stuff!

Comment thread gradle/libs.versions.toml

assertJ = { module = "org.assertj:assertj-core", version.ref = "assertJ" }
amazon-appstore-sdk = { module = "com.amazon.device:amazon-appstore-sdk", version.ref = "amazon" }
samsung-iap = { module = "com.samsung.developer:iap", version.ref = "samsungIap" }
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

Copy link
Copy Markdown
Contributor

@tonidero tonidero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢 So nice to clean this up!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants