You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
161 lines
4.7 KiB
161 lines
4.7 KiB
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi |
|
|
|
plugins { |
|
kotlin("multiplatform") |
|
id("org.jetbrains.compose") |
|
id("maven-publish") |
|
id("com.android.library") |
|
} |
|
|
|
val composeVersion = extra["compose.version"] as String |
|
|
|
kotlin { |
|
@OptIn(ExperimentalKotlinGradlePluginApi::class) |
|
targetHierarchy.default() |
|
jvm("desktop") |
|
androidTarget { |
|
publishLibraryVariants("release") |
|
compilations.all { |
|
kotlinOptions { |
|
jvmTarget = "11" |
|
} |
|
} |
|
} |
|
iosX64() |
|
iosArm64() |
|
iosSimulatorArm64() |
|
js { |
|
browser { |
|
testTask(Action { |
|
enabled = false |
|
}) |
|
} |
|
} |
|
macosX64() |
|
macosArm64() |
|
|
|
sourceSets { |
|
all { |
|
languageSettings { |
|
optIn("kotlin.RequiresOptIn") |
|
optIn("kotlinx.cinterop.ExperimentalForeignApi") |
|
} |
|
} |
|
|
|
val commonMain by getting { |
|
dependencies { |
|
implementation("org.jetbrains.compose.runtime:runtime:$composeVersion") |
|
implementation("org.jetbrains.compose.foundation:foundation:$composeVersion") |
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3") |
|
} |
|
} |
|
val commonTest by getting { |
|
dependencies { |
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3") |
|
implementation(kotlin("test")) |
|
} |
|
} |
|
val commonButJSMain by creating { |
|
dependsOn(commonMain) |
|
} |
|
val commonButJSTest by creating { |
|
dependsOn(commonTest) |
|
} |
|
val skikoMain by creating { |
|
dependsOn(commonMain) |
|
} |
|
val skikoTest by creating { |
|
dependsOn(commonTest) |
|
} |
|
val jvmAndAndroidMain by creating { |
|
dependsOn(commonMain) |
|
} |
|
val jvmAndAndroidTest by creating { |
|
dependsOn(commonTest) |
|
} |
|
val desktopMain by getting { |
|
dependsOn(skikoMain) |
|
dependsOn(jvmAndAndroidMain) |
|
dependsOn(commonButJSMain) |
|
} |
|
val desktopTest by getting { |
|
dependsOn(skikoTest) |
|
dependsOn(jvmAndAndroidTest) |
|
dependsOn(commonButJSTest) |
|
dependencies { |
|
implementation(compose.desktop.currentOs) |
|
implementation("org.jetbrains.compose.ui:ui-test-junit4:$composeVersion") |
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.7.3") |
|
} |
|
} |
|
val androidMain by getting { |
|
dependsOn(jvmAndAndroidMain) |
|
dependsOn(commonButJSMain) |
|
} |
|
val androidInstrumentedTest by getting { |
|
dependsOn(commonTest) |
|
dependsOn(jvmAndAndroidTest) |
|
dependsOn(commonButJSTest) |
|
} |
|
val iosMain by getting { |
|
dependsOn(skikoMain) |
|
dependsOn(commonButJSMain) |
|
} |
|
val iosTest by getting { |
|
dependsOn(skikoTest) |
|
dependsOn(commonButJSTest) |
|
} |
|
val jsMain by getting { |
|
dependsOn(skikoMain) |
|
} |
|
val jsTest by getting { |
|
dependsOn(skikoTest) |
|
} |
|
val macosMain by getting { |
|
dependsOn(skikoMain) |
|
dependsOn(commonButJSMain) |
|
} |
|
val macosTest by getting { |
|
dependsOn(skikoTest) |
|
dependsOn(commonButJSTest) |
|
} |
|
} |
|
} |
|
|
|
android { |
|
compileSdk = 34 |
|
namespace = "org.jetbrains.compose.components.resources" |
|
defaultConfig { |
|
minSdk = 21 |
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" |
|
} |
|
compileOptions { |
|
sourceCompatibility = JavaVersion.VERSION_11 |
|
targetCompatibility = JavaVersion.VERSION_11 |
|
} |
|
@Suppress("UnstableApiUsage") |
|
testOptions { |
|
managedDevices { |
|
devices { |
|
maybeCreate<com.android.build.api.dsl.ManagedVirtualDevice>("pixel5").apply { |
|
device = "Pixel 5" |
|
apiLevel = 31 |
|
systemImageSource = "aosp" |
|
} |
|
} |
|
} |
|
} |
|
dependencies { |
|
//Android integration tests |
|
testImplementation("androidx.test:core:1.5.0") |
|
androidTestImplementation("androidx.compose.ui:ui-test-manifest:1.5.3") |
|
androidTestImplementation("androidx.compose.ui:ui-test:1.5.3") |
|
androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.5.3") |
|
} |
|
} |
|
|
|
configureMavenPublication( |
|
groupId = "org.jetbrains.compose.components", |
|
artifactId = "components-resources", |
|
name = "Resources for Compose JB" |
|
)
|
|
|