1/* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17/** 18 * This file was created using the `create_project.py` script located in the 19 * `<AndroidX root>/development/project-creator` directory. 20 * 21 * Please use that script when creating a new project, rather than copying an existing project and 22 * modifying its settings. 23 */ 24import androidx.build.SoftwareType 25 26plugins { 27 id("AndroidXPlugin") 28 id("kotlin") 29} 30 31dependencies { 32 implementation(project(":lifecycle:lifecycle-common")) 33 implementation(libs.kotlinStdlib) 34 implementation(libs.autoCommon) 35 implementation(libs.javapoet) 36 testImplementation(libs.googleCompileTesting) 37 testImplementation(libs.jsr250) 38} 39 40// The following tasks are used to create test-library.jar used by ValidCasesTest.kt 41// We actually need to compile :lifecycle:lifecycle-common, but compileJava is easier 42def compileTestLibrarySource = tasks.register("compileTestLibrarySource", JavaCompile) { 43 it.dependsOn(compileJava) 44 it.source "src/test/test-data/lib/src" 45 it.classpath = project.compileJava.classpath 46 it.destinationDirectory.set(layout.buildDirectory.dir("test-data-lib-classes")) 47} 48 49def testLibraryJar = tasks.register("jarTestLibrarySource", Jar) { 50 it.from(compileTestLibrarySource.map { it.destinationDirectory }) 51 it.archiveFileName.set("test-library.jar") 52 it.destinationDirectory.set(layout.buildDirectory.dir("test-data-lib-jar")) 53} 54 55sourceSets.test.output.dir(testLibraryJar.map { it.destinationDirectory }) 56 57tasks.withType(Test).configureEach { 58 // https://github.com/google/compile-testing/issues/222 59 it.jvmArgs "--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" 60} 61 62androidx { 63 name = "Lifecycles Compiler" 64 type = SoftwareType.ANNOTATION_PROCESSOR 65 inceptionYear = "2017" 66 description = "Android Lifecycles annotation processor" 67} 68