| /** |
| * This file was created using the `create_project.py` script located in the |
| * `<AndroidX root>/development/project-creator` directory. |
| * |
| * Please use that script when creating a new project, rather than copying an existing project and |
| * modifying its settings. |
| */ |
| import androidx.build.LibraryType |
| |
| 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.8.0") |
| api("androidx.annotation:annotation-experimental:1.4.0") |
| api("androidx.lifecycle:lifecycle-runtime:2.6.2") |
| 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") |
| |
| api(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.6.2") |
| |
| // 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-lifecycle")) |
| androidTestImplementation(project(":internal-testutils-fonts")) |
| androidTestImplementation(project(":internal-testutils-mockito")) |
| |
| testImplementation(libs.junit) |
| testImplementation(libs.testExtJunit) |
| testImplementation(libs.testCore) |
| testImplementation(libs.testRunner) |
| testImplementation(libs.truth) |
| testImplementation(libs.robolectric) |
| } |
| |
| android { |
| buildFeatures { |
| aidl = true |
| } |
| testOptions.unitTests.includeAndroidResources = true |
| aaptOptions { |
| noCompress "ttf" |
| } |
| buildTypes.configureEach { |
| 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" |
| type = LibraryType.PUBLISHED_LIBRARY |
| mavenVersion = LibraryVersions.CORE |
| inceptionYear = "2015" |
| description = "Provides backward-compatible implementations of Android platform APIs and " + |
| "features." |
| failOnDeprecationWarnings = false |
| metalavaK2UastEnabled = true |
| legacyDisableKotlinStrictApiMode = true |
| } |