Skip to content

Commit 598cd99

Browse files
committed
Split Android checkout protocol module
Assisted-By: devx/6488e3d0-f47f-4171-a1c4-d2432b2a653c
1 parent 176e7bf commit 598cd99

44 files changed

Lines changed: 3411 additions & 2748 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

platforms/android/AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ Raising any of these is a consumer-facing breaking change and needs visible rele
7979

8080
## Release process
8181

82-
Versions are bumped via:
82+
Published artifact versions are bumped via:
8383

84-
1. The `versionName` literal in `lib/build.gradle`.
84+
1. `gradle/libs.versions.toml`.
8585
2. The install snippets in `README.md` (Gradle and Maven).
8686

8787
Android releases are tagged `android/X.Y.Z` (Swift releases use bare `X.Y.Z`). The publish workflow filters on the `android/` prefix — without it, nothing publishes on the Android side.

platforms/android/build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22
plugins {
3-
id 'com.android.library' version '9.1.1' apply false
4-
id 'org.jetbrains.kotlin.android' version '2.3.21' apply false
5-
id 'org.jetbrains.kotlin.plugin.serialization' version '2.3.21' apply false
6-
id 'io.gitlab.arturbosch.detekt' version '1.23.8' apply false
7-
id 'org.jetbrains.kotlinx.binary-compatibility-validator' version '0.18.1'
3+
alias(libs.plugins.android.library) apply false
4+
alias(libs.plugins.kotlin.android) apply false
5+
alias(libs.plugins.kotlin.serialization) apply false
6+
alias(libs.plugins.detekt) apply false
7+
alias(libs.plugins.binary.compatibility.validator)
88
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Consumer-facing compatibility values shared by the published Android artifacts.
2+
// Keep these centralized so checkout-kit and embedded-checkout-protocol do not drift.
3+
ext.androidPublishedArtifactCompatibility = [
4+
compileSdk: 36,
5+
minSdk: 23,
6+
minCompileSdk: 35,
7+
javaVersion: "11",
8+
kotlinJvmTarget: "JVM_11",
9+
kotlinApiVersion: "KOTLIN_2_0",
10+
kotlinLanguageVersion: "KOTLIN_2_0",
11+
]
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
[versions]
2+
checkoutKitAndroid = "4.0.0-alpha.1"
3+
embeddedCheckoutProtocolAndroid = "2026.04.08-alpha.1"
4+
5+
androidApplicationGradlePlugin = "9.2.1"
6+
androidLibraryGradlePlugin = "9.1.1"
7+
apollo = "5.0.0"
8+
apolloCache = "1.0.3"
9+
assertj = "3.27.7"
10+
awaitility = "4.3.0"
11+
coil = "2.7.0"
12+
detekt = "1.23.8"
13+
koinAndroidCompose = "4.2.1"
14+
kotlin = "2.3.21"
15+
kotlinStdlib = "2.0.21"
16+
kotlinxBinaryCompatibilityValidator = "0.18.1"
17+
kotlinxSerializationJson = "1.7.3"
18+
kotlinxSerializationJsonDemo = "1.11.0"
19+
ksp = "2.3.8"
20+
mockitoCore = "5.23.0"
21+
mockitoKotlin = "6.3.0"
22+
robolectric = "4.16.1"
23+
timber = "5.0.1"
24+
25+
androidxActivity = "1.13.0"
26+
androidxAppCompat = "1.7.1"
27+
androidxBrowser = "1.10.0"
28+
androidxComposeUi = "1.10.6"
29+
androidxCore = "1.18.0"
30+
androidxDataStore = "1.2.1"
31+
androidxJunitExt = "1.3.0"
32+
androidxLifecycle = "2.10.0"
33+
androidxMaterial3 = "1.4.0"
34+
androidxNavigation = "2.9.7"
35+
androidxPaging = "3.5.0"
36+
androidxRoom = "2.8.4"
37+
androidxTest = "1.7.0"
38+
androidxWebkit = "1.16.0"
39+
junit = "4.13.2"
40+
41+
[libraries]
42+
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidxActivity" }
43+
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidxAppCompat" }
44+
androidx-browser = { module = "androidx.browser:browser", version.ref = "androidxBrowser" }
45+
androidx-compose-material = { module = "androidx.compose.material:material", version.ref = "androidxComposeUi" }
46+
androidx-compose-material3 = { module = "androidx.compose.material3:material3-android", version.ref = "androidxMaterial3" }
47+
androidx-compose-ui = { module = "androidx.compose.ui:ui", version.ref = "androidxComposeUi" }
48+
androidx-compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "androidxComposeUi" }
49+
androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "androidxComposeUi" }
50+
androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "androidxComposeUi" }
51+
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidxCore" }
52+
androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "androidxDataStore" }
53+
androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidxLifecycle" }
54+
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidxLifecycle" }
55+
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "androidxNavigation" }
56+
androidx-paging-compose = { module = "androidx.paging:paging-compose-android", version.ref = "androidxPaging" }
57+
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidxRoom" }
58+
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "androidxRoom" }
59+
androidx-test-core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidxTest" }
60+
androidx-test-ext-junit-ktx = { module = "androidx.test.ext:junit-ktx", version.ref = "androidxJunitExt" }
61+
androidx-webkit = { module = "androidx.webkit:webkit", version.ref = "androidxWebkit" }
62+
apollo-cache-normalized = { module = "com.apollographql.cache:normalized-cache", version.ref = "apolloCache" }
63+
apollo-runtime = { module = "com.apollographql.apollo:apollo-runtime", version.ref = "apollo" }
64+
assertj-core = { module = "org.assertj:assertj-core", version.ref = "assertj" }
65+
awaitility = { module = "org.awaitility:awaitility", version.ref = "awaitility" }
66+
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
67+
detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
68+
junit = { module = "junit:junit", version.ref = "junit" }
69+
koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koinAndroidCompose" }
70+
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlinStdlib" }
71+
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
72+
kotlinx-serialization-json-demo = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJsonDemo" }
73+
mockito-android = { module = "org.mockito:mockito-android", version.ref = "mockitoCore" }
74+
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoCore" }
75+
mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockitoKotlin" }
76+
robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }
77+
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }
78+
79+
[plugins]
80+
android-application = { id = "com.android.application", version.ref = "androidApplicationGradlePlugin" }
81+
android-library = { id = "com.android.library", version.ref = "androidLibraryGradlePlugin" }
82+
apollo = { id = "com.apollographql.apollo", version.ref = "apollo" }
83+
binary-compatibility-validator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "kotlinxBinaryCompatibilityValidator" }
84+
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
85+
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
86+
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
87+
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
88+
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }

0 commit comments

Comments
 (0)