| /* |
| * Copyright (C) 2020 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.LibraryGroups |
| import androidx.build.LibraryType |
| import org.jetbrains.kotlin.gradle.tasks.KotlinCompile |
| |
| import static androidx.build.dependencies.DependenciesKt.* |
| |
| plugins { |
| id("AndroidXPlugin") |
| id("kotlin") |
| } |
| |
| dependencies { |
| api(KOTLIN_STDLIB) |
| api(JAVAPOET) |
| implementation("androidx.annotation:annotation:1.1.0") |
| implementation(GUAVA) |
| implementation(AUTO_COMMON) |
| implementation(AUTO_VALUE_ANNOTATIONS) |
| |
| implementation(KOTLIN_METADATA_JVM) |
| implementation(INTELLIJ_ANNOTATIONS) |
| implementation(KOTLIN_KSP_API) { |
| version { |
| // TODO remove after KSP versions are fixed |
| // KSP 1.4 versions are not properly ordered due to rc vs dev versions (dev is latest |
| // but gradle thinks rc is latest). |
| // We have to enforce it to ensure the correct version is used. |
| strictly KSP_VERSION |
| } |
| } |
| |
| testImplementation(GOOGLE_COMPILE_TESTING) |
| testImplementation(JUNIT) |
| testImplementation(JSR250) |
| testImplementation(KOTLIN_COMPILE_TESTING_KSP) |
| testImplementation(KOTLIN_KSP) { |
| version { |
| // TODO remove after KSP versions are fixed |
| strictly KSP_VERSION |
| } |
| } |
| testImplementation(project(":room:room-compiler-processing-testing")) |
| } |
| |
| tasks.withType(KotlinCompile).configureEach { |
| kotlinOptions { |
| freeCompilerArgs += ["-Xopt-in=kotlin.RequiresOptIn", |
| "-Xopt-in=kotlin.contracts.ExperimentalContracts"] |
| } |
| } |
| |
| androidx { |
| name = "AndroidX Room XProcessor" |
| type = LibraryType.ANNOTATION_PROCESSOR |
| mavenGroup = LibraryGroups.ROOM |
| inceptionYear = "2020" |
| description = "Processing Environment Abstraction for AndroidX Room" |
| } |