| /* |
| * 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 androidx.build.LibraryGroups |
| import androidx.build.LibraryVersions |
| import androidx.build.Publish |
| import org.jetbrains.kotlin.gradle.tasks.KotlinCompile |
| |
| import static androidx.build.dependencies.DependenciesKt.* |
| |
| plugins { |
| id("AndroidXPlugin") |
| id("com.android.library") |
| id("AndroidXUiPlugin") |
| id("kotlin-multiplatform") |
| } |
| |
| dependencies { |
| kotlinPlugin project(path: ":compose:compose-compiler") |
| } |
| |
| kotlin { |
| android() |
| sourceSets { |
| commonMain.dependencies { |
| implementation(KOTLIN_STDLIB_COMMON) |
| implementation(KOTLIN_COROUTINES_CORE) |
| api project(":compose:core:core") |
| api project(":compose:core:core-text") |
| api project(":compose:core:core-util") |
| } |
| |
| androidMain.dependencies { |
| implementation(KOTLIN_STDLIB) |
| } |
| |
| test.dependencies { |
| implementation(ANDROIDX_TEST_RULES) |
| implementation(ANDROIDX_TEST_RUNNER) |
| implementation(JUNIT) |
| implementation(MOCKITO_CORE) |
| implementation(TRUTH) |
| implementation(KOTLIN_REFLECT) |
| implementation MOCKITO_KOTLIN, { |
| exclude group: 'org.mockito' // to keep control on the mockito version |
| } |
| } |
| |
| androidAndroidTest.dependencies { |
| implementation project(":compose:test:test-core") |
| implementation project(":compose:foundation:foundation-layout") |
| implementation project(":compose:core:core-test-font") |
| implementation "androidx.core:core:1.5.0-alpha01" |
| implementation(ANDROIDX_TEST_RULES) |
| implementation(ANDROIDX_TEST_RUNNER) |
| implementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker |
| implementation(ESPRESSO_CORE) |
| implementation(JUNIT) |
| implementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker |
| implementation(TRUTH) |
| implementation MOCKITO_KOTLIN, { |
| exclude group: 'org.mockito' // to keep control on the mockito version |
| } |
| } |
| } |
| } |
| |
| androidx { |
| name = "Compose Foundation Text" |
| publish = Publish.SNAPSHOT_AND_RELEASE |
| mavenVersion = LibraryVersions.UI |
| mavenGroup = LibraryGroups.Compose.FOUNDATION |
| inceptionYear = "2020" |
| description = "Foundational text composables used to build higher level APIs." |
| } |
| |
| tasks.withType(KotlinCompile).configureEach { |
| kotlinOptions { |
| useIR = true |
| } |
| } |
| |
| android { |
| buildTypes { |
| debug { |
| testCoverageEnabled = false // Breaks Kotlin compiler. |
| } |
| } |
| } |
| |
| // An ugly hack to workaround b/159426957 causing MPP+AGP to conflict. |
| // See also: https://youtrack.jetbrains.com/issue/KT-34650 |
| // See also: https://youtrack.jetbrains.com/issue/KT-39712 |
| afterEvaluate { |
| ["Api", "Implementation", "CompileOnly", "RuntimeOnly"].each { scope -> |
| def erroneousExtendsFrom = [ |
| "androidTest$scope", |
| "androidTestDebug$scope", |
| "androidTestRelease$scope" |
| ].collect { configurations[it] } |
| [ |
| "androidDebugUnitTest$scope", |
| "androidReleaseUnitTest$scope", |
| "test$scope", |
| "testDebug$scope", |
| "testRelease$scope" |
| ].each { |
| def configuration = configurations[it] |
| configuration.setExtendsFrom(configuration.extendsFrom - erroneousExtendsFrom) |
| } |
| } |
| } |
| |