| /* |
| * 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. |
| */ |
| |
| 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") |
| id("androidx.room") |
| } |
| |
| android { |
| buildFeatures { |
| aidl = true |
| } |
| sourceSets { |
| androidTest.assets.srcDirs += files("$projectDir/databases".toString()) |
| } |
| flavorDimensions "processorConfiguration" |
| productFlavors { |
| withoutExpandProjection { |
| dimension "processorConfiguration" |
| javaCompileOptions { |
| annotationProcessorOptions { |
| arguments = ["room.expandProjection" : "false"] |
| } |
| } |
| } |
| withNullAwareTypeConverter { |
| dimension "processorConfiguration" |
| javaCompileOptions { |
| annotationProcessorOptions { |
| arguments = [ |
| "room.expandProjection" : "false", |
| "room.useNullAwareTypeAnalysis": "true" |
| ] |
| } |
| } |
| } |
| withPreKmpCompiler { |
| dimension "processorConfiguration" |
| } |
| } |
| compileOptions { |
| // For testing Java records |
| sourceCompatibility JavaVersion.VERSION_17 |
| targetCompatibility JavaVersion.VERSION_17 |
| coreLibraryDesugaringEnabled = true |
| } |
| namespace = "androidx.room.integration.testapp" |
| } |
| |
| dependencies { |
| coreLibraryDesugaring(libs.desugarJdkLibs) |
| implementation(project(":room:room-common")) |
| implementation(project(":room:room-runtime")) |
| implementation(project(":room:room-migration")) |
| implementation("androidx.arch.core:core-runtime:2.2.0") |
| implementation("androidx.lifecycle:lifecycle-livedata:2.6.1") |
| implementation("androidx.lifecycle:lifecycle-runtime:2.6.1") |
| |
| // Workaround for b/191286558. |
| implementation(project(":annotation:annotation-experimental")) |
| |
| // libs.findbugs dependency resolves an app/testapp version conflict. |
| implementation(libs.findbugs) |
| implementation("androidx.recyclerview:recyclerview:1.0.0") |
| implementation("androidx.appcompat:appcompat:1.3.1") |
| |
| // Annotation processor / compiler dependencies: |
| withoutExpandProjectionAnnotationProcessor(project(":room:room-compiler")) |
| withNullAwareTypeConverterAnnotationProcessor(project(":room:room-compiler")) |
| withPreKmpCompilerAnnotationProcessor("androidx.room:room-compiler:2.6.1") |
| androidTestWithoutExpandProjectionAnnotationProcessor(project(":room:room-compiler")) |
| androidTestWithNullAwareTypeConverterAnnotationProcessor(project(":room:room-compiler")) |
| androidTestWithPreKmpCompilerAnnotationProcessor("androidx.room:room-compiler:2.6.1") |
| |
| androidTestImplementation(project(":annotation:annotation-experimental")) |
| androidTestImplementation("androidx.arch.core:core-runtime:2.2.0") |
| androidTestImplementation("androidx.arch.core:core-common:2.2.0") |
| androidTestImplementation(project(":room:room-testing")) |
| androidTestImplementation(project(":room:room-rxjava2")) |
| androidTestImplementation(project(":room:room-rxjava3")) |
| androidTestImplementation(project(":room:room-guava")) |
| androidTestImplementation(project(":room:room-paging")) |
| androidTestImplementation("androidx.arch.core:core-testing:2.2.0") |
| androidTestImplementation(project(":paging:paging-runtime")) |
| androidTestImplementation("androidx.lifecycle:lifecycle-runtime:2.6.1") |
| androidTestImplementation("androidx.lifecycle:lifecycle-runtime-testing:2.6.1") |
| androidTestImplementation("androidx.lifecycle:lifecycle-livedata:2.6.1") |
| androidTestImplementation(libs.guavaAndroid) |
| |
| // libs.findbugs dependency resolves an app/testapp version conflict. |
| androidTestImplementation(libs.findbugs) |
| androidTestImplementation(libs.rxjava2) |
| androidTestImplementation(libs.rxjava3) |
| androidTestImplementation(libs.testExtJunit) |
| androidTestImplementation(libs.testCore) |
| androidTestImplementation(libs.testRunner) |
| androidTestImplementation(libs.testRules) |
| androidTestImplementation(libs.espressoCore) |
| androidTestImplementation(libs.truth) |
| androidTestImplementation(libs.mockitoAndroid5) |
| androidTestImplementation(project(":internal-testutils-truth")) |
| |
| testImplementation(libs.junit) |
| } |
| |
| room { |
| schemaDirectory( |
| layout.projectDirectory.dir("schemas") |
| ) |
| } |
| |
| // Enable parameter names to support Room incremental when its a project() dep. |
| // See b/198431380 |
| tasks.withType(JavaCompile) { |
| options.compilerArgs << "-parameters" |
| } |
| |
| androidx { |
| // TODO: b/326456246 |
| optOutJSpecify = true |
| } |