blob: 80176341ddbdc0b3d11577d3a688a06c837dcef2 [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 static androidx.build.dependencies.DependenciesKt.*
import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
import androidx.build.AndroidXExtension
import androidx.build.Publish
plugins {
id("AndroidXPlugin")
id("com.android.library")
id("kotlin-android")
}
android {
buildTypes.all {
consumerProguardFiles 'proguard-rules.pro'
}
}
configurations {
repackage
}
dependencies {
api(project(":room:room-common"))
// ----------- Start of workaround to include room-common-java8 inside of aar as jar ----------
repackage(project(":room:room-common-java8")) { transitive = false } // no dependencies
implementation files(configurations.repackage) // files causes it to be bundled inside of aar
// ----------- End of workaround to include room-common-java8 inside of aar as jar ------------
api(ANDROIDX_SQLITE_FRAMEWORK)
api(ANDROIDX_SQLITE)
implementation(ARCH_CORE_RUNTIME)
implementation(ANDROIDX_CORE)
implementation(ANDROIDX_COLLECTION)
compileOnly(ARCH_PAGING_COMMON)
compileOnly(ARCH_LIFECYCLE_LIVEDATA_CORE)
implementation(ANDROIDX_COLLECTION)
testImplementation(ARCH_CORE_TESTING)
testImplementation(JUNIT)
testImplementation(MOCKITO_CORE)
testImplementation(ARCH_LIFECYCLE_EXTENSIONS)
testImplementation(KOTLIN_STDLIB)
testImplementation(TRUTH)
androidTestImplementation(JUNIT)
androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
androidTestImplementation(ANDROIDX_TEST_CORE)
androidTestImplementation(ANDROIDX_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
}
android.libraryVariants.all { variant ->
def name = variant.name
def suffix = name.capitalize()
// Create jar<variant> task for testCompile in room-compiler.
project.tasks.create(name: "jar${suffix}", type: Jar){
dependsOn variant.javaCompileProvider.get()
from variant.javaCompileProvider.get().destinationDir
destinationDir new File(project.buildDir, "libJar")
}
// Make javaCompile task depend on room-common-java8 jar task.
variant.javaCompileProvider.configure { task ->
task.dependsOn(":room:room-common-java8:jar")
}
}
androidx {
name = "Android Room-Runtime"
publish = Publish.SNAPSHOT_AND_RELEASE
mavenVersion = LibraryVersions.ROOM
mavenGroup = LibraryGroups.ROOM
inceptionYear = "2017"
description = "Android Room-Runtime"
url = AndroidXExtension.ARCHITECTURE_URL
}