| /* |
| * 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 |
| } |
| } |