| import androidx.build.Publish |
| |
| plugins { |
| id("AndroidXPlugin") |
| id("com.android.library") |
| id("kotlin-android") |
| id("androidx.stableaidl") |
| } |
| |
| dependencies { |
| // Atomically versioned. |
| constraints { |
| implementation(project(":core:core-ktx")) |
| implementation(project(":core:core-testing")) |
| } |
| |
| api("androidx.annotation:annotation:1.6.0") |
| api("androidx.annotation:annotation-experimental:1.3.0") |
| api("androidx.lifecycle:lifecycle-runtime:2.3.1") |
| api("androidx.versionedparcelable:versionedparcelable:1.1.1") |
| implementation("androidx.collection:collection:1.0.0") |
| implementation("androidx.concurrent:concurrent-futures:1.0.0") |
| implementation("androidx.interpolator:interpolator:1.0.0") |
| |
| // Workaround for Kotlin dependency constraints |
| implementation(libs.kotlinStdlib) |
| |
| // We don't ship this as a public artifact, so it must remain a project-type dependency. |
| annotationProcessor(projectOrArtifact(":versionedparcelable:versionedparcelable-compiler")) |
| |
| androidTestImplementation(libs.junit) |
| androidTestImplementation(libs.kotlinStdlib) |
| androidTestImplementation(libs.testExtJunit) |
| androidTestImplementation(libs.testCore) |
| androidTestImplementation(libs.testRunner) |
| androidTestImplementation(libs.testRules) |
| androidTestImplementation(libs.truth) |
| androidTestImplementation(libs.espressoCore, excludes.espresso) |
| androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker |
| androidTestImplementation(libs.multidex) |
| androidTestImplementation(libs.testUiautomator) |
| |
| androidTestImplementation("androidx.lifecycle:lifecycle-runtime-testing:2.3.1") |
| |
| // Including both dexmakers allows support for all API levels plus final mocking support on |
| // API 28+. The implementation is swapped based on the finality of the mock type. This |
| // delegation is handled manually inside androidx.core.util.mockito.CustomMockMaker. |
| androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has it"s own MockMaker |
| androidTestImplementation(libs.dexmakerMockitoInline, excludes.bytebuddy) // DexMaker has it"s own MockMaker |
| androidTestImplementation("androidx.appcompat:appcompat:1.1.0") { |
| exclude group: "androidx.core", module: "core" |
| } |
| androidTestImplementation(project(":internal-testutils-runtime"), { |
| exclude group: "androidx.core", module: "core" |
| }) |
| androidTestImplementation(project(":internal-testutils-fonts")) |
| androidTestImplementation(project(":internal-testutils-mockito")) |
| |
| testImplementation(libs.junit) |
| testImplementation(libs.testCore) |
| testImplementation(libs.testRunner) |
| testImplementation(libs.truth) |
| testImplementation(libs.robolectric) |
| } |
| |
| android { |
| buildFeatures { |
| aidl = true |
| } |
| testOptions.unitTests.includeAndroidResources = true |
| aaptOptions { |
| noCompress "ttf" |
| } |
| buildTypes.all { |
| consumerProguardFiles "proguard-rules.pro" |
| |
| stableAidl { |
| version 1 |
| } |
| } |
| |
| packagingOptions { |
| // Drop the file from external dependencies, preferring the local file inside androidTest |
| pickFirsts = [ |
| "mockito-extensions/org.mockito.plugins.MockMaker", |
| "mockito-extensions/org.mockito.plugins.StackTraceCleanerProvider" |
| ] |
| } |
| defaultConfig { |
| multiDexEnabled = true |
| } |
| namespace "androidx.core" |
| } |
| |
| androidx { |
| name = "Core" |
| publish = Publish.SNAPSHOT_AND_RELEASE |
| mavenVersion = LibraryVersions.CORE |
| inceptionYear = "2015" |
| description = "Provides backward-compatible implementations of Android platform APIs and " + |
| "features." |
| failOnDeprecationWarnings = false |
| } |