feat: pin kit SDK dependencies to current supported ranges#725
Conversation
PR SummaryMedium Risk Overview Adobe Media drops pinned per-artifact Adobe Mobile SDK coordinates in favor of Several kits use tighter caps than a full major line: Radar Reviewed by Cursor Bugbot for commit 3726f3e. Bugbot is set up for automated code reviews on this repo. Configure here. |
80e5659 to
6a38450
Compare
6a38450 to
54266fd
Compare
54266fd to
421c19f
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
There are 3 total unresolved issues (including 1 from previous review).
❌ 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 421c19f. Configure here.
421c19f to
fc26cc3
Compare
denischilik
left a comment
There was a problem hiding this comment.
Small nit, rest good to me
fc26cc3 to
38693db
Compare
…K BOM Adobe's Experience Platform SDK is at major 3.x, so the kit directory now follows the wrapped-SDK-major convention (adobemedia-5 -> adobemedia-3). Replace the mixed per-artifact pins with the Adobe sdk-bom. The legacy sdk-core (deprecated 2024-06-30) and mobileservices (unsupported on Android) artifacts are dropped; modern `core` now arrives via the BOM. The BOM range [3.0.0,4.0.0) auto-tracks the latest 3.x minor/patch, the Gradle equivalent of iOS SPM .upToNextMajor(from: "3.0.0"). Updated matrix.json, settings-kits.gradle, settings-kit-examples.gradle, the example module project ref, and the README install line. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…adobemedia BOM comments The adobe kit is a server-to-server integration with no Adobe SDK dependency (no com.adobe.* imports), so the wrapped-SDK-major suffix does not apply — renamed adobe-5 -> adobe, matching the no-number convention used by onetrust and rokt. Updated matrix.json, settings-kits.gradle, settings-kit-examples.gradle, and the example module project ref. The published artifact version (android-adobe-kit:5+) is unchanged, consistent with other no-number kits. Also removed the explanatory comments from the adobemedia-3 BOM block. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7ecc532
into
workstation/6.0-Release
|





Background
Align Android kit dependency metadata with the iOS kit pattern of supporting one third-party SDK major per kit. Each currently supported Android kit should declare a bounded third-party SDK range so consumers do not resolve into unsupported future versions.
What Has Changed
Kit dependency ranges
3.5.xsupport line with[3.5.11,3.6.0)because a broad3.xrange resolves to3.34.0, which no longer exposes APIs used by the current kit.[41.0.0,41.1.0)because41.1.1pullsandroidx.swiperefreshlayout:swiperefreshlayout:1.2.0, which requires AGP 8.6 while this branch uses AGP 8.3.2.[7.0.1,7.1.0)because7.8.0raises the library minSdk requirement to 21 while the kit/example build still uses minSdk 16.Adobe Media kit — BOM lock-in and rename (
adobemedia-5→adobemedia-3)adobemedia-5toadobemedia-3. Kit directories follow the wrapped-SDK-major convention (e.g.adjust-5wraps Adjust v5), and the Adobe Experience Platform Mobile SDK is at major3.x, so5was incorrect.api platform('com.adobe.marketing.mobile:sdk-bom:[3.0.0,4.0.0)')with each extension (core,analytics,media,userprofile,lifecycle,identity,signal) declared with no version. The BOM pins all extensions to a mutually-compatible set, and the range tracks the latest3.xminor/patch automatically — the Gradle equivalent of iOS SPM.upToNextMajor(from: "3.0.0").com.adobe.marketing.mobile:sdk-core(the 1.x ACP Core bundle, deprecated by Adobe on 2024-06-30) andcom.adobe.marketing.mobile:mobileservices(listed by Adobe as "Not supported" on Android, and unused by the kit). These legacy 1.x artifacts were previously mixed with the modern AEP 3.x extensions; the kit source already targets the AEP 3.x API surface (MobileCore,Media,Analytics, …), so moderncorenow arrives via the BOM instead.Adobe kit — rename (
adobe-5→adobe)adobe-5toadobe. This kit is a server-to-server integration with no Adobe SDK dependency (nocom.adobe.*imports), so the wrapped-SDK-major suffix does not apply. It now follows the no-number convention used by the OneTrust and Rokt kits.android-adobe-kit:5+) is intentionally unchanged, consistent with other no-number kits whose published major is independent of the directory name.Shared updates for the renames
kits/matrix.json,settings-kits.gradle,settings-kit-examples.gradle, and each example module'simplementation project(...)reference for both renamed kits.Follow-up Candidates
3.5.11can still be preserved.swiperefreshlayout:1.2.0AAR metadata requirement introduced by Braze41.1.1.Screenshots/Video
N/A - no visual changes.
Validation
trunk checkpassed with no new issues../gradlew buildpassed../gradlew testpassed../gradlew ktlintCheckpassed../gradlew -c settings-kits.gradle -Pmparticle.kit.mparticleFromMavenLocalOnly=true testRelease ktlintCheck publishMavenPublicationToMavenLocalpassed.:kits:android-adobemedia:adobemedia-3:dependenciesresolvessdk-bomto the latest3.x(3.19.0),coreto 3.7.0, withsdk-core/mobileservicesno longer present;testReleaseUnitTestandassembleReleasepass.:kits:android-adobe:adobe:assembleReleasepasses and the project loads under the updated settings../gradlew ':kits:android-braze:braze-41:example-kotlin:assembleDebug' -c settings-kit-examples.gradle -Pmparticle.kit.mparticleFromMavenLocalOnly=truepassed../gradlew ':kits:android-leanplum:leanplum-7:example-kotlin:assembleDebug' -c settings-kit-examples.gradle -Pmparticle.kit.mparticleFromMavenLocalOnly=truepassed.cd kits/urbanairship/urbanairship-20 && ./gradlew -Pmparticle.kit.mparticleFromMavenLocalOnly=true testRelease ktlintCheckpassed.instrumented-core / Instrumented Tests (Core)passed on commitfc26cc3a; a fresh run is pending after reverting the unrelated buildSrc compatibility change.Checklist