Skip to content

Commit

Permalink
Use default hierarchy template
Browse files Browse the repository at this point in the history
  • Loading branch information
twyatt committed Nov 22, 2023
1 parent ba4a66e commit 665f848
Showing 1 changed file with 25 additions and 89 deletions.
114 changes: 25 additions & 89 deletions core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,115 +8,51 @@ plugins {
id("com.vanniktech.maven.publish")
}

/* ```
* common
* |-- js
* |-- android
* '-- apple
* |-- ios
* '-- macos
* ```
*/
kotlin {
explicitApi()
jvmToolchain(libs.versions.jvm.toolchain.get().toInt())

androidTarget().publishAllLibraryVariants()
js().browser()
iosX64()
macosArm64()
iosArm64()
iosSimulatorArm64()
iosX64()
js().browser()
macosArm64()
macosX64()

sourceSets {
val commonMain by getting {
dependencies {
api(project(":exceptions"))
api(libs.kotlinx.coroutines.core)
api(libs.uuid)
implementation(libs.tuulbox.collections)
}
}

val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
implementation(libs.tuulbox.logging)
implementation(libs.kotlinx.coroutines.test)
}
}

val jsTest by getting {
dependencies {
implementation(kotlin("test-js"))
}
}

val androidMain by getting {
dependencies {
api(libs.kotlinx.coroutines.android)
implementation(libs.androidx.core)
implementation(libs.androidx.startup)

// Workaround for AtomicFU plugin not automatically adding JVM dependency for Android.
// https://github.com/Kotlin/kotlinx-atomicfu/issues/145
implementation(libs.atomicfu)

implementation(libs.tuulbox.coroutines)
}
}

val androidUnitTest by getting {
dependencies {
implementation(kotlin("test-junit"))
}
}

val appleMain by creating {
dependsOn(commonMain)
}

val appleTest by creating

val macosX64Main by getting {
dependsOn(appleMain)
}
commonMain.dependencies {
api(project(":exceptions"))
api(libs.kotlinx.coroutines.core)
api(libs.uuid)
implementation(libs.tuulbox.collections)

val macosX64Test by getting {
dependsOn(appleTest)
}

val macosArm64Main by getting {
dependsOn(appleMain)
commonTest.dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
implementation(libs.tuulbox.logging)
implementation(libs.kotlinx.coroutines.test)
}

val macosArm64Test by getting {
dependsOn(appleTest)
jsTest.dependencies {
implementation(kotlin("test-js"))
}

val iosX64Main by getting {
dependsOn(appleMain)
}
androidMain.dependencies {
api(libs.kotlinx.coroutines.android)
implementation(libs.androidx.core)
implementation(libs.androidx.startup)

val iosX64Test by getting {
dependsOn(appleTest)
}
// Workaround for AtomicFU plugin not automatically adding JVM dependency for Android.
// https://github.com/Kotlin/kotlinx-atomicfu/issues/145
implementation(libs.atomicfu)

val iosArm64Main by getting {
dependsOn(appleMain)
implementation(libs.tuulbox.coroutines)
}

val iosArm64Test by getting {
dependsOn(appleTest)
}

val iosSimulatorArm64Main by getting {
dependsOn(appleMain)
}
val iosSimulatorArm64Test by getting {
dependsOn(appleTest)
getByName("androidUnitTest").dependencies {
implementation(kotlin("test-junit"))
}

all {
Expand Down

0 comments on commit 665f848

Please sign in to comment.