普通文本  |  80行  |  2.99 KB

/*
 * 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.*

plugins {
    id("SupportAndroidTestAppPlugin")
}

android {
    defaultConfig {
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }
    }
    sourceSets {
        androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
        androidTest.assets.srcDirs += files("$projectDir/databases".toString())
    }
}

dependencies {
    implementation(project(":room:room-common"))
    implementation(project(":sqlite:sqlite"))
    implementation(project(":sqlite:sqlite-framework"))
    implementation(project(":room:room-runtime"))
    implementation(project(":arch:core-runtime"))
    implementation(project(":arch:core-common"))
    implementation(project(":lifecycle:lifecycle-extensions"))
    implementation(project(":lifecycle:lifecycle-runtime"))
    implementation(project(":lifecycle:lifecycle-common"))
    implementation(project(":room:room-rxjava2"))
    implementation(project(":paging:paging-runtime"))
    implementation(project(":paging:paging-rxjava2"))

    implementation(SUPPORT_RECYCLERVIEW, libs.support_exclude_config)
    implementation(SUPPORT_APPCOMPAT, libs.support_exclude_config)
    annotationProcessor project(":room:room-compiler")
    androidTestAnnotationProcessor project(":room:room-compiler")

    // IJ's gradle integration just cannot figure this out ...
    androidTestImplementation(project(":lifecycle:lifecycle-extensions"))
    androidTestImplementation(project(":lifecycle:lifecycle-common"))
    androidTestImplementation(project(":lifecycle:lifecycle-runtime"))
    androidTestImplementation(project(":room:room-testing"))
    androidTestImplementation(project(":room:room-rxjava2"))
    androidTestImplementation(project(":arch:core-testing"))
    androidTestImplementation(RX_JAVA)
    androidTestImplementation(TEST_RUNNER)
    androidTestImplementation(ESPRESSO_CORE)
    androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it's own MockMaker
    androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it's own MockMaker

    testImplementation(JUNIT)
}

tasks['check'].dependsOn(tasks['connectedCheck'])

uploadArchives.enabled = false

supportTestApp {
    // to assert that room generates somewhat OK code.
    enableErrorProne = true
}