From 96d06de7b667439ed9423f455a8073f52124bdcc Mon Sep 17 00:00:00 2001 From: Matt Ramotar Date: Sat, 20 Sep 2025 10:18:06 -0400 Subject: [PATCH 01/10] Revert "Update CI (#716)" This reverts commit e4eb9ee9601086e1c8496de6e15739aa380640c3. --- .github/workflows/ci.yml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e055ca94..4baef40e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,9 +70,20 @@ jobs: run: chmod +x gradlew - name: Upload Artifacts to Maven Central - run: ./gradlew publishToMavenCentral --no-daemon --no-parallel + run: ./gradlew publishAllPublicationsToMavenCentralRepository --no-daemon --no-parallel env: - ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }} - ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }} ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }} - ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} \ No newline at end of file + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} + + - name: Retrieve Version + run: | + echo "VERSION_NAME=$(cat gradle.properties | grep -w "VERSION_NAME" | cut -d'=' -f2)" >> $GITHUB_ENV + + - name: Publish Release + run: ./gradlew closeAndReleaseRepository --no-daemon --no-parallel + if: "!endsWith(env.VERSION_NAME, '-SNAPSHOT')" + env: + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }} \ No newline at end of file From 0a72874b9a5e575da41d221cad7abe0905abfe8b Mon Sep 17 00:00:00 2001 From: Matt Ramotar Date: Sat, 20 Sep 2025 10:18:17 -0400 Subject: [PATCH 02/10] Revert "Update CI (#714)" This reverts commit e963bf5f99484a842e5fbe6bf10ce74ac99d02d0. --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4baef40e..7deaf5ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,11 +26,11 @@ jobs: fetch-depth: 0 persist-credentials: false - - name: Set up JDK 17 + - name: Set up JDK 11 uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: '17' + java-version: '11' - name: Setup Gradle uses: gradle/gradle-build-action@v2 From 61933cae9c351e57e33f2449765f803b4b3c7b88 Mon Sep 17 00:00:00 2001 From: Matt Ramotar Date: Sat, 20 Sep 2025 10:18:58 -0400 Subject: [PATCH 03/10] Revert "Update Maven Publish Plugin (#711)" This reverts commit c8f8652c625024f103a6b3688f0ad93d2ad7335e. --- .github/workflows/ci.yml | 5 ++- .github/workflows/create_swift_package.yml | 7 ++++ RELEASING.md | 27 ++++++++------ build.gradle.kts | 7 ++-- cache/api/android/cache.api | 7 ++++ core/api/android/core.api | 7 ++++ gradle/libs.versions.toml | 14 +++++--- multicast/api/android/multicast.api | 7 ++++ rx2/api/rx2.api | 7 ++++ store/api/android/store.api | 7 ++++ store/build.gradle.kts | 3 ++ tooling/plugins/build.gradle.kts | 7 ++-- .../plugins/AndroidConventionPlugin.kt | 5 +-- .../KotlinMultiplatformConventionPlugin.kt | 35 ++++++++++++++----- 14 files changed, 111 insertions(+), 34 deletions(-) create mode 100644 .github/workflows/create_swift_package.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7deaf5ae..6f81dd60 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,12 +59,11 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 11 uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: '17' - cache: 'gradle' + java-version: '11' - name: Grant execute permission for Gradlew run: chmod +x gradlew diff --git a/.github/workflows/create_swift_package.yml b/.github/workflows/create_swift_package.yml new file mode 100644 index 00000000..dca0c1f9 --- /dev/null +++ b/.github/workflows/create_swift_package.yml @@ -0,0 +1,7 @@ +name: Create Swift Package + +on: + workflow_dispatch: +jobs: + publish: + uses: touchlab/KMMBridgeGithubWorkflow/.github/workflows/faktorybuildbranches.yml@v0.6 \ No newline at end of file diff --git a/RELEASING.md b/RELEASING.md index 4d4ad538..4d42171d 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -2,22 +2,27 @@ Releasing ======== 1. Change the version in top level `gradle.properties` to a non-SNAPSHOT version. -2. Update the `CHANGELOG.md` for the impending release. -3. Update the `README.md` with the new version. -4. `git commit -sam "Prepare for release X.Y.Z."` (where X.Y.Z is the new version) -5. `git tag -a X.Y.X -m "Version X.Y.Z"` (where X.Y.Z is the new version) +2. Update the `cocoapods` version in `build.gradle.kts` in `:store`. +3. Modify `create_swift_package.yml` workflow. + * https://github.com/MobileNativeFoundation/Store/blob/e526400cdf51aa2f78b6b7e9e87f4a6845e6dcea/.github/workflows/create_swift_package.yml +4. Update the `CHANGELOG.md` for the impending release. +5. Update the `README.md` with the new version. +6. `git commit -sam "Prepare for release X.Y.Z."` (where X.Y.Z is the new version) +7. `git tag -a X.Y.X -m "Version X.Y.Z"` (where X.Y.Z is the new version) * Run `git tag` to verify it. -6. `git push && git push --tags` +8. `git push && git push --tags` * This should be pushed to your fork. -7. Create a PR with this commit and merge it. -8. Update the top level `build.gradle` to the next SNAPSHOT version. -9. `git commit -am "Prepare next development version."` -10. Create a PR with this commit and merge it. -11. Login to Sonatype to promote the artifacts https://central.sonatype.org/pages/releasing-the-deployment.html +9. Create a PR with this commit and merge it. +10. Update the top level `build.gradle` to the next SNAPSHOT version. +11. Modify `create_swift_package.yml` workflow to only run manually. + * https://github.com/MobileNativeFoundation/Store/blob/de9ed1764408eeaafe5e58fe602205c875a8b0b0/.github/workflows/create_swift_package.yml +12. `git commit -am "Prepare next development version."` +13. Create a PR with this commit and merge it. +14. Login to Sonatype to promote the artifacts https://central.sonatype.org/pages/releasing-the-deployment.html * This part is automated. If it fails in CI, follow the steps below. * Click on Staging Repositories under Build Promotion * Select all the Repositories that contain the content you want to release * Click on Close and refresh until the Release button is active * Click Release and submit -12. Update the sample module's `build.gradle` to point to the newly released version. (It may take ~2 hours for artifact to be available after release) +15. Update the sample module's `build.gradle` to point to the newly released version. (It may take ~2 hours for artifact to be available after release) \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 806a21c3..b3dfe068 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,6 +19,7 @@ buildscript { classpath(libs.jacoco.gradle.plugin) classpath(libs.maven.publish.plugin) classpath(libs.atomic.fu.gradle.plugin) + classpath(libs.kmmBridge.gradle.plugin) classpath(libs.binary.compatibility.validator) } } @@ -48,13 +49,13 @@ subprojects { tasks { withType { kotlinOptions { - jvmTarget = "17" + jvmTarget = "11" } } withType().configureEach { - sourceCompatibility = JavaVersion.VERSION_17.name - targetCompatibility = JavaVersion.VERSION_17.name + sourceCompatibility = JavaVersion.VERSION_11.name + targetCompatibility = JavaVersion.VERSION_11.name } } diff --git a/cache/api/android/cache.api b/cache/api/android/cache.api index c7cdabcb..e64d0ebd 100644 --- a/cache/api/android/cache.api +++ b/cache/api/android/cache.api @@ -1,3 +1,10 @@ +public final class org/mobilenativefoundation/store/cache/BuildConfig { + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public fun ()V +} + public abstract interface class org/mobilenativefoundation/store/cache5/Cache { public abstract fun getAllPresent ()Ljava/util/Map; public abstract fun getAllPresent (Ljava/util/List;)Ljava/util/Map; diff --git a/core/api/android/core.api b/core/api/android/core.api index 7a452a0a..9203b623 100644 --- a/core/api/android/core.api +++ b/core/api/android/core.api @@ -1,3 +1,10 @@ +public final class org/mobilenativefoundation/store/core/BuildConfig { + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public fun ()V +} + public abstract interface annotation class org/mobilenativefoundation/store/core5/ExperimentalStoreApi : java/lang/annotation/Annotation { } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 226b34b8..ab936696 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,30 +1,35 @@ [versions] androidMinSdk = "24" androidCompileSdk = "33" -androidGradlePlugin = "8.0.2" +androidGradlePlugin = "7.4.2" androidTargetSdk = "33" atomicFu = "0.24.0" -baseKotlin = "2.1.21" +baseKotlin = "2.0.20" dokkaGradlePlugin = "1.9.20" ktlintGradle = "12.1.0" jacocoGradlePlugin = "0.8.12" -mavenPublishPlugin = "0.34.0" +mavenPublishPlugin = "0.22.0" moleculeGradlePlugin = "1.2.1" +pagingCompose = "3.3.0-alpha02" +pagingRuntime = "3.2.1" spotlessPluginGradle = "6.4.1" junit = "4.13.2" kotlinxCoroutines = "1.8.1" kotlinxSerialization = "1.6.3" kermit = "2.0.5" testCore = "1.6.1" +kmmBridge = "0.3.2" ktlint = "0.39.0" kover = "0.9.0-RC" store = "5.1.0-alpha07" truth = "1.1.3" turbine = "1.2.0" -binary-compatibility-validator = "0.16.3" +binary-compatibility-validator = "0.15.0-Beta.2" [libraries] android-gradle-plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" } +androidx-paging-compose = { module = "androidx.paging:paging-compose", version.ref = "pagingCompose" } +androidx-paging-runtime = { module = "androidx.paging:paging-runtime", version.ref = "pagingRuntime" } kotlin-gradle-plugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "baseKotlin" } kotlin-serialization-plugin = { group = "org.jetbrains.kotlin", name = "kotlin-serialization", version.ref = "baseKotlin" } dokka-gradle-plugin = { group = "org.jetbrains.dokka", name = "dokka-gradle-plugin", version.ref = "dokkaGradlePlugin" } @@ -34,6 +39,7 @@ maven-publish-plugin = { group = "com.vanniktech", name = "gradle-maven-publish- kover-gradle-plugin = {group = "org.jetbrains.kotlinx", name = "kover-gradle-plugin", version.ref = "kover"} atomic-fu-gradle-plugin = { group = "org.jetbrains.kotlinx", name = "atomicfu-gradle-plugin", version.ref = "atomicFu" } +kmmBridge-gradle-plugin = { group = "co.touchlab.faktory.kmmbridge", name = "co.touchlab.faktory.kmmbridge.gradle.plugin", version.ref = "kmmBridge" } kotlinx-atomic-fu = { group = "org.jetbrains.kotlinx", name = "atomicfu", version.ref = "atomicFu" } kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "baseKotlin" } diff --git a/multicast/api/android/multicast.api b/multicast/api/android/multicast.api index 98669994..5eadf977 100644 --- a/multicast/api/android/multicast.api +++ b/multicast/api/android/multicast.api @@ -1,3 +1,10 @@ +public final class org/mobilenativefoundation/store/multicast/BuildConfig { + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public fun ()V +} + public final class org/mobilenativefoundation/store/multicast5/Multicaster { public fun (Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/flow/Flow;ZZLkotlin/jvm/functions/Function2;)V public synthetic fun (Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/flow/Flow;ZZLkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V diff --git a/rx2/api/rx2.api b/rx2/api/rx2.api index 8c2b6797..9a26b9d7 100644 --- a/rx2/api/rx2.api +++ b/rx2/api/rx2.api @@ -1,3 +1,10 @@ +public final class org/mobilenativefoundation/store/rx2/BuildConfig { + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public fun ()V +} + public final class org/mobilenativefoundation/store/rx2/RxFetcherKt { public static final fun ofFlowable (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; public static final fun ofResultFlowable (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; diff --git a/store/api/android/store.api b/store/api/android/store.api index cc92814f..45a91c11 100644 --- a/store/api/android/store.api +++ b/store/api/android/store.api @@ -14,6 +14,13 @@ public final class org/mobilenativefoundation/store/store5/Bookkeeper$DefaultImp public static synthetic fun setLastFailedSync$default (Lorg/mobilenativefoundation/store/store5/Bookkeeper;Ljava/lang/Object;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; } +public final class org/mobilenativefoundation/store/store5/BuildConfig { + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public fun ()V +} + public abstract interface class org/mobilenativefoundation/store/store5/Clear { } diff --git a/store/build.gradle.kts b/store/build.gradle.kts index eb6f1843..4d9096f8 100644 --- a/store/build.gradle.kts +++ b/store/build.gradle.kts @@ -1,3 +1,6 @@ +import org.gradle.internal.impldep.org.testng.reporters.XMLUtils.xml + + plugins { id("org.mobilenativefoundation.store.multiplatform") alias(libs.plugins.kover) diff --git a/tooling/plugins/build.gradle.kts b/tooling/plugins/build.gradle.kts index 1d4fc618..49a28d78 100644 --- a/tooling/plugins/build.gradle.kts +++ b/tooling/plugins/build.gradle.kts @@ -5,11 +5,11 @@ plugins { group = "org.mobilenativefoundation.store" java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) + languageVersion.set(JavaLanguageVersion.of(11)) } } @@ -18,6 +18,7 @@ dependencies { compileOnly(libs.kotlin.gradle.plugin) compileOnly(libs.dokka.gradle.plugin) compileOnly(libs.maven.publish.plugin) + compileOnly(libs.kmmBridge.gradle.plugin) compileOnly(libs.atomic.fu.gradle.plugin) } diff --git a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt index ca96b4bd..a4cdfcf3 100644 --- a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt +++ b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt @@ -16,6 +16,7 @@ class AndroidConventionPlugin : Plugin { apply("com.vanniktech.maven.publish") apply("org.jetbrains.dokka") apply("maven-publish") + apply("org.jetbrains.kotlin.native.cocoapods") apply("org.jetbrains.kotlinx.binary-compatibility-validator") } @@ -37,8 +38,8 @@ class AndroidConventionPlugin : Plugin { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } } diff --git a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt index 35927daa..276e3d04 100644 --- a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt +++ b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt @@ -2,6 +2,8 @@ package org.mobilenativefoundation.store.tooling.plugins +import addGithubPackagesRepository +import co.touchlab.faktory.KmmBridgeExtension import com.android.build.api.dsl.LibraryExtension import com.vanniktech.maven.publish.MavenPublishBaseExtension import kotlinx.atomicfu.plugin.gradle.AtomicFUPluginExtension @@ -28,7 +30,9 @@ class KotlinMultiplatformConventionPlugin : Plugin { apply("com.android.library") apply("com.vanniktech.maven.publish") apply("org.jetbrains.dokka") + apply("co.touchlab.faktory.kmmbridge") apply("maven-publish") + apply("org.jetbrains.kotlin.native.cocoapods") apply("kotlinx-atomicfu") apply("org.jetbrains.kotlinx.binary-compatibility-validator") } @@ -36,9 +40,10 @@ class KotlinMultiplatformConventionPlugin : Plugin { extensions.configure { - androidTarget() applyDefaultHierarchyTemplate() + androidTarget() + jvm() iosX64() @@ -57,7 +62,7 @@ class KotlinMultiplatformConventionPlugin : Plugin { nodejs() } - jvmToolchain(17) + jvmToolchain(11) targets.all { compilations.all { @@ -117,6 +122,8 @@ class KotlinMultiplatformConventionPlugin : Plugin { configureAndroid() configureDokka() configureMavenPublishing() + addGithubPackagesRepository() + configureKmmBridge() configureAtomicFu() } } @@ -129,14 +136,13 @@ fun Project.configureKotlin() { fun Project.configureJava() { java { toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) + languageVersion.set(JavaLanguageVersion.of(11)) } } } fun Project.configureAndroid() { android { - namespace = "org.mobilenativefoundation.store.$name" sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") compileSdk = Versions.COMPILE_SDK defaultConfig { @@ -151,8 +157,8 @@ fun Project.configureAndroid() { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } } } @@ -177,6 +183,13 @@ fun Project.configureMavenPublishing() = extensions.configure { + githubReleaseArtifacts() + githubReleaseVersions() + versionPrefix.set(Versions.STORE) + spm() +} + fun Project.configureAtomicFu() = extensions.configure { transformJvm = false @@ -187,6 +200,12 @@ fun Project.configureDokka() = tasks.withType().configureEach { dokkaSourceSets.configureEach { reportUndocumented.set(false) skipDeprecated.set(true) - jdkVersion.set(17) + jdkVersion.set(11) } -} \ No newline at end of file +} + +fun Project.android(name: String) { + android { + namespace = "org.mobilenativefoundation.store.$name" + } +} From 2f6f3c6a802210bbf42b9046c16b21fee839efcc Mon Sep 17 00:00:00 2001 From: Matt Ramotar Date: Sat, 20 Sep 2025 10:20:11 -0400 Subject: [PATCH 04/10] Revert "Remove S01 (#709)" This reverts commit 99571d3f2eed81bd7fdf0a0a762e4b627a5d6ee5. --- .../tooling/plugins/KotlinMultiplatformConventionPlugin.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt index 276e3d04..cf7496cf 100644 --- a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt +++ b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt @@ -6,6 +6,7 @@ import addGithubPackagesRepository import co.touchlab.faktory.KmmBridgeExtension import com.android.build.api.dsl.LibraryExtension import com.vanniktech.maven.publish.MavenPublishBaseExtension +import com.vanniktech.maven.publish.SonatypeHost.S01 import kotlinx.atomicfu.plugin.gradle.AtomicFUPluginExtension import org.gradle.api.JavaVersion import org.gradle.api.Plugin @@ -178,7 +179,7 @@ object Versions { fun Project.configureMavenPublishing() = extensions.configure { - publishToMavenCentral(automaticRelease = true) + publishToMavenCentral(S01) signAllPublications() } From 4bf2f60cd0407316e7952cef17d7714681ca9d08 Mon Sep 17 00:00:00 2001 From: Matt Ramotar Date: Sat, 20 Sep 2025 11:22:55 -0400 Subject: [PATCH 05/10] Upgrade Maven Publish Plugin to 0.34.0 and AGP to Min Supported Version (8.0.0) Signed-off-by: Matt Ramotar --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ab936696..1bf38f20 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,14 +1,14 @@ [versions] androidMinSdk = "24" androidCompileSdk = "33" -androidGradlePlugin = "7.4.2" +androidGradlePlugin = "8.0.0" androidTargetSdk = "33" atomicFu = "0.24.0" baseKotlin = "2.0.20" dokkaGradlePlugin = "1.9.20" ktlintGradle = "12.1.0" jacocoGradlePlugin = "0.8.12" -mavenPublishPlugin = "0.22.0" +mavenPublishPlugin = "0.34.0" moleculeGradlePlugin = "1.2.1" pagingCompose = "3.3.0-alpha02" pagingRuntime = "3.2.1" From 90e9372d4b4b230e3a24e427f9001006377f3f93 Mon Sep 17 00:00:00 2001 From: Matt Ramotar Date: Sat, 20 Sep 2025 11:23:16 -0400 Subject: [PATCH 06/10] Update Cocoapods Configuration Signed-off-by: Matt Ramotar --- .../plugins/KotlinMultiplatformConventionPlugin.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt index cf7496cf..ddfcabc4 100644 --- a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt +++ b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt @@ -6,11 +6,11 @@ import addGithubPackagesRepository import co.touchlab.faktory.KmmBridgeExtension import com.android.build.api.dsl.LibraryExtension import com.vanniktech.maven.publish.MavenPublishBaseExtension -import com.vanniktech.maven.publish.SonatypeHost.S01 import kotlinx.atomicfu.plugin.gradle.AtomicFUPluginExtension import org.gradle.api.JavaVersion import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.JavaPluginExtension import org.gradle.jvm.toolchain.JavaLanguageVersion import org.gradle.kotlin.dsl.configure @@ -19,6 +19,7 @@ import org.gradle.kotlin.dsl.withType import org.jetbrains.dokka.gradle.DokkaTask import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension +import org.jetbrains.kotlin.gradle.plugin.cocoapods.CocoapodsExtension import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget class KotlinMultiplatformConventionPlugin : Plugin { @@ -116,7 +117,7 @@ class KotlinMultiplatformConventionPlugin : Plugin { dependsOn(sourceSets.getByName("commonMain")) } - + configureCocoapods() } configureKotlin() @@ -179,7 +180,7 @@ object Versions { fun Project.configureMavenPublishing() = extensions.configure { - publishToMavenCentral(S01) + publishToMavenCentral() signAllPublications() } @@ -210,3 +211,9 @@ fun Project.android(name: String) { namespace = "org.mobilenativefoundation.store.$name" } } + +fun KotlinMultiplatformExtension.configureCocoapods(){ + (this as ExtensionAware).extensions.configure(CocoapodsExtension::class.java) { + version = Versions.STORE + } +} \ No newline at end of file From 4a9c99d0b46de1ea700edd5f78572f925337ebbf Mon Sep 17 00:00:00 2001 From: Matt Ramotar Date: Sat, 20 Sep 2025 11:38:15 -0400 Subject: [PATCH 07/10] Api Dump Signed-off-by: Matt Ramotar --- cache/api/android/cache.api | 7 ------- core/api/android/core.api | 7 ------- multicast/api/android/multicast.api | 7 ------- rx2/api/rx2.api | 7 ------- store/api/android/store.api | 7 ------- 5 files changed, 35 deletions(-) diff --git a/cache/api/android/cache.api b/cache/api/android/cache.api index e64d0ebd..c7cdabcb 100644 --- a/cache/api/android/cache.api +++ b/cache/api/android/cache.api @@ -1,10 +1,3 @@ -public final class org/mobilenativefoundation/store/cache/BuildConfig { - public static final field BUILD_TYPE Ljava/lang/String; - public static final field DEBUG Z - public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; - public fun ()V -} - public abstract interface class org/mobilenativefoundation/store/cache5/Cache { public abstract fun getAllPresent ()Ljava/util/Map; public abstract fun getAllPresent (Ljava/util/List;)Ljava/util/Map; diff --git a/core/api/android/core.api b/core/api/android/core.api index 9203b623..7a452a0a 100644 --- a/core/api/android/core.api +++ b/core/api/android/core.api @@ -1,10 +1,3 @@ -public final class org/mobilenativefoundation/store/core/BuildConfig { - public static final field BUILD_TYPE Ljava/lang/String; - public static final field DEBUG Z - public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; - public fun ()V -} - public abstract interface annotation class org/mobilenativefoundation/store/core5/ExperimentalStoreApi : java/lang/annotation/Annotation { } diff --git a/multicast/api/android/multicast.api b/multicast/api/android/multicast.api index 5eadf977..98669994 100644 --- a/multicast/api/android/multicast.api +++ b/multicast/api/android/multicast.api @@ -1,10 +1,3 @@ -public final class org/mobilenativefoundation/store/multicast/BuildConfig { - public static final field BUILD_TYPE Ljava/lang/String; - public static final field DEBUG Z - public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; - public fun ()V -} - public final class org/mobilenativefoundation/store/multicast5/Multicaster { public fun (Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/flow/Flow;ZZLkotlin/jvm/functions/Function2;)V public synthetic fun (Lkotlinx/coroutines/CoroutineScope;ILkotlinx/coroutines/flow/Flow;ZZLkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V diff --git a/rx2/api/rx2.api b/rx2/api/rx2.api index 9a26b9d7..8c2b6797 100644 --- a/rx2/api/rx2.api +++ b/rx2/api/rx2.api @@ -1,10 +1,3 @@ -public final class org/mobilenativefoundation/store/rx2/BuildConfig { - public static final field BUILD_TYPE Ljava/lang/String; - public static final field DEBUG Z - public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; - public fun ()V -} - public final class org/mobilenativefoundation/store/rx2/RxFetcherKt { public static final fun ofFlowable (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; public static final fun ofResultFlowable (Lorg/mobilenativefoundation/store/store5/Fetcher$Companion;Lkotlin/jvm/functions/Function1;)Lorg/mobilenativefoundation/store/store5/Fetcher; diff --git a/store/api/android/store.api b/store/api/android/store.api index 45a91c11..cc92814f 100644 --- a/store/api/android/store.api +++ b/store/api/android/store.api @@ -14,13 +14,6 @@ public final class org/mobilenativefoundation/store/store5/Bookkeeper$DefaultImp public static synthetic fun setLastFailedSync$default (Lorg/mobilenativefoundation/store/store5/Bookkeeper;Ljava/lang/Object;JLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; } -public final class org/mobilenativefoundation/store/store5/BuildConfig { - public static final field BUILD_TYPE Ljava/lang/String; - public static final field DEBUG Z - public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; - public fun ()V -} - public abstract interface class org/mobilenativefoundation/store/store5/Clear { } From 3fb86a88590e77e4c4557069b56ba83da34f8807 Mon Sep 17 00:00:00 2001 From: matt-ramotar Date: Sat, 20 Sep 2025 11:54:59 -0400 Subject: [PATCH 08/10] Remove xml import Signed-off-by: Matt Ramotar --- store/build.gradle.kts | 3 --- 1 file changed, 3 deletions(-) diff --git a/store/build.gradle.kts b/store/build.gradle.kts index 4d9096f8..eb6f1843 100644 --- a/store/build.gradle.kts +++ b/store/build.gradle.kts @@ -1,6 +1,3 @@ -import org.gradle.internal.impldep.org.testng.reporters.XMLUtils.xml - - plugins { id("org.mobilenativefoundation.store.multiplatform") alias(libs.plugins.kover) From a505b9b2ce3b43e891a3366c1385d3578ae95003 Mon Sep 17 00:00:00 2001 From: Matt Ramotar Date: Sat, 20 Sep 2025 12:01:42 -0400 Subject: [PATCH 09/10] Update CI to use JDK 17 Signed-off-by: Matt Ramotar --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6f81dd60..383e3921 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,11 +26,11 @@ jobs: fetch-depth: 0 persist-credentials: false - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: '11' + java-version: '17' - name: Setup Gradle uses: gradle/gradle-build-action@v2 @@ -59,11 +59,11 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: '11' + java-version: '17' - name: Grant execute permission for Gradlew run: chmod +x gradlew From 3c1b0f5da173b924a2e4302ccad3d3118fa5325a Mon Sep 17 00:00:00 2001 From: Matt Ramotar Date: Sat, 20 Sep 2025 12:20:30 -0400 Subject: [PATCH 10/10] Fix AndroidConventionPlugin Signed-off-by: Matt Ramotar --- .../store/tooling/plugins/AndroidConventionPlugin.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt index a4cdfcf3..7f105a3d 100644 --- a/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt +++ b/tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/AndroidConventionPlugin.kt @@ -16,7 +16,6 @@ class AndroidConventionPlugin : Plugin { apply("com.vanniktech.maven.publish") apply("org.jetbrains.dokka") apply("maven-publish") - apply("org.jetbrains.kotlin.native.cocoapods") apply("org.jetbrains.kotlinx.binary-compatibility-validator") }