From ed8a6c99753394598d56e346bc094f0d5311205f Mon Sep 17 00:00:00 2001
From: John O'Reilly <oreillyj@gmail.com>
Date: Thu, 4 Apr 2024 20:35:10 +0100
Subject: [PATCH] update kmmbridge

---
 .github/workflows/publish-kmmbridge.yml | 38 ++++++++-----------------
 buildSrc/build.gradle.kts               |  1 -
 gradle.properties                       |  6 +++-
 gradle/libs.versions.toml               |  5 ++--
 shared/build.gradle.kts                 |  7 +++--
 5 files changed, 24 insertions(+), 33 deletions(-)

diff --git a/.github/workflows/publish-kmmbridge.yml b/.github/workflows/publish-kmmbridge.yml
index adb1ea62f..c9e80024c 100644
--- a/.github/workflows/publish-kmmbridge.yml
+++ b/.github/workflows/publish-kmmbridge.yml
@@ -1,29 +1,15 @@
-name: Publish KMMBridge
-
+name: iOS Publish
 on:
   workflow_dispatch:
-
-env:
-  MAVEN_USERNAME: ${{ secrets.REPSY_USERNAME }}
-  MAVEN_PASSWORD: ${{ secrets.REPSY_PASSWORD }}
-
+#  push:
+#    branches:
+#      - "main"
 jobs:
-  kmm-publish:
-    runs-on: macos-12
-    steps:
-      - uses: actions/checkout@v4
-
-      - uses: actions/setup-java@v4
-        with:
-          distribution: 'zulu'
-          java-version: 17
-
-      - name: Setup Gradle
-        uses: gradle/gradle-build-action@v3.1.0
-        with:
-          gradle-home-cache-cleanup: true
-
-      - name: Build
-        run:
-          ./gradlew  -PENABLE_PUBLISHING=true -PGITHUB_PUBLISH_TOKEN=${{ secrets.GITHUB_TOKEN }} -PGITHUB_REPO=${{ github.repository }} kmmBridgePublish
-
+  call-kmmbridge-publish:
+    permissions:
+      contents: write
+      packages: write
+    uses: touchlab/KMMBridgeGithubWorkflow/.github/workflows/faktorybuildautoversion.yml@v1.1
+    with:
+      jvmVersion: 17
+      versionBaseProperty: LIBRARY_VERSION
\ No newline at end of file
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index 9ae3e2678..5c1b88ad4 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -13,7 +13,6 @@ dependencies {
     implementation(libs.plugin.kotlin.serialization)
     implementation(libs.plugin.kotlin.spring)
     implementation(libs.plugin.spring.boot)
-    implementation(libs.plugin.kmmbridge)
     implementation(libs.plugin.google.services)
     implementation(libs.plugin.firebase.crashlytics) {
         // Crashlytics depends on datastore v1.0 but we're using v1.1
diff --git a/gradle.properties b/gradle.properties
index c70e2b4e1..82f1c8e9e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -18,4 +18,8 @@ org.jetbrains.compose.experimental.uikit.enabled=true
 org.jetbrains.compose.experimental.macos.enabled=true
 org.jetbrains.compose.experimental.wasm.enabled=true
 
-kotlin.experimental.tryK2=true
\ No newline at end of file
+kotlin.experimental.tryK2=true
+
+# KMMBridge
+LIBRARY_VERSION=0.9
+GROUP=dev.johnoreilly.confetti
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 5950bfdc4..65e31ab61 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -19,6 +19,7 @@ io-coil-kt = "2.6.0"
 io-coil3-kt = "3.0.0-alpha06"
 kmp-nativecoroutines = "1.0.0-ALPHA-25"
 kmm-viewmodel = "1.0.0-ALPHA-20"
+kmmbridge = "0.5.2"
 koin-android = "3.5.3"
 koin-android-compose = "3.5.3"
 koin-compose-multiplatform = "1.1.2"
@@ -166,7 +167,6 @@ plugin-android-application = "com.android.tools.build:gradle:8.2.2"
 plugin-apollo = { module = "com.apollographql.apollo3:apollo-gradle-plugin", version.ref = "apollo" }
 plugin-firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics-gradle", version = "2.9.9" }
 plugin-google-services = "com.google.gms:google-services:4.4.1"
-plugin-kmmbridge = "co.touchlab.faktory:kmmbridge:0.3.7"
 plugin-kmp-nativecoroutines = { module = "com.rickclephas.kmp:kmp-nativecoroutines-gradle-plugin", version.ref = "kmp-nativecoroutines" }
 plugin-kotlin-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin" }
 plugin-kotlin-spring = { module = "org.jetbrains.kotlin:kotlin-allopen", version.ref = "kotlin" }
@@ -209,4 +209,5 @@ multiplatform-settings = ["multiplatform-settings", "multiplatform-settings-coro
 apollo = ["apollo-normalized-cache-in-memory", "apollo-normalized-cache-sqlite", "apollo-adapters"]
 
 [plugins]
-buildkonfig = { id = "com.codingfeline.buildkonfig", version.ref = "buildkonfig" }
\ No newline at end of file
+buildkonfig = { id = "com.codingfeline.buildkonfig", version.ref = "buildkonfig" }
+kmmbridge = { id = "co.touchlab.kmmbridge", version.ref = "kmmbridge" }
diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts
index 49d572103..4511c15e7 100644
--- a/shared/build.gradle.kts
+++ b/shared/build.gradle.kts
@@ -8,11 +8,11 @@ plugins {
     id("com.apollographql.apollo3")
     id("org.jetbrains.compose")
     id("com.google.devtools.ksp")
-    id("co.touchlab.faktory.kmmbridge")
     id("com.squareup.wire")
     id("maven-publish")
     id("kotlinx-serialization")
     id("io.github.luca992.multiplatform-swiftpackage") version "2.2.1"
+    alias(libs.plugins.kmmbridge)
     alias(libs.plugins.buildkonfig)
 }
 
@@ -218,12 +218,13 @@ dependencies {
     coreLibraryDesugaring(libs.desugar)
 }
 
+version = "0.9"
 kmmbridge {
     frameworkName.set("ConfettiKit")
+    addGithubPackagesRepository()
     mavenPublishArtifacts()
-    githubReleaseVersions()
     spm()
-    versionPrefix.set("0.8")
+    timestampVersions()
 }
 
 kotlin.sourceSets.all {