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