Home | History | Annotate | Download | only in testapp
      1 /*
      2  * Copyright (C) 2017 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 import static androidx.build.dependencies.DependenciesKt.*
     18 
     19 plugins {
     20     id("SupportAndroidTestAppPlugin")
     21 }
     22 
     23 android {
     24     defaultConfig {
     25         javaCompileOptions {
     26             annotationProcessorOptions {
     27                 arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
     28             }
     29         }
     30     }
     31     sourceSets {
     32         androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
     33         androidTest.assets.srcDirs += files("$projectDir/databases".toString())
     34     }
     35 }
     36 
     37 dependencies {
     38     implementation(project(":room:room-common"))
     39     implementation(project(":sqlite:sqlite"))
     40     implementation(project(":sqlite:sqlite-framework"))
     41     implementation(project(":room:room-runtime"))
     42     implementation(project(":arch:core-runtime"))
     43     implementation(project(":arch:core-common"))
     44     implementation(project(":lifecycle:lifecycle-extensions"))
     45     implementation(project(":lifecycle:lifecycle-runtime"))
     46     implementation(project(":lifecycle:lifecycle-common"))
     47     implementation(project(":room:room-rxjava2"))
     48     implementation(project(":paging:paging-runtime"))
     49     implementation(project(":paging:paging-rxjava2"))
     50 
     51     implementation(SUPPORT_RECYCLERVIEW, libs.support_exclude_config)
     52     implementation(SUPPORT_APPCOMPAT, libs.support_exclude_config)
     53     annotationProcessor project(":room:room-compiler")
     54     androidTestAnnotationProcessor project(":room:room-compiler")
     55 
     56     // IJ's gradle integration just cannot figure this out ...
     57     androidTestImplementation(project(":lifecycle:lifecycle-extensions"))
     58     androidTestImplementation(project(":lifecycle:lifecycle-common"))
     59     androidTestImplementation(project(":lifecycle:lifecycle-runtime"))
     60     androidTestImplementation(project(":room:room-testing"))
     61     androidTestImplementation(project(":room:room-rxjava2"))
     62     androidTestImplementation(project(":arch:core-testing"))
     63     androidTestImplementation(RX_JAVA)
     64     androidTestImplementation(TEST_RUNNER)
     65     androidTestImplementation(ESPRESSO_CORE)
     66     androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it's own MockMaker
     67     androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it's own MockMaker
     68 
     69     testImplementation(JUNIT)
     70 }
     71 
     72 tasks['check'].dependsOn(tasks['connectedCheck'])
     73 
     74 uploadArchives.enabled = false
     75 
     76 supportTestApp {
     77     // to assert that room generates somewhat OK code.
     78     enableErrorProne = true
     79 }
     80