blob: 87f8666d36a9c64237cab947aa65a8b2ab46c0a9 [file] [log] [blame]
/**
* 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.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(project(":annotation:annotation"))
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-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.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
metalavaK2UastEnabled = true
}