普通文本  |  79行  |  2.7 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.
 */
// TO debug processor, run:
//./gradlew :r:in:k:clean :r:in:k:cC --no-daemon
// -Dorg.gradle.debug=true
// -Dkotlin.compiler.execution.strategy="in-process"
import static androidx.build.dependencies.DependenciesKt.*

plugins {
    id("SupportAndroidTestAppPlugin")
    id("kotlin-kapt")
    id("kotlin-android")
}

android {
    defaultConfig {
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }
    }
    sourceSets {
        androidTest.assets.srcDirs += files("$projectDir/schemas".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(":lifecycle:lifecycle-extensions"))
    kaptAndroidTest project(":room:room-compiler")

    androidTestImplementation(TEST_RUNNER) {
        exclude module: 'support-annotations'
        exclude module: 'hamcrest-core'
    }
    androidTestImplementation(ESPRESSO_CORE, {
        exclude group: 'com.android.support', module: 'support-annotations'
        exclude module: "hamcrest-core"
    })
    // 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-guava')
    androidTestImplementation project(':room:room-testing')
    androidTestImplementation project(':room:room-rxjava2')
    androidTestImplementation project(':arch:core-testing')
    androidTestImplementation(GUAVA_ANDROID)
    androidTestImplementation(RX_JAVA)
    testImplementation(MOCKITO_CORE)
}

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

uploadArchives.enabled = false

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