blob: d3dc1458683cf1b1da7ca02b9429079a380b7661 [file] [log] [blame]
/*
* Copyright 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import static androidx.build.dependencies.DependenciesKt.*
import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
import androidx.build.Publish
plugins {
id("AndroidXPlugin")
id("AndroidXUiPlugin")
id("com.android.library")
id("kotlin-multiplatform")
}
dependencies {
kotlinPlugin project(path: ":compose:compose-compiler")
}
kotlin {
android()
sourceSets {
commonMain.dependencies {
implementation(KOTLIN_STDLIB)
}
commonTest.dependencies {
implementation kotlin("test-junit")
implementation project(":ui:ui-framework")
}
jvmMain {
}
// TODO(aelias): Consider using commonTest for unit tests if a usable feature
// is added for https://youtrack.jetbrains.com/issue/KT-34662
unitTest {
}
androidMain {
dependsOn jvmMain
}
androidMain.dependencies {
api "androidx.annotation:annotation:1.0.0"
implementation "org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3"
}
// TODO(aelias): Change to androidLocalTest and androidDeviceTest when
// https://github.com/JetBrains/kotlin/pull/2829 rolls in
androidTest {
dependsOn unitTest
}
androidAndroidTest.dependencies {
implementation(ANDROIDX_TEST_EXT_JUNIT)
implementation(ANDROIDX_TEST_RULES)
implementation project(":ui:ui-framework")
implementation project(":ui:ui-platform")
}
all {
languageSettings.useExperimentalAnnotation("kotlin.Experimental")
}
}
}
android {
buildTypes {
debug {
testCoverageEnabled = false
}
release {
testCoverageEnabled = false
}
}
// b/148416113: AGP doesn't know about Kotlin-MPP's sourcesets yet, so add
// them to its source directories (this fixes lint, and code completion in
// Android Studio on versions >= 4.0canary8)
sourceSets.main.java.srcDirs = ['src/commonMain/kotlin','src/jvmMain/kotlin','src/androidMain/kotlin']
sourceSets.test.java.srcDirs = ['src/unitTest/kotlin']
sourceSets.androidTest.java.srcDirs = ['src/androidAndroidTest/kotlin']
}
androidx {
name = "AndroidX Compose"
publish = Publish.SNAPSHOT_AND_RELEASE
mavenVersion = LibraryVersions.COMPOSE
mavenGroup = LibraryGroups.COMPOSE
inceptionYear = "2019"
description = "Contains support code for tree composition"
}
tasks.withType(KotlinCompile).configureEach {
kotlinOptions {
useIR = true
}
}