Skip to content

Commit de37603

Browse files
sajidalidevReedyuk
authored andcommitted
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.
1 parent 8011f85 commit de37603

File tree

52 files changed

+120
-9
lines changed

Some content is hidden

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

52 files changed

+120
-9
lines changed

firebase-analytics/build.gradle.kts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,15 @@ kotlin {
8181
if (supportIosTarget) {
8282
iosArm64()
8383
iosSimulatorArm64()
84+
tvosArm64()
85+
tvosX64()
86+
tvosSimulatorArm64()
87+
macosArm64()
88+
macosX64()
8489
cocoapods {
8590
ios.deploymentTarget = libs.versions.ios.deploymentTarget.get()
91+
tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get()
92+
osx.deploymentTarget = libs.versions.macos.deploymentTarget.get()
8693
framework {
8794
baseName = "FirebaseAnalytics"
8895
}
@@ -118,7 +125,11 @@ kotlin {
118125
this.apiVersion = libs.versions.settings.api.get()
119126
this.languageVersion = libs.versions.settings.language.get()
120127
progressiveMode = true
121-
if (name.lowercase().contains("ios")) {
128+
if (name.lowercase().contains("ios")
129+
|| name.lowercase().contains("apple")
130+
|| name.lowercase().contains("tvos")
131+
|| name.lowercase().contains("macos")
132+
) {
122133
optIn("kotlinx.cinterop.ExperimentalForeignApi")
123134
}
124135
}

firebase-app/build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,13 @@ kotlin {
8585
tvosArm64()
8686
tvosX64()
8787
tvosSimulatorArm64()
88+
macosArm64()
89+
macosX64()
8890

8991
cocoapods {
9092
ios.deploymentTarget = libs.versions.ios.deploymentTarget.get()
9193
tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get()
94+
osx.deploymentTarget = libs.versions.macos.deploymentTarget.get()
9295
framework {
9396
baseName = "FirebaseApp"
9497
}
@@ -127,6 +130,7 @@ kotlin {
127130
if (name.lowercase().contains("ios")
128131
|| name.lowercase().contains("apple")
129132
|| name.lowercase().contains("tvos")
133+
|| name.lowercase().contains("macos")
130134
) {
131135
optIn("kotlinx.cinterop.ExperimentalForeignApi")
132136
}

firebase-common-internal/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ kotlin {
8585
tvosArm64()
8686
tvosX64()
8787
tvosSimulatorArm64()
88+
macosArm64()
89+
macosX64()
8890
}
8991

9092
js(IR) {

firebase-common/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ kotlin {
8484
tvosArm64()
8585
tvosX64()
8686
tvosSimulatorArm64()
87+
macosArm64()
88+
macosX64()
8789
}
8890

8991
js(IR) {

firebase-config/build.gradle.kts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,15 @@ kotlin {
8181
if (supportIosTarget) {
8282
iosArm64()
8383
iosSimulatorArm64()
84+
tvosArm64()
85+
tvosX64()
86+
tvosSimulatorArm64()
87+
macosArm64()
88+
macosX64()
8489
cocoapods {
8590
ios.deploymentTarget = libs.versions.ios.deploymentTarget.get()
91+
tvos.deploymentTarget = libs.versions.tvos.deploymentTarget.get()
92+
osx.deploymentTarget = libs.versions.macos.deploymentTarget.get()
8693
framework {
8794
baseName = "FirebaseConfig"
8895
}
@@ -112,7 +119,11 @@ kotlin {
112119
this.languageVersion = libs.versions.settings.language.get()
113120
progressiveMode = true
114121
optIn("kotlinx.coroutines.ExperimentalCoroutinesApi")
115-
if (name.lowercase().contains("ios")) {
122+
if (name.lowercase().contains("ios")
123+
|| name.lowercase().contains("apple")
124+
|| name.lowercase().contains("tvos")
125+
|| name.lowercase().contains("macos")
126+
) {
116127
optIn("kotlinx.cinterop.ExperimentalForeignApi")
117128
optIn("kotlinx.cinterop.BetaInteropApi")
118129
}

0 commit comments

Comments
 (0)