blob: cb11beb25645a7594c9a3e42b7cf9692d276f85b [file] [log] [blame]
/*
* Copyright (C) 2016 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 androidx.build.Publish
plugins {
id("AndroidXPlugin")
id("com.android.library")
id("kotlin-android")
}
android {
buildFeatures {
aidl = true
}
buildTypes.all {
consumerProguardFiles "proguard-rules.pro"
}
namespace "androidx.room"
kotlinOptions {
freeCompilerArgs += ["-Xjvm-default=all"]
}
}
dependencies {
api(project(":room:room-common"))
api(project(":sqlite:sqlite-framework"))
api(project(":sqlite:sqlite"))
implementation("androidx.arch.core:core-runtime:2.0.1")
compileOnly("androidx.paging:paging-common:2.0.0")
compileOnly("androidx.lifecycle:lifecycle-livedata-core:2.0.0")
implementation("androidx.annotation:annotation-experimental:1.1.0-rc01")
compileOnly libs.kotlinStdlib // Due to :annotation-experimental
lintChecks(project(":room:room-runtime-lint"))
testImplementation("androidx.arch.core:core-testing:2.0.1")
testImplementation(libs.junit)
testImplementation(libs.mockitoCore)
testImplementation("androidx.lifecycle:lifecycle-livedata-core:2.0.0")
testImplementation(libs.kotlinStdlib)
testImplementation(libs.truth)
testImplementation(libs.testRunner) // Needed for @FlakyTest and @Ignore
androidTestImplementation(libs.junit)
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
androidTestImplementation(libs.testRunner)
androidTestImplementation(libs.espressoCore)
androidTestImplementation(libs.kotlinStdlib)
androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker
androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has it"s own MockMaker
androidTestImplementation(project(":internal-testutils-truth")) // for assertThrows
androidTestImplementation("androidx.arch.core:core-testing:2.0.1")
}
android.libraryVariants.all { variant ->
def name = variant.name
def suffix = name.capitalize()
// Create jar<variant> task for testImplementation in room-compiler.
project.tasks.create(name: "jar${suffix}", type: Jar){
dependsOn(variant.javaCompileProvider.get())
from(variant.javaCompileProvider.get().destinationDir)
destinationDirectory.fileValue(new File(project.buildDir, "libJar"))
}
}
androidx {
name = "Android Room-Runtime"
publish = Publish.SNAPSHOT_AND_RELEASE
mavenGroup = LibraryGroups.ROOM
inceptionYear = "2017"
description = "Android Room-Runtime"
}