-
Notifications
You must be signed in to change notification settings - Fork 114
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
87 lines (80 loc) · 2.61 KB
/
build.gradle.kts
File metadata and controls
87 lines (80 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// Copyright (C) 2025 Slack Technologies, LLC
// SPDX-License-Identifier: Apache-2.0
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.compose)
alias(libs.plugins.agp.application)
alias(libs.plugins.kotlin.plugin.parcelize)
}
android {
namespace = "com.slack.circuit.sample.navigation"
defaultConfig {
minSdk = 21
targetSdk = 36
}
testOptions { unitTests { isIncludeAndroidResources = true } }
}
kotlin {
androidTarget()
jvm {
@OptIn(ExperimentalKotlinGradlePluginApi::class)
mainRun { mainClass.set("com.slack.circuit.sample.navigation.MainKt") }
}
jvmToolchain(libs.versions.jdk.get().toInt())
applyDefaultHierarchyTemplate()
sourceSets {
commonMain {
dependencies {
implementation(libs.compose.foundation)
implementation(libs.compose.material.material3)
implementation(libs.compose.material.icons)
implementation(libs.compose.ui.tooling.preview)
implementation(projects.circuitFoundation)
implementation(projects.circuitx.gestureNavigation)
implementation(projects.circuitx.navigation)
implementation(projects.internalRuntime)
}
}
androidMain {
dependencies {
implementation(libs.androidx.activity.ktx)
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.appCompat)
implementation(libs.bundles.compose.ui)
implementation(libs.material)
}
}
androidUnitTest {
dependencies {
implementation(libs.androidx.compose.ui.testing.junit)
implementation(libs.androidx.compose.ui.testing.manifest)
implementation(libs.robolectric)
implementation(libs.androidx.test.espresso.core)
}
}
jvmMain { dependencies { implementation(compose.desktop.currentOs) } }
configureEach {
compilerOptions {
freeCompilerArgs.add("-Xexpect-actual-classes")
optIn.add("androidx.compose.material3.ExperimentalMaterial3Api")
}
}
}
targets.configureEach {
if (platformType == KotlinPlatformType.androidJvm) {
compilations.configureEach {
compileTaskProvider.configure {
compilerOptions {
freeCompilerArgs.addAll(
"-P",
"plugin:org.jetbrains.kotlin.parcelize:additionalAnnotation=com.slack.circuit.internal.runtime.Parcelize",
)
}
}
}
}
}
}
compose.desktop { application { mainClass = "com.slack.circuit.sample.navigation.MainKt" } }