blob: edcd26b14f431e04cfe32836f9fa3bbc9b65ecfe [file] [log] [blame]
/*
* Copyright (C) 2017 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 static androidx.build.dependencies.DependenciesKt.*
buildscript {
// TODO: Remove this when this test app no longer depends on 1.0.0 of vectordrawable-animated.
// vectordrawable and vectordrawable-animated were accidentally using the same package name
// which is no longer valid in namespaced resource world.
project.ext["android.uniquePackageNames"] = false
}
plugins {
id("AndroidXPlugin")
id("com.android.application")
}
android {
defaultConfig {
multiDexEnabled true
javaCompileOptions {
annotationProcessorOptions {
arguments = [
"room.schemaLocation" : "$projectDir/schemas".toString(),
]
}
}
}
buildFeatures {
aidl = true
}
sourceSets {
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
androidTest.assets.srcDirs += files("$projectDir/databases".toString())
}
// TODO re-enable flavors when b/153917176 is fixed
// flavorDimensions "processorConfiguration"
// productFlavors {
// withExpandProjection {
// dimension "processorConfiguration"
// javaCompileOptions {
// annotationProcessorOptions {
// arguments = [
// "room.schemaLocation" : "$projectDir/schemas".toString(),
// "room.expandProjection" : "true"
// ]
// }
// }
// }
// withoutExpandProjection {
// dimension "processorConfiguration"
// javaCompileOptions {
// annotationProcessorOptions {
// arguments = [
// "room.schemaLocation" : "$projectDir/schemas".toString(),
// "room.expandProjection" : "false"
// ]
// }
// }
// }
// }
}
dependencies {
implementation(project(":room:room-common"))
implementation(project(":room:room-runtime"))
implementation(projectOrArtifact(":arch:core:core-runtime"))
implementation(projectOrArtifact(":lifecycle:lifecycle-livedata"))
implementation(projectOrArtifact(":lifecycle:lifecycle-runtime"))
implementation(MULTIDEX)
// FINDBUGS dependency resolves an app/testapp version conflict.
implementation(FINDBUGS)
implementation("androidx.recyclerview:recyclerview:1.0.0")
implementation("androidx.appcompat:appcompat:1.0.0")
// use the shadowed dependency in tests so that if the shadowing does not work properly,
// our tests fail.
annotationProcessor project(path: ":room:room-compiler",
configuration: "shadowAndImplementation")
androidTestAnnotationProcessor project(path: ":room:room-compiler",
configuration: "shadowAndImplementation")
androidTestImplementation(project(":room:room-testing"))
androidTestImplementation(project(":room:room-rxjava2"))
androidTestImplementation(project(":room:room-rxjava3"))
androidTestImplementation(project(":room:room-guava"))
androidTestImplementation("androidx.arch.core:core-testing:2.0.1")
androidTestImplementation(projectOrArtifact(":paging:paging-runtime"))
androidTestImplementation(projectOrArtifact(":lifecycle:lifecycle-runtime"))
androidTestImplementation(projectOrArtifact(":lifecycle:lifecycle-runtime-testing"))
androidTestImplementation(projectOrArtifact(":lifecycle:lifecycle-livedata"))
// FINDBUGS dependency resolves an app/testapp version conflict.
androidTestImplementation(FINDBUGS)
androidTestImplementation(GUAVA_ANDROID)
androidTestImplementation(RX_JAVA)
androidTestImplementation(RX_JAVA3)
androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
androidTestImplementation(ANDROIDX_TEST_CORE)
androidTestImplementation(ANDROIDX_TEST_RUNNER)
androidTestImplementation(ANDROIDX_TEST_RULES)
androidTestImplementation(ESPRESSO_CORE)
androidTestImplementation(TRUTH)
androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it's own MockMaker
androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it's own MockMaker
androidTestImplementation(project(":internal-testutils-truth"))
testImplementation(JUNIT)
}