diff --git a/build.gradle.kts b/build.gradle.kts index a456986f2..9ab1f39bc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,3 @@ -import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties import org.apache.tools.ant.taskdefs.condition.Os import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent @@ -26,15 +25,6 @@ buildscript { val targetSdkVersion by extra(30) val minSdkVersion by extra(16) -// TODO: Hierarchical project structures are not fully supported in IDEA, enable only for a regular built (https://youtrack.jetbrains.com/issue/KT-35011) -// add idea.active=true for local development -val _ideaActive = gradleLocalProperties(rootDir)["idea.active"] == "true" - -//if (!_ideaActive) { -// ext["kotlin.mpp.enableGranularSourceSetsMetadata"] = "true" -// ext["kotlin.native.enableDependencyPropagation"] = "false" -//} - tasks { val updateVersions by registering { dependsOn( @@ -51,8 +41,6 @@ tasks { subprojects { - val ideaActive by extra(_ideaActive) - group = "dev.gitlive" apply(plugin="com.adarshr.test-logger") @@ -207,12 +195,12 @@ subprojects { } dependencies { - "commonMainImplementation"("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1") - "androidMainImplementation"("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.5.1") + "commonMainImplementation"("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2") + "androidMainImplementation"("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.5.2") "androidMainImplementation"(platform("com.google.firebase:firebase-bom:28.4.0")) "commonTestImplementation"(kotlin("test-common")) "commonTestImplementation"(kotlin("test-annotations-common")) - "commonTestImplementation"("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1") + "commonTestImplementation"("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2") "jsTestImplementation"(kotlin("test-js")) "androidAndroidTestImplementation"(kotlin("test-junit")) "androidAndroidTestImplementation"("junit:junit:4.13.2") diff --git a/firebase-app/build.gradle.kts b/firebase-app/build.gradle.kts index b9bbd9f7c..a45a18ca9 100644 --- a/firebase-app/build.gradle.kts +++ b/firebase-app/build.gradle.kts @@ -44,6 +44,13 @@ android { } } +val KonanTarget.archVariant: String + get() = if (this is KonanTarget.IOS_X64 || this is KonanTarget.IOS_SIMULATOR_ARM64) { + "ios-arm64_i386_x86_64-simulator" + } else { + "ios-arm64_armv7" + } + kotlin { android { @@ -65,9 +72,7 @@ kotlin { "nanopb", "PromisesObjC" ).map { - val archVariant = if (konanTarget is KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - - projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ) @@ -86,11 +91,8 @@ kotlin { } } - if (project.extra["ideaActive"] as Boolean) { - iosX64("ios", nativeTargetConfig()) - } else { - ios(configure = nativeTargetConfig()) - } + ios(configure = nativeTargetConfig()) + iosSimulatorArm64(configure = nativeTargetConfig()) js { useCommonJs() @@ -132,6 +134,12 @@ kotlin { } val iosMain by getting + val iosSimulatorArm64Main by getting + iosSimulatorArm64Main.dependsOn(iosMain) + + val iosTest by sourceSets.getting + val iosSimulatorArm64Test by sourceSets.getting + iosSimulatorArm64Test.dependsOn(iosTest) val jsMain by getting } diff --git a/firebase-app/package.json b/firebase-app/package.json index e08ef9038..569347617 100644 --- a/firebase-app/package.json +++ b/firebase-app/package.json @@ -26,6 +26,6 @@ "@gitlive/firebase-common": "1.4.2", "firebase": "8.10.0", "kotlin": "1.5.30", - "kotlinx-coroutines-core": "1.5.1" + "kotlinx-coroutines-core": "1.5.2" } } diff --git a/firebase-auth/build.gradle.kts b/firebase-auth/build.gradle.kts index 2c3e7df74..54cb61fc2 100644 --- a/firebase-auth/build.gradle.kts +++ b/firebase-auth/build.gradle.kts @@ -67,6 +67,13 @@ android { // logEmulatorOutput(false) //} +val KonanTarget.archVariant: String + get() = if (this is KonanTarget.IOS_X64 || this is KonanTarget.IOS_SIMULATOR_ARM64) { + "ios-arm64_i386_x86_64-simulator" + } else { + "ios-arm64_armv7" + } + kotlin { android { @@ -88,18 +95,14 @@ kotlin { "nanopb", "PromisesObjC" ).map { - val archVariant = if (konanTarget is KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - - rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ).plus( listOf( "FirebaseAuth", "GTMSessionFetcher" ).map { - val archVariant = if (konanTarget is KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - - projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ) @@ -118,11 +121,8 @@ kotlin { } } - if (project.extra["ideaActive"] as Boolean) { - iosX64("ios", nativeTargetConfig()) - } else { - ios(configure = nativeTargetConfig()) - } + ios(configure = nativeTargetConfig()) + iosSimulatorArm64(configure = nativeTargetConfig()) js { useCommonJs() @@ -166,6 +166,12 @@ kotlin { } val iosMain by getting + val iosSimulatorArm64Main by getting + iosSimulatorArm64Main.dependsOn(iosMain) + + val iosTest by sourceSets.getting + val iosSimulatorArm64Test by sourceSets.getting + iosSimulatorArm64Test.dependsOn(iosTest) val jsMain by getting } diff --git a/firebase-auth/package.json b/firebase-auth/package.json index 32fe865f5..ca07d0f26 100644 --- a/firebase-auth/package.json +++ b/firebase-auth/package.json @@ -26,6 +26,6 @@ "@gitlive/firebase-app": "1.4.2", "firebase": "8.10.0", "kotlin": "1.5.30", - "kotlinx-coroutines-core": "1.5.1" + "kotlinx-coroutines-core": "1.5.2" } } diff --git a/firebase-common/build.gradle.kts b/firebase-common/build.gradle.kts index 041a0e065..ee32e66bb 100644 --- a/firebase-common/build.gradle.kts +++ b/firebase-common/build.gradle.kts @@ -46,15 +46,8 @@ kotlin { publishAllLibraryVariants() } - fun nativeTargetConfig(): KotlinNativeTarget.() -> Unit = { - - } - - if (project.extra["ideaActive"] as Boolean) { - iosX64("ios", nativeTargetConfig()) - } else { - ios(configure = nativeTargetConfig()) - } + ios() + iosSimulatorArm64() js { useCommonJs() @@ -89,7 +82,7 @@ kotlin { val commonMain by getting { dependencies { - api("org.jetbrains.kotlinx:kotlinx-serialization-core:1.2.2") + api("org.jetbrains.kotlinx:kotlinx-serialization-core:1.3.0-RC") } } @@ -100,6 +93,12 @@ kotlin { } val iosMain by getting + val iosSimulatorArm64Main by getting + iosSimulatorArm64Main.dependsOn(iosMain) + + val iosTest by sourceSets.getting + val iosSimulatorArm64Test by sourceSets.getting + iosSimulatorArm64Test.dependsOn(iosTest) val jsMain by getting { dependencies { diff --git a/firebase-common/package.json b/firebase-common/package.json index 7fca97b3d..aa15bf6fa 100644 --- a/firebase-common/package.json +++ b/firebase-common/package.json @@ -25,7 +25,7 @@ "dependencies": { "firebase": "8.10.0", "kotlin": "1.5.30", - "kotlinx-coroutines-core": "1.5.1", + "kotlinx-coroutines-core": "1.5.2", "kotlinx-serialization-kotlinx-serialization-runtime": "1.2.2" } } diff --git a/firebase-config/build.gradle.kts b/firebase-config/build.gradle.kts index e480822b4..fe19b5aa3 100644 --- a/firebase-config/build.gradle.kts +++ b/firebase-config/build.gradle.kts @@ -3,6 +3,7 @@ */ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget +import org.jetbrains.kotlin.konan.target.KonanTarget version = project.property("firebase-config.version") as String @@ -55,6 +56,13 @@ android { // logEmulatorOutput(false) //} +val KonanTarget.archVariant: String + get() = if (this is KonanTarget.IOS_X64 || this is KonanTarget.IOS_SIMULATOR_ARM64) { + "ios-arm64_i386_x86_64-simulator" + } else { + "ios-arm64_armv7" + } + kotlin { android { @@ -73,17 +81,13 @@ kotlin { "PromisesObjC", "nanopb" ).map { - val archVariant = - if (konanTarget is org.jetbrains.kotlin.konan.target.KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") }.plus( listOf( "FirebaseABTesting", "FirebaseRemoteConfig" ).map { - val archVariant = - if (konanTarget is org.jetbrains.kotlin.konan.target.KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ) @@ -102,11 +106,8 @@ kotlin { } } - if (project.extra["ideaActive"] as Boolean) { - iosX64("ios", nativeTargetConfig()) - } else { - ios(configure = nativeTargetConfig()) - } + ios(configure = nativeTargetConfig()) + iosSimulatorArm64(configure = nativeTargetConfig()) js { useCommonJs() @@ -143,6 +144,12 @@ kotlin { } val iosMain by getting + val iosSimulatorArm64Main by getting + iosSimulatorArm64Main.dependsOn(iosMain) + + val iosTest by sourceSets.getting + val iosSimulatorArm64Test by sourceSets.getting + iosSimulatorArm64Test.dependsOn(iosTest) val jsMain by getting } diff --git a/firebase-config/package.json b/firebase-config/package.json index 069c1ba7d..bf92a5db6 100644 --- a/firebase-config/package.json +++ b/firebase-config/package.json @@ -26,6 +26,6 @@ "@gitlive/firebase-app": "1.4.2", "firebase": "8.10.0", "kotlin": "1.5.30", - "kotlinx-coroutines-core": "1.5.1" + "kotlinx-coroutines-core": "1.5.2" } } diff --git a/firebase-database/build.gradle.kts b/firebase-database/build.gradle.kts index 3fc78b104..352c3b304 100644 --- a/firebase-database/build.gradle.kts +++ b/firebase-database/build.gradle.kts @@ -43,6 +43,13 @@ android { } } +val KonanTarget.archVariant: String + get() = if (this is KonanTarget.IOS_X64 || this is KonanTarget.IOS_SIMULATOR_ARM64) { + "ios-arm64_i386_x86_64-simulator" + } else { + "ios-arm64_armv7" + } + kotlin { android { @@ -64,18 +71,14 @@ kotlin { "nanopb", "PromisesObjC" ).map { - val archVariant = if (konanTarget is KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - - rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ).plus( listOf( "FirebaseDatabase", "leveldb-library" ).map { - val archVariant = if (konanTarget is KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - - projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ) @@ -94,11 +97,8 @@ kotlin { } } - if (project.extra["ideaActive"] as Boolean) { - iosX64("ios", nativeTargetConfig()) - } else { - ios(configure = nativeTargetConfig()) - } + ios(configure = nativeTargetConfig()) + iosSimulatorArm64(configure = nativeTargetConfig()) js { useCommonJs() @@ -144,6 +144,12 @@ kotlin { } val iosMain by getting + val iosSimulatorArm64Main by getting + iosSimulatorArm64Main.dependsOn(iosMain) + + val iosTest by sourceSets.getting + val iosSimulatorArm64Test by sourceSets.getting + iosSimulatorArm64Test.dependsOn(iosTest) val jsMain by getting } diff --git a/firebase-database/package.json b/firebase-database/package.json index c9de57e2d..5ced5cf67 100644 --- a/firebase-database/package.json +++ b/firebase-database/package.json @@ -26,6 +26,6 @@ "@gitlive/firebase-app": "1.4.2", "firebase": "8.10.0", "kotlin": "1.5.30", - "kotlinx-coroutines-core": "1.5.1" + "kotlinx-coroutines-core": "1.5.2" } } diff --git a/firebase-firestore/build.gradle.kts b/firebase-firestore/build.gradle.kts index 5aac4fda9..b3a2e30f2 100644 --- a/firebase-firestore/build.gradle.kts +++ b/firebase-firestore/build.gradle.kts @@ -46,6 +46,13 @@ android { } } +val KonanTarget.archVariant: String + get() = if (this is KonanTarget.IOS_X64 || this is KonanTarget.IOS_SIMULATOR_ARM64) { + "ios-arm64_i386_x86_64-simulator" + } else { + "ios-arm64_armv7" + } + kotlin { android { @@ -67,9 +74,7 @@ kotlin { "nanopb", "PromisesObjC" ).map { - val archVariant = if (konanTarget is KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - - rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ).plus( listOf( @@ -80,9 +85,7 @@ kotlin { "gRPC-C++", "leveldb-library" ).map { - val archVariant = if (konanTarget is KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - - projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ) @@ -101,11 +104,8 @@ kotlin { } } - if (project.extra["ideaActive"] as Boolean) { - iosX64("ios", nativeTargetConfig()) - } else { - ios(configure = nativeTargetConfig()) - } + ios(configure = nativeTargetConfig()) + iosSimulatorArm64(configure = nativeTargetConfig()) js { useCommonJs() @@ -150,6 +150,12 @@ kotlin { } val iosMain by getting + val iosSimulatorArm64Main by getting + iosSimulatorArm64Main.dependsOn(iosMain) + + val iosTest by sourceSets.getting + val iosSimulatorArm64Test by sourceSets.getting + iosSimulatorArm64Test.dependsOn(iosTest) val jsMain by getting } diff --git a/firebase-firestore/package.json b/firebase-firestore/package.json index 9f71c6cf5..5e888d979 100644 --- a/firebase-firestore/package.json +++ b/firebase-firestore/package.json @@ -26,6 +26,6 @@ "@gitlive/firebase-app": "1.4.2", "firebase": "8.10.0", "kotlin": "1.5.30", - "kotlinx-coroutines-core": "1.5.1" + "kotlinx-coroutines-core": "1.5.2" } } diff --git a/firebase-functions/build.gradle.kts b/firebase-functions/build.gradle.kts index 065542772..efcb5016d 100644 --- a/firebase-functions/build.gradle.kts +++ b/firebase-functions/build.gradle.kts @@ -38,6 +38,13 @@ android { } } +val KonanTarget.archVariant: String + get() = if (this is KonanTarget.IOS_X64 || this is KonanTarget.IOS_SIMULATOR_ARM64) { + "ios-arm64_i386_x86_64-simulator" + } else { + "ios-arm64_armv7" + } + kotlin { android { @@ -59,18 +66,14 @@ kotlin { "nanopb", "PromisesObjC" ).map { - val archVariant = if (konanTarget is KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - - rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + rootProject.project("firebase-app").projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ).plus( listOf( "FirebaseFunctions", "GTMSessionFetcher" ).map { - val archVariant = if (konanTarget is KonanTarget.IOS_X64) "ios-arm64_i386_x86_64-simulator" else "ios-arm64_armv7" - - projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/$archVariant") + projectDir.resolve("src/nativeInterop/cinterop/Carthage/Build/$it.xcframework/${konanTarget.archVariant}") } ) @@ -89,11 +92,8 @@ kotlin { } } - if (project.extra["ideaActive"] as Boolean) { - iosX64("ios", nativeTargetConfig()) - } else { - ios(configure = nativeTargetConfig()) - } + ios(configure = nativeTargetConfig()) + iosSimulatorArm64(configure = nativeTargetConfig()) js { useCommonJs() @@ -138,6 +138,12 @@ kotlin { } val iosMain by getting + val iosSimulatorArm64Main by getting + iosSimulatorArm64Main.dependsOn(iosMain) + + val iosTest by sourceSets.getting + val iosSimulatorArm64Test by sourceSets.getting + iosSimulatorArm64Test.dependsOn(iosTest) val jsMain by getting } diff --git a/firebase-functions/package.json b/firebase-functions/package.json index 2c254a2a0..52318978d 100644 --- a/firebase-functions/package.json +++ b/firebase-functions/package.json @@ -26,6 +26,6 @@ "@gitlive/firebase-app": "1.4.2", "firebase": "8.10.0", "kotlin": "1.5.30", - "kotlinx-coroutines-core": "1.5.1" + "kotlinx-coroutines-core": "1.5.2" } }