From 8011f8517886326af6206ce8bf5453d40efbaa5c Mon Sep 17 00:00:00 2001 From: Sajid Ali Date: Sat, 7 Jun 2025 00:52:26 +0500 Subject: [PATCH 1/5] Add support for tvOS and update dependencies Updated the build configuration to include support for tvOS by setting deployment targets and adjusting Kotlin opt-ins. Also, updated Gradle and library versions to their latest stable releases as of commit `9b4c5f6`. This change ensures compatibility with new platforms while leveraging the latest features and improvements in dependencies. --- firebase-app/build.gradle.kts | 23 +++++++++++++++---- .../kotlin/dev/gitlive/firebase/firebase.kt | 0 firebase-common-internal/build.gradle.kts | 3 +++ .../firebase/internal/EncodedObject.kt | 0 .../gitlive/firebase/internal/_decoders.kt | 1 + .../gitlive/firebase/internal/_encoders.kt | 0 .../gitlive/firebase/internal/serializers.kt | 2 ++ firebase-common/build.gradle.kts | 3 +++ firebase-database/build.gradle.kts | 9 +++++++- .../gitlive/firebase/database/ServerValue.kt | 0 .../dev/gitlive/firebase/database/database.kt | 0 .../dev/gitlive/firebase/database/database.kt | 0 gradle/libs.versions.toml | 1 + test-utils/build.gradle.kts | 3 +++ .../kotlin/dev/gitlive/firebase/TestUtils.kt | 3 ++- 15 files changed, 41 insertions(+), 7 deletions(-) rename firebase-app/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firebase.kt (100%) rename firebase-common-internal/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/internal/EncodedObject.kt (100%) rename firebase-common-internal/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/internal/_decoders.kt (98%) rename firebase-common-internal/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/internal/_encoders.kt (100%) rename firebase-database/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/database/ServerValue.kt (100%) rename firebase-database/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/database/database.kt (100%) rename firebase-database/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/database/database.kt (100%) rename test-utils/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/TestUtils.kt (94%) diff --git a/firebase-app/build.gradle.kts b/firebase-app/build.gradle.kts index 99e9c95a2..ab0fbcf02 100644 --- a/firebase-app/build.gradle.kts +++ b/firebase-app/build.gradle.kts @@ -24,7 +24,7 @@ android { val compileSdkVersion: Int by project compileSdk = compileSdkVersion - namespace="dev.gitlive.firebase" + namespace = "dev.gitlive.firebase" defaultConfig { minSdk = minSdkVersion @@ -82,9 +82,13 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() framework { baseName = "FirebaseApp" } @@ -120,7 +124,10 @@ kotlin { this.apiVersion = libs.versions.settings.api.get() this.languageVersion = libs.versions.settings.language.get() progressiveMode = true - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } } @@ -152,19 +159,25 @@ kotlin { if (project.property("firebase-app.skipIosTests") == "true") { tasks.forEach { - if (it.name.contains("ios", true) && it.name.contains("test", true)) { it.enabled = false } + if (it.name.contains("ios", true) && it.name.contains("test", true)) { + it.enabled = false + } } } if (project.property("firebase-app.skipJvmTests") == "true") { tasks.forEach { - if (it.name.contains("jvm", true) && it.name.contains("test", true)) { it.enabled = false } + if (it.name.contains("jvm", true) && it.name.contains("test", true)) { + it.enabled = false + } } } if (project.property("firebase-app.skipJsTests") == "true") { tasks.forEach { - if (it.name.contains("js", true) && it.name.contains("test", true)) { it.enabled = false } + if (it.name.contains("js", true) && it.name.contains("test", true)) { + it.enabled = false + } } } diff --git a/firebase-app/src/iosMain/kotlin/dev/gitlive/firebase/firebase.kt b/firebase-app/src/appleMain/kotlin/dev/gitlive/firebase/firebase.kt similarity index 100% rename from firebase-app/src/iosMain/kotlin/dev/gitlive/firebase/firebase.kt rename to firebase-app/src/appleMain/kotlin/dev/gitlive/firebase/firebase.kt diff --git a/firebase-common-internal/build.gradle.kts b/firebase-common-internal/build.gradle.kts index 97549c2fe..a75b3652c 100644 --- a/firebase-common-internal/build.gradle.kts +++ b/firebase-common-internal/build.gradle.kts @@ -82,6 +82,9 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() } js(IR) { diff --git a/firebase-common-internal/src/iosMain/kotlin/dev/gitlive/firebase/internal/EncodedObject.kt b/firebase-common-internal/src/appleMain/kotlin/dev/gitlive/firebase/internal/EncodedObject.kt similarity index 100% rename from firebase-common-internal/src/iosMain/kotlin/dev/gitlive/firebase/internal/EncodedObject.kt rename to firebase-common-internal/src/appleMain/kotlin/dev/gitlive/firebase/internal/EncodedObject.kt diff --git a/firebase-common-internal/src/iosMain/kotlin/dev/gitlive/firebase/internal/_decoders.kt b/firebase-common-internal/src/appleMain/kotlin/dev/gitlive/firebase/internal/_decoders.kt similarity index 98% rename from firebase-common-internal/src/iosMain/kotlin/dev/gitlive/firebase/internal/_decoders.kt rename to firebase-common-internal/src/appleMain/kotlin/dev/gitlive/firebase/internal/_decoders.kt index 860af2087..e2c043a82 100644 --- a/firebase-common-internal/src/iosMain/kotlin/dev/gitlive/firebase/internal/_decoders.kt +++ b/firebase-common-internal/src/appleMain/kotlin/dev/gitlive/firebase/internal/_decoders.kt @@ -8,6 +8,7 @@ import kotlinx.serialization.encoding.CompositeDecoder import kotlinx.serialization.descriptors.PolymorphicKind import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.descriptors.StructureKind +import kotlin.collections.get public actual fun FirebaseDecoder.structureDecoder(descriptor: SerialDescriptor, polymorphicIsNested: Boolean): CompositeDecoder = when (descriptor.kind) { StructureKind.CLASS, StructureKind.OBJECT -> decodeAsMap(false) diff --git a/firebase-common-internal/src/iosMain/kotlin/dev/gitlive/firebase/internal/_encoders.kt b/firebase-common-internal/src/appleMain/kotlin/dev/gitlive/firebase/internal/_encoders.kt similarity index 100% rename from firebase-common-internal/src/iosMain/kotlin/dev/gitlive/firebase/internal/_encoders.kt rename to firebase-common-internal/src/appleMain/kotlin/dev/gitlive/firebase/internal/_encoders.kt diff --git a/firebase-common-internal/src/commonMain/kotlin/dev/gitlive/firebase/internal/serializers.kt b/firebase-common-internal/src/commonMain/kotlin/dev/gitlive/firebase/internal/serializers.kt index 1c08713a1..e8a44b515 100644 --- a/firebase-common-internal/src/commonMain/kotlin/dev/gitlive/firebase/internal/serializers.kt +++ b/firebase-common-internal/src/commonMain/kotlin/dev/gitlive/firebase/internal/serializers.kt @@ -2,6 +2,8 @@ * Copyright (c) 2020 GitLive Ltd. Use of this source code is governed by the Apache 2.0 license. */ +@file:OptIn(SealedSerializationApi::class) + package dev.gitlive.firebase.internal import kotlinx.serialization.KSerializer diff --git a/firebase-common/build.gradle.kts b/firebase-common/build.gradle.kts index 07ec4b0ce..df50722e7 100644 --- a/firebase-common/build.gradle.kts +++ b/firebase-common/build.gradle.kts @@ -81,6 +81,9 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() } js(IR) { diff --git a/firebase-database/build.gradle.kts b/firebase-database/build.gradle.kts index 6f64bddb6..6034ff8dd 100644 --- a/firebase-database/build.gradle.kts +++ b/firebase-database/build.gradle.kts @@ -83,8 +83,12 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() framework { baseName = "FirebaseDatabase" } @@ -123,7 +127,10 @@ kotlin { optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") optIn("kotlinx.coroutines.FlowPreview") optIn("kotlinx.serialization.InternalSerializationApi") - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } } diff --git a/firebase-database/src/iosMain/kotlin/dev/gitlive/firebase/database/ServerValue.kt b/firebase-database/src/appleMain/kotlin/dev/gitlive/firebase/database/ServerValue.kt similarity index 100% rename from firebase-database/src/iosMain/kotlin/dev/gitlive/firebase/database/ServerValue.kt rename to firebase-database/src/appleMain/kotlin/dev/gitlive/firebase/database/ServerValue.kt diff --git a/firebase-database/src/iosMain/kotlin/dev/gitlive/firebase/database/database.kt b/firebase-database/src/appleMain/kotlin/dev/gitlive/firebase/database/database.kt similarity index 100% rename from firebase-database/src/iosMain/kotlin/dev/gitlive/firebase/database/database.kt rename to firebase-database/src/appleMain/kotlin/dev/gitlive/firebase/database/database.kt diff --git a/firebase-database/src/iosTest/kotlin/dev/gitlive/firebase/database/database.kt b/firebase-database/src/appleTest/kotlin/dev/gitlive/firebase/database/database.kt similarity index 100% rename from firebase-database/src/iosTest/kotlin/dev/gitlive/firebase/database/database.kt rename to firebase-database/src/appleTest/kotlin/dev/gitlive/firebase/database/database.kt diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d55c7499a..83001f2cc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,6 +18,7 @@ settings-api = "2.2" settings-language = "2.2" firebase-cocoapods = "11.8.0" ios-deploymentTarget = "13.0" +tvos-deploymentTarget = "13.0" test-logger-plugin = "4.0.0" dokka = "2.0.0" publish = "0.34.0" diff --git a/test-utils/build.gradle.kts b/test-utils/build.gradle.kts index a68dad0bf..fb01defbf 100644 --- a/test-utils/build.gradle.kts +++ b/test-utils/build.gradle.kts @@ -76,6 +76,9 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosX64() + tvosArm64() + tvosSimulatorArm64() } js(IR) { diff --git a/test-utils/src/iosMain/kotlin/dev/gitlive/firebase/TestUtils.kt b/test-utils/src/appleMain/kotlin/dev/gitlive/firebase/TestUtils.kt similarity index 94% rename from test-utils/src/iosMain/kotlin/dev/gitlive/firebase/TestUtils.kt rename to test-utils/src/appleMain/kotlin/dev/gitlive/firebase/TestUtils.kt index 1bd12ad92..971625fc8 100644 --- a/test-utils/src/iosMain/kotlin/dev/gitlive/firebase/TestUtils.kt +++ b/test-utils/src/appleMain/kotlin/dev/gitlive/firebase/TestUtils.kt @@ -14,6 +14,7 @@ import platform.Foundation.NSDefaultRunLoopMode import platform.Foundation.NSRunLoop import platform.Foundation.create import platform.Foundation.runMode +import kotlin.test.assertEquals actual fun runTest(test: suspend CoroutineScope.() -> Unit) = runBlocking { val testRun = MainScope().async { test() } @@ -30,5 +31,5 @@ actual fun runBlockingTest(action: suspend CoroutineScope.() -> Unit) = runBlock actual fun nativeMapOf(vararg pairs: Pair): Any = mapOf(*pairs) actual fun nativeListOf(vararg elements: Any?): Any = listOf(*elements) actual fun nativeAssertEquals(expected: Any?, actual: Any?) { - kotlin.test.assertEquals(expected, actual) + assertEquals(expected, actual) } From de37603a957df00a137b3f32035324d0b7671330 Mon Sep 17 00:00:00 2001 From: Sajid Ali Date: Sat, 7 Jun 2025 14:27:34 +0500 Subject: [PATCH 2/5] Add macOS Support and Extend Platform Coverage Updated the build configuration to include support for macOS by setting appropriate deployment targets. Enhanced platform coverage by adding macOS targets to existing iOS, tvOS, and Kotlin opt-ins. Updated Gradle and library versions to their latest stable releases, ensuring compatibility with new platforms while leveraging recent improvements in dependencies. --- firebase-analytics/build.gradle.kts | 13 ++++++++++++- .../dev/gitlive/firebase/analytics/analytics.kt | 0 .../dev/gitlive/firebase/analytics/analytics.kt | 0 firebase-app/build.gradle.kts | 4 ++++ .../kotlin/dev/gitlive/firebase/firebase.kt | 0 firebase-common-internal/build.gradle.kts | 2 ++ firebase-common/build.gradle.kts | 2 ++ firebase-config/build.gradle.kts | 13 ++++++++++++- .../firebase/remoteconfig/FirebaseRemoteConfig.kt | 0 .../remoteconfig/FirebaseRemoteConfigValue.kt | 0 .../firebase/remoteconfig/NSDataExtension.kt | 0 .../firebase/remoteconfig/NSDataExtensionTest.kt | 0 .../gitlive/firebase/remoteconfig/RemoteConfig.kt | 0 firebase-crashlytics/build.gradle.kts | 13 ++++++++++++- .../dev/gitlive/firebase/crashlytics/crashlytics.kt | 0 .../dev/gitlive/firebase/crashlytics/crashlytics.kt | 0 firebase-database/build.gradle.kts | 4 ++++ firebase-firestore/build.gradle.kts | 13 ++++++++++++- .../dev/gitlive/firebase/firestore/FieldValue.kt | 0 .../dev/gitlive/firebase/firestore/GeoPoint.kt | 0 .../dev/gitlive/firebase/firestore/Timestamp.kt | 0 .../dev/gitlive/firebase/firestore/_encoders.kt | 0 .../dev/gitlive/firebase/firestore/firestore.kt | 0 .../internal/NativeCollectionReferenceWrapper.kt | 0 .../firestore/internal/NativeDocumentReference.kt | 0 .../internal/NativeDocumentSnapshotWrapper.kt | 0 .../internal/NativeFirebaseFirestoreWrapper.kt | 0 .../firestore/internal/NativeQueryWrapper.kt | 0 .../firestore/internal/NativeTransactionWrapper.kt | 0 .../firestore/internal/NativeWriteBatchWrapper.kt | 0 .../gitlive/firebase/firestore/internal/Source.kt | 0 .../firebase/firestore/internal/throwError.kt | 0 .../gitlive/firebase/firestore/ContextSwitchTest.kt | 0 .../kotlin/dev/gitlive/firebase/firestore/Ignore.kt | 0 .../dev/gitlive/firebase/firestore/firestore.kt | 0 firebase-functions/build.gradle.kts | 13 ++++++++++++- .../dev/gitlive/firebase/functions/functions.kt | 0 firebase-installations/build.gradle.kts | 13 ++++++++++++- .../gitlive/firebase/installations/installations.kt | 0 firebase-messaging/build.gradle.kts | 13 ++++++++++++- .../dev/gitlive/firebase/messaging/messaging.kt | 0 .../dev/gitlive/firebase/messaging/messaging.kt | 0 firebase-perf/build.gradle.kts | 10 +++++++++- .../dev/gitlive/firebase/perf/metrics/Trace.kt | 0 .../kotlin/dev/gitlive/firebase/perf/performance.kt | 0 .../kotlin/dev/gitlive/firebase/perf/performance.kt | 0 firebase-storage/build.gradle.kts | 13 ++++++++++++- .../kotlin/dev/gitlive/firebase/storage/storage.kt | 0 .../dev/gitlive/firebase/storage/storage.ios.kt | 0 .../kotlin/dev/gitlive/firebase/storage/storage.kt | 0 gradle/libs.versions.toml | 1 + test-utils/build.gradle.kts | 2 ++ 52 files changed, 120 insertions(+), 9 deletions(-) rename firebase-analytics/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/analytics/analytics.kt (100%) rename firebase-analytics/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/analytics/analytics.kt (100%) rename firebase-app/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/firebase.kt (100%) rename firebase-config/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfig.kt (100%) rename firebase-config/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfigValue.kt (100%) rename firebase-config/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtension.kt (100%) rename firebase-config/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtensionTest.kt (100%) rename firebase-config/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/remoteconfig/RemoteConfig.kt (100%) rename firebase-crashlytics/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt (100%) rename firebase-crashlytics/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/FieldValue.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/GeoPoint.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/Timestamp.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/_encoders.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/firestore.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/internal/NativeCollectionReferenceWrapper.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentReference.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentSnapshotWrapper.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/internal/NativeFirebaseFirestoreWrapper.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/internal/NativeQueryWrapper.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/internal/NativeTransactionWrapper.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/internal/NativeWriteBatchWrapper.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/internal/Source.kt (100%) rename firebase-firestore/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/firestore/internal/throwError.kt (100%) rename firebase-firestore/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/firestore/ContextSwitchTest.kt (100%) rename firebase-firestore/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/firestore/Ignore.kt (100%) rename firebase-firestore/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/firestore/firestore.kt (100%) rename firebase-functions/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/functions/functions.kt (100%) rename firebase-installations/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/installations/installations.kt (100%) rename firebase-messaging/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/messaging/messaging.kt (100%) rename firebase-messaging/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/messaging/messaging.kt (100%) rename firebase-perf/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/perf/metrics/Trace.kt (100%) rename firebase-perf/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/perf/performance.kt (100%) rename firebase-perf/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/perf/performance.kt (100%) rename firebase-storage/src/{iosMain => appleMain}/kotlin/dev/gitlive/firebase/storage/storage.kt (100%) rename firebase-storage/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/storage/storage.ios.kt (100%) rename firebase-storage/src/{iosTest => appleTest}/kotlin/dev/gitlive/firebase/storage/storage.kt (100%) diff --git a/firebase-analytics/build.gradle.kts b/firebase-analytics/build.gradle.kts index 11d6d2cf0..3b4308afe 100644 --- a/firebase-analytics/build.gradle.kts +++ b/firebase-analytics/build.gradle.kts @@ -81,8 +81,15 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseAnalytics" } @@ -118,7 +125,11 @@ kotlin { this.apiVersion = libs.versions.settings.api.get() this.languageVersion = libs.versions.settings.language.get() progressiveMode = true - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } } diff --git a/firebase-analytics/src/iosMain/kotlin/dev/gitlive/firebase/analytics/analytics.kt b/firebase-analytics/src/appleMain/kotlin/dev/gitlive/firebase/analytics/analytics.kt similarity index 100% rename from firebase-analytics/src/iosMain/kotlin/dev/gitlive/firebase/analytics/analytics.kt rename to firebase-analytics/src/appleMain/kotlin/dev/gitlive/firebase/analytics/analytics.kt diff --git a/firebase-analytics/src/iosTest/kotlin/dev/gitlive/firebase/analytics/analytics.kt b/firebase-analytics/src/appleTest/kotlin/dev/gitlive/firebase/analytics/analytics.kt similarity index 100% rename from firebase-analytics/src/iosTest/kotlin/dev/gitlive/firebase/analytics/analytics.kt rename to firebase-analytics/src/appleTest/kotlin/dev/gitlive/firebase/analytics/analytics.kt diff --git a/firebase-app/build.gradle.kts b/firebase-app/build.gradle.kts index ab0fbcf02..d430a3c92 100644 --- a/firebase-app/build.gradle.kts +++ b/firebase-app/build.gradle.kts @@ -85,10 +85,13 @@ kotlin { tvosArm64() tvosX64() tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseApp" } @@ -127,6 +130,7 @@ kotlin { if (name.lowercase().contains("ios") || name.lowercase().contains("apple") || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } diff --git a/firebase-app/src/iosTest/kotlin/dev/gitlive/firebase/firebase.kt b/firebase-app/src/appleTest/kotlin/dev/gitlive/firebase/firebase.kt similarity index 100% rename from firebase-app/src/iosTest/kotlin/dev/gitlive/firebase/firebase.kt rename to firebase-app/src/appleTest/kotlin/dev/gitlive/firebase/firebase.kt diff --git a/firebase-common-internal/build.gradle.kts b/firebase-common-internal/build.gradle.kts index a75b3652c..9ed6479f5 100644 --- a/firebase-common-internal/build.gradle.kts +++ b/firebase-common-internal/build.gradle.kts @@ -85,6 +85,8 @@ kotlin { tvosArm64() tvosX64() tvosSimulatorArm64() + macosArm64() + macosX64() } js(IR) { diff --git a/firebase-common/build.gradle.kts b/firebase-common/build.gradle.kts index df50722e7..ac473ecc7 100644 --- a/firebase-common/build.gradle.kts +++ b/firebase-common/build.gradle.kts @@ -84,6 +84,8 @@ kotlin { tvosArm64() tvosX64() tvosSimulatorArm64() + macosArm64() + macosX64() } js(IR) { diff --git a/firebase-config/build.gradle.kts b/firebase-config/build.gradle.kts index b47b8deb5..b743f021a 100644 --- a/firebase-config/build.gradle.kts +++ b/firebase-config/build.gradle.kts @@ -81,8 +81,15 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseConfig" } @@ -112,7 +119,11 @@ kotlin { this.languageVersion = libs.versions.settings.language.get() progressiveMode = true optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") optIn("kotlinx.cinterop.BetaInteropApi") } diff --git a/firebase-config/src/iosMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfig.kt b/firebase-config/src/appleMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfig.kt similarity index 100% rename from firebase-config/src/iosMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfig.kt rename to firebase-config/src/appleMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfig.kt diff --git a/firebase-config/src/iosMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfigValue.kt b/firebase-config/src/appleMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfigValue.kt similarity index 100% rename from firebase-config/src/iosMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfigValue.kt rename to firebase-config/src/appleMain/kotlin/dev/gitlive/firebase/remoteconfig/FirebaseRemoteConfigValue.kt diff --git a/firebase-config/src/iosMain/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtension.kt b/firebase-config/src/appleMain/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtension.kt similarity index 100% rename from firebase-config/src/iosMain/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtension.kt rename to firebase-config/src/appleMain/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtension.kt diff --git a/firebase-config/src/iosTest/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtensionTest.kt b/firebase-config/src/appleTest/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtensionTest.kt similarity index 100% rename from firebase-config/src/iosTest/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtensionTest.kt rename to firebase-config/src/appleTest/kotlin/dev/gitlive/firebase/remoteconfig/NSDataExtensionTest.kt diff --git a/firebase-config/src/iosTest/kotlin/dev/gitlive/firebase/remoteconfig/RemoteConfig.kt b/firebase-config/src/appleTest/kotlin/dev/gitlive/firebase/remoteconfig/RemoteConfig.kt similarity index 100% rename from firebase-config/src/iosTest/kotlin/dev/gitlive/firebase/remoteconfig/RemoteConfig.kt rename to firebase-config/src/appleTest/kotlin/dev/gitlive/firebase/remoteconfig/RemoteConfig.kt diff --git a/firebase-crashlytics/build.gradle.kts b/firebase-crashlytics/build.gradle.kts index 514c1763b..74913d3eb 100644 --- a/firebase-crashlytics/build.gradle.kts +++ b/firebase-crashlytics/build.gradle.kts @@ -82,8 +82,15 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseCrashlytics" } @@ -102,7 +109,11 @@ kotlin { this.languageVersion = libs.versions.settings.language.get() progressiveMode = true optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } } diff --git a/firebase-crashlytics/src/iosMain/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt b/firebase-crashlytics/src/appleMain/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt similarity index 100% rename from firebase-crashlytics/src/iosMain/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt rename to firebase-crashlytics/src/appleMain/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt diff --git a/firebase-crashlytics/src/iosTest/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt b/firebase-crashlytics/src/appleTest/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt similarity index 100% rename from firebase-crashlytics/src/iosTest/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt rename to firebase-crashlytics/src/appleTest/kotlin/dev/gitlive/firebase/crashlytics/crashlytics.kt diff --git a/firebase-database/build.gradle.kts b/firebase-database/build.gradle.kts index 6034ff8dd..58e344b10 100644 --- a/firebase-database/build.gradle.kts +++ b/firebase-database/build.gradle.kts @@ -86,9 +86,12 @@ kotlin { tvosArm64() tvosX64() tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseDatabase" } @@ -130,6 +133,7 @@ kotlin { if (name.lowercase().contains("ios") || name.lowercase().contains("apple") || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } diff --git a/firebase-firestore/build.gradle.kts b/firebase-firestore/build.gradle.kts index f57307d21..a4cd9e366 100644 --- a/firebase-firestore/build.gradle.kts +++ b/firebase-firestore/build.gradle.kts @@ -85,8 +85,15 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseFirestore" } @@ -140,7 +147,11 @@ kotlin { optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") optIn("kotlinx.serialization.InternalSerializationApi") optIn("kotlinx.serialization.ExperimentalSerializationApi") - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") optIn("kotlinx.cinterop.BetaInteropApi") } diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/FieldValue.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/FieldValue.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/FieldValue.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/FieldValue.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/GeoPoint.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/GeoPoint.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/GeoPoint.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/GeoPoint.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/Timestamp.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/Timestamp.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/Timestamp.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/Timestamp.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/_encoders.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/_encoders.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/_encoders.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/_encoders.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/firestore.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeCollectionReferenceWrapper.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeCollectionReferenceWrapper.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeCollectionReferenceWrapper.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeCollectionReferenceWrapper.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentReference.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentReference.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentReference.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentReference.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentSnapshotWrapper.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentSnapshotWrapper.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentSnapshotWrapper.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeDocumentSnapshotWrapper.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeFirebaseFirestoreWrapper.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeFirebaseFirestoreWrapper.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeFirebaseFirestoreWrapper.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeFirebaseFirestoreWrapper.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeQueryWrapper.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeQueryWrapper.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeQueryWrapper.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeQueryWrapper.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeTransactionWrapper.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeTransactionWrapper.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeTransactionWrapper.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeTransactionWrapper.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeWriteBatchWrapper.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeWriteBatchWrapper.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeWriteBatchWrapper.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/NativeWriteBatchWrapper.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/Source.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/Source.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/Source.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/Source.kt diff --git a/firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/throwError.kt b/firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/throwError.kt similarity index 100% rename from firebase-firestore/src/iosMain/kotlin/dev/gitlive/firebase/firestore/internal/throwError.kt rename to firebase-firestore/src/appleMain/kotlin/dev/gitlive/firebase/firestore/internal/throwError.kt diff --git a/firebase-firestore/src/iosTest/kotlin/dev/gitlive/firebase/firestore/ContextSwitchTest.kt b/firebase-firestore/src/appleTest/kotlin/dev/gitlive/firebase/firestore/ContextSwitchTest.kt similarity index 100% rename from firebase-firestore/src/iosTest/kotlin/dev/gitlive/firebase/firestore/ContextSwitchTest.kt rename to firebase-firestore/src/appleTest/kotlin/dev/gitlive/firebase/firestore/ContextSwitchTest.kt diff --git a/firebase-firestore/src/iosTest/kotlin/dev/gitlive/firebase/firestore/Ignore.kt b/firebase-firestore/src/appleTest/kotlin/dev/gitlive/firebase/firestore/Ignore.kt similarity index 100% rename from firebase-firestore/src/iosTest/kotlin/dev/gitlive/firebase/firestore/Ignore.kt rename to firebase-firestore/src/appleTest/kotlin/dev/gitlive/firebase/firestore/Ignore.kt diff --git a/firebase-firestore/src/iosTest/kotlin/dev/gitlive/firebase/firestore/firestore.kt b/firebase-firestore/src/appleTest/kotlin/dev/gitlive/firebase/firestore/firestore.kt similarity index 100% rename from firebase-firestore/src/iosTest/kotlin/dev/gitlive/firebase/firestore/firestore.kt rename to firebase-firestore/src/appleTest/kotlin/dev/gitlive/firebase/firestore/firestore.kt diff --git a/firebase-functions/build.gradle.kts b/firebase-functions/build.gradle.kts index 7a9144309..06bac5499 100644 --- a/firebase-functions/build.gradle.kts +++ b/firebase-functions/build.gradle.kts @@ -82,8 +82,15 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseFunctions" } @@ -121,7 +128,11 @@ kotlin { progressiveMode = true optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") optIn("kotlinx.serialization.InternalSerializationApi") - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } } diff --git a/firebase-functions/src/iosMain/kotlin/dev/gitlive/firebase/functions/functions.kt b/firebase-functions/src/appleMain/kotlin/dev/gitlive/firebase/functions/functions.kt similarity index 100% rename from firebase-functions/src/iosMain/kotlin/dev/gitlive/firebase/functions/functions.kt rename to firebase-functions/src/appleMain/kotlin/dev/gitlive/firebase/functions/functions.kt diff --git a/firebase-installations/build.gradle.kts b/firebase-installations/build.gradle.kts index f4ccb0f18..ef326d15a 100644 --- a/firebase-installations/build.gradle.kts +++ b/firebase-installations/build.gradle.kts @@ -81,8 +81,15 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseInstallations" } @@ -118,7 +125,11 @@ kotlin { this.apiVersion = libs.versions.settings.api.get() this.languageVersion = libs.versions.settings.language.get() progressiveMode = true - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } } diff --git a/firebase-installations/src/iosMain/kotlin/dev/gitlive/firebase/installations/installations.kt b/firebase-installations/src/appleMain/kotlin/dev/gitlive/firebase/installations/installations.kt similarity index 100% rename from firebase-installations/src/iosMain/kotlin/dev/gitlive/firebase/installations/installations.kt rename to firebase-installations/src/appleMain/kotlin/dev/gitlive/firebase/installations/installations.kt diff --git a/firebase-messaging/build.gradle.kts b/firebase-messaging/build.gradle.kts index 54f578b86..8906d3c30 100644 --- a/firebase-messaging/build.gradle.kts +++ b/firebase-messaging/build.gradle.kts @@ -81,8 +81,15 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseMessaging" } @@ -119,7 +126,11 @@ kotlin { this.languageVersion = libs.versions.settings.language.get() progressiveMode = true optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") optIn("kotlinx.cinterop.BetaInteropApi") } diff --git a/firebase-messaging/src/iosMain/kotlin/dev/gitlive/firebase/messaging/messaging.kt b/firebase-messaging/src/appleMain/kotlin/dev/gitlive/firebase/messaging/messaging.kt similarity index 100% rename from firebase-messaging/src/iosMain/kotlin/dev/gitlive/firebase/messaging/messaging.kt rename to firebase-messaging/src/appleMain/kotlin/dev/gitlive/firebase/messaging/messaging.kt diff --git a/firebase-messaging/src/iosTest/kotlin/dev/gitlive/firebase/messaging/messaging.kt b/firebase-messaging/src/appleTest/kotlin/dev/gitlive/firebase/messaging/messaging.kt similarity index 100% rename from firebase-messaging/src/iosTest/kotlin/dev/gitlive/firebase/messaging/messaging.kt rename to firebase-messaging/src/appleTest/kotlin/dev/gitlive/firebase/messaging/messaging.kt diff --git a/firebase-perf/build.gradle.kts b/firebase-perf/build.gradle.kts index 05e72148c..d3247bcda 100644 --- a/firebase-perf/build.gradle.kts +++ b/firebase-perf/build.gradle.kts @@ -82,8 +82,13 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() + cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() framework { baseName = "FirebasePerformance" } @@ -113,7 +118,10 @@ kotlin { this.languageVersion = libs.versions.settings.language.get() progressiveMode = true optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } } diff --git a/firebase-perf/src/iosMain/kotlin/dev/gitlive/firebase/perf/metrics/Trace.kt b/firebase-perf/src/appleMain/kotlin/dev/gitlive/firebase/perf/metrics/Trace.kt similarity index 100% rename from firebase-perf/src/iosMain/kotlin/dev/gitlive/firebase/perf/metrics/Trace.kt rename to firebase-perf/src/appleMain/kotlin/dev/gitlive/firebase/perf/metrics/Trace.kt diff --git a/firebase-perf/src/iosMain/kotlin/dev/gitlive/firebase/perf/performance.kt b/firebase-perf/src/appleMain/kotlin/dev/gitlive/firebase/perf/performance.kt similarity index 100% rename from firebase-perf/src/iosMain/kotlin/dev/gitlive/firebase/perf/performance.kt rename to firebase-perf/src/appleMain/kotlin/dev/gitlive/firebase/perf/performance.kt diff --git a/firebase-perf/src/iosTest/kotlin/dev/gitlive/firebase/perf/performance.kt b/firebase-perf/src/appleTest/kotlin/dev/gitlive/firebase/perf/performance.kt similarity index 100% rename from firebase-perf/src/iosTest/kotlin/dev/gitlive/firebase/perf/performance.kt rename to firebase-perf/src/appleTest/kotlin/dev/gitlive/firebase/perf/performance.kt diff --git a/firebase-storage/build.gradle.kts b/firebase-storage/build.gradle.kts index d8d7c9688..9b6c7955a 100644 --- a/firebase-storage/build.gradle.kts +++ b/firebase-storage/build.gradle.kts @@ -81,8 +81,15 @@ kotlin { if (supportIosTarget) { iosArm64() iosSimulatorArm64() + tvosArm64() + tvosX64() + tvosSimulatorArm64() + macosArm64() + macosX64() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() + tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get() + osx.deploymentTarget = libs.versions.macos.deploymentTarget.get() framework { baseName = "FirebaseStorage" } @@ -118,7 +125,11 @@ kotlin { this.apiVersion = libs.versions.settings.api.get() this.languageVersion = libs.versions.settings.language.get() progressiveMode = true - if (name.lowercase().contains("ios")) { + if (name.lowercase().contains("ios") + || name.lowercase().contains("apple") + || name.lowercase().contains("tvos") + || name.lowercase().contains("macos") + ) { optIn("kotlinx.cinterop.ExperimentalForeignApi") } } diff --git a/firebase-storage/src/iosMain/kotlin/dev/gitlive/firebase/storage/storage.kt b/firebase-storage/src/appleMain/kotlin/dev/gitlive/firebase/storage/storage.kt similarity index 100% rename from firebase-storage/src/iosMain/kotlin/dev/gitlive/firebase/storage/storage.kt rename to firebase-storage/src/appleMain/kotlin/dev/gitlive/firebase/storage/storage.kt diff --git a/firebase-storage/src/iosTest/kotlin/dev/gitlive/firebase/storage/storage.ios.kt b/firebase-storage/src/appleTest/kotlin/dev/gitlive/firebase/storage/storage.ios.kt similarity index 100% rename from firebase-storage/src/iosTest/kotlin/dev/gitlive/firebase/storage/storage.ios.kt rename to firebase-storage/src/appleTest/kotlin/dev/gitlive/firebase/storage/storage.ios.kt diff --git a/firebase-storage/src/iosTest/kotlin/dev/gitlive/firebase/storage/storage.kt b/firebase-storage/src/appleTest/kotlin/dev/gitlive/firebase/storage/storage.kt similarity index 100% rename from firebase-storage/src/iosTest/kotlin/dev/gitlive/firebase/storage/storage.kt rename to firebase-storage/src/appleTest/kotlin/dev/gitlive/firebase/storage/storage.kt diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 83001f2cc..ba2821923 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -19,6 +19,7 @@ settings-language = "2.2" firebase-cocoapods = "11.8.0" ios-deploymentTarget = "13.0" tvos-deploymentTarget = "13.0" +macos-deploymentTarget = "10.15" test-logger-plugin = "4.0.0" dokka = "2.0.0" publish = "0.34.0" diff --git a/test-utils/build.gradle.kts b/test-utils/build.gradle.kts index fb01defbf..e8674b083 100644 --- a/test-utils/build.gradle.kts +++ b/test-utils/build.gradle.kts @@ -79,6 +79,8 @@ kotlin { tvosX64() tvosArm64() tvosSimulatorArm64() + macosArm64() + macosX64() } js(IR) { From f7b76f1697f16199361dcd1b6dc979f9c06b7117 Mon Sep 17 00:00:00 2001 From: Andrew Reed Date: Sun, 31 Aug 2025 17:09:35 +0100 Subject: [PATCH 3/5] Added iosX64 --- firebase-analytics/build.gradle.kts | 1 + firebase-app/build.gradle.kts | 1 + firebase-auth/build.gradle.kts | 1 + firebase-common-internal/build.gradle.kts | 1 + firebase-common/build.gradle.kts | 1 + firebase-config/build.gradle.kts | 1 + firebase-crashlytics/build.gradle.kts | 1 + firebase-database/build.gradle.kts | 1 + firebase-firestore/build.gradle.kts | 1 + firebase-functions/build.gradle.kts | 1 + firebase-installations/build.gradle.kts | 1 + firebase-messaging/build.gradle.kts | 1 + firebase-perf/build.gradle.kts | 1 + firebase-storage/build.gradle.kts | 1 + test-utils/build.gradle.kts | 1 + 15 files changed, 15 insertions(+) diff --git a/firebase-analytics/build.gradle.kts b/firebase-analytics/build.gradle.kts index 3b4308afe..855d8dec7 100644 --- a/firebase-analytics/build.gradle.kts +++ b/firebase-analytics/build.gradle.kts @@ -80,6 +80,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-app/build.gradle.kts b/firebase-app/build.gradle.kts index d430a3c92..87fad6c2b 100644 --- a/firebase-app/build.gradle.kts +++ b/firebase-app/build.gradle.kts @@ -81,6 +81,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-auth/build.gradle.kts b/firebase-auth/build.gradle.kts index ed1a7647e..bc88e7b08 100644 --- a/firebase-auth/build.gradle.kts +++ b/firebase-auth/build.gradle.kts @@ -81,6 +81,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64().enableKeychainForTests() iosSimulatorArm64().enableKeychainForTests() cocoapods { ios.deploymentTarget = libs.versions.ios.deploymentTarget.get() diff --git a/firebase-common-internal/build.gradle.kts b/firebase-common-internal/build.gradle.kts index 9ed6479f5..57edb8bc9 100644 --- a/firebase-common-internal/build.gradle.kts +++ b/firebase-common-internal/build.gradle.kts @@ -81,6 +81,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-common/build.gradle.kts b/firebase-common/build.gradle.kts index ac473ecc7..40b4a195f 100644 --- a/firebase-common/build.gradle.kts +++ b/firebase-common/build.gradle.kts @@ -80,6 +80,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-config/build.gradle.kts b/firebase-config/build.gradle.kts index b743f021a..b551adbd8 100644 --- a/firebase-config/build.gradle.kts +++ b/firebase-config/build.gradle.kts @@ -80,6 +80,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-crashlytics/build.gradle.kts b/firebase-crashlytics/build.gradle.kts index 74913d3eb..3f3a32f05 100644 --- a/firebase-crashlytics/build.gradle.kts +++ b/firebase-crashlytics/build.gradle.kts @@ -81,6 +81,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-database/build.gradle.kts b/firebase-database/build.gradle.kts index 58e344b10..4783db1e0 100644 --- a/firebase-database/build.gradle.kts +++ b/firebase-database/build.gradle.kts @@ -82,6 +82,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-firestore/build.gradle.kts b/firebase-firestore/build.gradle.kts index a4cd9e366..83b61c0f3 100644 --- a/firebase-firestore/build.gradle.kts +++ b/firebase-firestore/build.gradle.kts @@ -84,6 +84,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-functions/build.gradle.kts b/firebase-functions/build.gradle.kts index 06bac5499..912a67cc8 100644 --- a/firebase-functions/build.gradle.kts +++ b/firebase-functions/build.gradle.kts @@ -81,6 +81,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-installations/build.gradle.kts b/firebase-installations/build.gradle.kts index ef326d15a..4cf5c6602 100644 --- a/firebase-installations/build.gradle.kts +++ b/firebase-installations/build.gradle.kts @@ -80,6 +80,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-messaging/build.gradle.kts b/firebase-messaging/build.gradle.kts index 8906d3c30..b0c8427bc 100644 --- a/firebase-messaging/build.gradle.kts +++ b/firebase-messaging/build.gradle.kts @@ -80,6 +80,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-perf/build.gradle.kts b/firebase-perf/build.gradle.kts index d3247bcda..485d46e5d 100644 --- a/firebase-perf/build.gradle.kts +++ b/firebase-perf/build.gradle.kts @@ -81,6 +81,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/firebase-storage/build.gradle.kts b/firebase-storage/build.gradle.kts index 9b6c7955a..0cba9f52f 100644 --- a/firebase-storage/build.gradle.kts +++ b/firebase-storage/build.gradle.kts @@ -80,6 +80,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosArm64() tvosX64() diff --git a/test-utils/build.gradle.kts b/test-utils/build.gradle.kts index e8674b083..ad549587c 100644 --- a/test-utils/build.gradle.kts +++ b/test-utils/build.gradle.kts @@ -75,6 +75,7 @@ kotlin { if (supportIosTarget) { iosArm64() + iosX64() iosSimulatorArm64() tvosX64() tvosArm64() From 652beb4dd947765dcbf31796c4593cae58332713 Mon Sep 17 00:00:00 2001 From: Andrew Reed Date: Sun, 31 Aug 2025 17:27:39 +0100 Subject: [PATCH 4/5] attempt to update github actions --- .github/workflows/pull_request.yml | 82 ++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 2d6f27b90..34324433b 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -17,6 +17,8 @@ jobs: outputs: emulator_jobs_matrix: ${{ steps.dataStep.outputs.emulator_jobs_matrix }} ios_test_jobs_matrix: ${{ steps.dataStep.outputs.ios_test_jobs_matrix }} + macos_test_jobs_matrix: ${{ steps.dataStep.outputs.macos_test_jobs_matrix }} + tvos_test_jobs_matrix: ${{ steps.dataStep.outputs.tvos_test_jobs_matrix }} js_test_jobs_matrix: ${{ steps.dataStep.outputs.js_test_jobs_matrix }} jvm_test_jobs_matrix: ${{ steps.dataStep.outputs.jvm_test_jobs_matrix }} steps: @@ -34,6 +36,8 @@ jobs: echo " emulator_jobs_matrix=$(jq -c . < ./build/emulator_jobs_matrix.json) ios_test_jobs_matrix=$(jq -c . < ./build/ios_test_jobs_matrix.json) + macos_test_jobs_matrix=$(jq -c . < ./build/macos_test_jobs_matrix.json) + tvos_test_jobs_matrix=$(jq -c . < ./build/tvos_test_jobs_matrix.json) js_test_jobs_matrix=$(jq -c . < ./build/js_test_jobs_matrix.json) jvm_test_jobs_matrix=$(jq -c . < ./build/jvm_test_jobs_matrix.json) " >> $GITHUB_OUTPUT @@ -141,6 +145,84 @@ jobs: with: name: iOS ${{ env.ARCHIVE_KEY }} Firebase Debug Log path: "**/firebase-debug.log" + build-macos: + needs: jobMatrixSetup + runs-on: macos-latest + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.jobMatrixSetup.outputs.macos_test_jobs_matrix) }} + steps: + - uses: actions/checkout@v4 + - name: Cocoapods cache + uses: actions/cache@v4 + with: + path: | + ~/.cocoapods + ~/Library/Caches/CocoaPods + */build/cocoapods + */build/classes + key: cocoapods-cache-v2 + - uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest-stable + - name: Setup test environment + uses: ./.github/actions/setup_test_action + - name: Set Artifact Name + run: | + echo "ARCHIVE_KEY=$(echo ${{ matrix.gradle_tasks }} | cut -d: -f2)" >> $GITHUB_ENV + - name: Run macOS Tests + run: ./gradlew ${{ matrix.gradle_tasks }} + - name: Upload macOS test artifact + uses: actions/upload-artifact@v4 + if: failure() + with: + name: macOS ${{ env.ARCHIVE_KEY }} Test Report HTML + path: "**/build/reports/tests/macosArm64Test/" + - name: Upload Firebase Debug Log + uses: actions/upload-artifact@v4 + if: failure() + with: + name: iOS ${{ env.ARCHIVE_KEY }} Firebase Debug Log + path: "**/firebase-debug.log" + build-tvos: + needs: jobMatrixSetup + runs-on: macos-latest + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.jobMatrixSetup.outputs.tvos_test_jobs_matrix) }} + steps: + - uses: actions/checkout@v4 + - name: Cocoapods cache + uses: actions/cache@v4 + with: + path: | + ~/.cocoapods + ~/Library/Caches/CocoaPods + */build/cocoapods + */build/classes + key: cocoapods-cache-v2 + - uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest-stable + - name: Setup test environment + uses: ./.github/actions/setup_test_action + - name: Set Artifact Name + run: | + echo "ARCHIVE_KEY=$(echo ${{ matrix.gradle_tasks }} | cut -d: -f2)" >> $GITHUB_ENV + - name: Run tvOS Tests + run: ./gradlew ${{ matrix.gradle_tasks }} + - name: Upload tvOS test artifact + uses: actions/upload-artifact@v4 + if: failure() + with: + name: iOS ${{ env.ARCHIVE_KEY }} Test Report HTML + path: "**/build/reports/tests/tvosArm64Test/" + - name: Upload Firebase Debug Log + uses: actions/upload-artifact@v4 + if: failure() + with: + name: iOS ${{ env.ARCHIVE_KEY }} Firebase Debug Log + path: "**/firebase-debug.log" build-jvm: needs: jobMatrixSetup runs-on: ubuntu-latest From 2cbd65dd7f8c0cc4471e9b8d409e00b21aeafdd0 Mon Sep 17 00:00:00 2001 From: Andrew Reed Date: Sun, 31 Aug 2025 17:30:04 +0100 Subject: [PATCH 5/5] Added Apple target skip --- firebase-analytics/build.gradle.kts | 4 ++-- firebase-app/build.gradle.kts | 4 ++-- firebase-auth/build.gradle.kts | 6 +++--- firebase-common-internal/build.gradle.kts | 4 ++-- firebase-common/build.gradle.kts | 4 ++-- firebase-config/build.gradle.kts | 4 ++-- firebase-crashlytics/build.gradle.kts | 4 ++-- firebase-database/build.gradle.kts | 4 ++-- firebase-firestore/build.gradle.kts | 4 ++-- firebase-functions/build.gradle.kts | 4 ++-- firebase-installations/build.gradle.kts | 4 ++-- firebase-messaging/build.gradle.kts | 4 ++-- firebase-perf/build.gradle.kts | 4 ++-- firebase-storage/build.gradle.kts | 4 ++-- gradle.properties | 2 +- test-utils/build.gradle.kts | 4 ++-- 16 files changed, 32 insertions(+), 32 deletions(-) diff --git a/firebase-analytics/build.gradle.kts b/firebase-analytics/build.gradle.kts index 855d8dec7..b84187ae5 100644 --- a/firebase-analytics/build.gradle.kts +++ b/firebase-analytics/build.gradle.kts @@ -47,7 +47,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -78,7 +78,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-app/build.gradle.kts b/firebase-app/build.gradle.kts index 87fad6c2b..64b078ea0 100644 --- a/firebase-app/build.gradle.kts +++ b/firebase-app/build.gradle.kts @@ -47,7 +47,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -79,7 +79,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-auth/build.gradle.kts b/firebase-auth/build.gradle.kts index bc88e7b08..54856a02e 100644 --- a/firebase-auth/build.gradle.kts +++ b/firebase-auth/build.gradle.kts @@ -48,7 +48,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -79,7 +79,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64().enableKeychainForTests() iosSimulatorArm64().enableKeychainForTests() @@ -167,7 +167,7 @@ if (project.property("firebase-auth.skipJsTests") == "true") { } } -if (supportIosTarget) { +if (supportAppleTarget) { tasks.create("launchIosSimulator") { commandLine("open", "-a", "Simulator") } diff --git a/firebase-common-internal/build.gradle.kts b/firebase-common-internal/build.gradle.kts index 57edb8bc9..8e6dd1eeb 100644 --- a/firebase-common-internal/build.gradle.kts +++ b/firebase-common-internal/build.gradle.kts @@ -77,9 +77,9 @@ kotlin { jvm() - val supportIosTarget = project.property("skipIosTarget") != "true" + val supportAppleTarget = project.property("skipAppleTargets") != "true" - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-common/build.gradle.kts b/firebase-common/build.gradle.kts index 40b4a195f..620dd97fd 100644 --- a/firebase-common/build.gradle.kts +++ b/firebase-common/build.gradle.kts @@ -76,9 +76,9 @@ kotlin { jvm() - val supportIosTarget = project.property("skipIosTarget") != "true" + val supportAppleTarget = project.property("skipAppleTargets") != "true" - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-config/build.gradle.kts b/firebase-config/build.gradle.kts index b551adbd8..400b0a32f 100644 --- a/firebase-config/build.gradle.kts +++ b/firebase-config/build.gradle.kts @@ -47,7 +47,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -78,7 +78,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-crashlytics/build.gradle.kts b/firebase-crashlytics/build.gradle.kts index 3f3a32f05..232314991 100644 --- a/firebase-crashlytics/build.gradle.kts +++ b/firebase-crashlytics/build.gradle.kts @@ -48,7 +48,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -79,7 +79,7 @@ kotlin { // jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-database/build.gradle.kts b/firebase-database/build.gradle.kts index 4783db1e0..cf69e6022 100644 --- a/firebase-database/build.gradle.kts +++ b/firebase-database/build.gradle.kts @@ -48,7 +48,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -80,7 +80,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-firestore/build.gradle.kts b/firebase-firestore/build.gradle.kts index 83b61c0f3..dc5204e7a 100644 --- a/firebase-firestore/build.gradle.kts +++ b/firebase-firestore/build.gradle.kts @@ -50,7 +50,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -82,7 +82,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-functions/build.gradle.kts b/firebase-functions/build.gradle.kts index 912a67cc8..d22ad50ce 100644 --- a/firebase-functions/build.gradle.kts +++ b/firebase-functions/build.gradle.kts @@ -47,7 +47,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -79,7 +79,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-installations/build.gradle.kts b/firebase-installations/build.gradle.kts index 4cf5c6602..ea6adcd22 100644 --- a/firebase-installations/build.gradle.kts +++ b/firebase-installations/build.gradle.kts @@ -47,7 +47,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -78,7 +78,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-messaging/build.gradle.kts b/firebase-messaging/build.gradle.kts index b0c8427bc..aa32c51fd 100644 --- a/firebase-messaging/build.gradle.kts +++ b/firebase-messaging/build.gradle.kts @@ -47,7 +47,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -78,7 +78,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-perf/build.gradle.kts b/firebase-perf/build.gradle.kts index 485d46e5d..0f9b60b47 100644 --- a/firebase-perf/build.gradle.kts +++ b/firebase-perf/build.gradle.kts @@ -48,7 +48,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -79,7 +79,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/firebase-storage/build.gradle.kts b/firebase-storage/build.gradle.kts index 0cba9f52f..85f6656fe 100644 --- a/firebase-storage/build.gradle.kts +++ b/firebase-storage/build.gradle.kts @@ -47,7 +47,7 @@ android { } } -val supportIosTarget = project.property("skipIosTarget") != "true" +val supportAppleTarget = project.property("skipAppleTargets") != "true" kotlin { explicitApi() @@ -78,7 +78,7 @@ kotlin { jvm() - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64() diff --git a/gradle.properties b/gradle.properties index 597e763f9..9ffeb2a2b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,7 +19,7 @@ kotlin.mpp.enableCInteropCommonization=true kotlin.native.cacheKind=none # Set to true to skip tests and even compilation of the iOS target. -skipIosTarget=false +skipAppleTargets=false # Skip iOS Tests firebase-analytics.skipIosTests=true diff --git a/test-utils/build.gradle.kts b/test-utils/build.gradle.kts index ad549587c..be2c05ef5 100644 --- a/test-utils/build.gradle.kts +++ b/test-utils/build.gradle.kts @@ -71,9 +71,9 @@ kotlin { jvm() - val supportIosTarget = project.property("skipIosTarget") != "true" + val supportAppleTarget = project.property("skipAppleTargets") != "true" - if (supportIosTarget) { + if (supportAppleTarget) { iosArm64() iosX64() iosSimulatorArm64()