Centralize the generation of sdk.prop files
Create a custom task to write these files for projects that need it.
This also makes these tasks lazy.
Test: ./gradlew test
Bug: 144507122
Change-Id: I2cc87e51dd45b551f35b0829d6eefa87e9060327
diff --git a/benchmark/gradle-plugin/build.gradle b/benchmark/gradle-plugin/build.gradle
index 71ffa0d..ef2bb73 100644
--- a/benchmark/gradle-plugin/build.gradle
+++ b/benchmark/gradle-plugin/build.gradle
@@ -18,8 +18,8 @@
import androidx.build.CompilationTarget
import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
-import androidx.build.SupportConfig
import androidx.build.Publish
+import androidx.build.SdkResourceGenerator
import static androidx.build.dependencies.DependenciesKt.*
@@ -31,13 +31,8 @@
apply from: "../../buildSrc/kotlin-dsl-dependency.gradle"
-
-ext.generatedResources = "$buildDir/generated/resources"
-ext.prebuiltsRoot = "${project.projectDir.getParentFile()}/../../../prebuilts"
-
sourceSets {
test.java.srcDirs += 'src/main/kotlin'
- test.resources.srcDirs += generatedResources
}
dependencies {
@@ -52,25 +47,7 @@
testImplementation(KOTLIN_TEST)
}
-task generateSdkResource() {
- inputs.property("prebuiltsRoot", prebuiltsRoot)
- inputs.property("compileSdkVersion", SupportConfig.TARGET_SDK_VERSION)
- inputs.property("buildToolsVersion", SupportConfig.BUILD_TOOLS_VERSION)
- inputs.property("minSdkVersion", SupportConfig.DEFAULT_MIN_SDK_VERSION)
- outputs.dir(generatedResources)
- doLast {
- // Properties.write will have a timestamp, that invalidates the task,
- // so we don't use it and write a file manually
- new File(generatedResources, "sdk.prop").withWriter('UTF-8') { writer ->
- writer.write("prebuiltsRepo=$prebuiltsRoot\n")
- writer.write("compileSdkVersion=$SupportConfig.TARGET_SDK_VERSION\n")
- writer.write("buildToolsVersion=$SupportConfig.BUILD_TOOLS_VERSION\n")
- writer.write("minSdkVersion=$SupportConfig.DEFAULT_MIN_SDK_VERSION\n")
- }
- }
-}
-
-tasks["compileTestJava"].dependsOn generateSdkResource
+SdkResourceGenerator.generateForHostTest(project)
task buildOnServer(type: Copy) {
from {
diff --git a/benchmark/gradle-plugin/src/test/kotlin/androidx/benchmark/gradle/BenchmarkPluginTest.kt b/benchmark/gradle-plugin/src/test/kotlin/androidx/benchmark/gradle/BenchmarkPluginTest.kt
index d64ed85..7844207 100644
--- a/benchmark/gradle-plugin/src/test/kotlin/androidx/benchmark/gradle/BenchmarkPluginTest.kt
+++ b/benchmark/gradle-plugin/src/test/kotlin/androidx/benchmark/gradle/BenchmarkPluginTest.kt
@@ -38,7 +38,7 @@
private lateinit var buildToolsVersion: String
private lateinit var compileSdkVersion: String
- private lateinit var prebuiltsRepo: String
+ private lateinit var prebuiltsRoot: String
private lateinit var minSdkVersion: String
private lateinit var buildFile: File
@@ -51,7 +51,7 @@
val stream = BenchmarkPluginTest::class.java.classLoader.getResourceAsStream("sdk.prop")
val properties = Properties()
properties.load(stream)
- prebuiltsRepo = properties.getProperty("prebuiltsRepo")
+ prebuiltsRoot = properties.getProperty("prebuiltsRoot")
compileSdkVersion = properties.getProperty("compileSdkVersion")
buildToolsVersion = properties.getProperty("buildToolsVersion")
minSdkVersion = properties.getProperty("minSdkVersion")
@@ -92,8 +92,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -126,8 +126,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -159,8 +159,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -193,8 +193,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -223,8 +223,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -257,8 +257,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -305,8 +305,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -362,8 +362,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -412,8 +412,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -467,8 +467,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -505,8 +505,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
diff --git a/buildSrc/src/main/kotlin/androidx/build/SdkResourceGenerator.kt b/buildSrc/src/main/kotlin/androidx/build/SdkResourceGenerator.kt
new file mode 100644
index 0000000..5defbc6
--- /dev/null
+++ b/buildSrc/src/main/kotlin/androidx/build/SdkResourceGenerator.kt
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2019 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.
+ */
+
+package androidx.build
+
+import androidx.build.dependencies.AGP_LATEST
+import androidx.build.dependencies.KOTLIN_STDLIB
+import org.gradle.api.DefaultTask
+import org.gradle.api.Project
+import org.gradle.api.file.RegularFileProperty
+import org.gradle.api.plugins.JavaPluginConvention
+import org.gradle.api.tasks.Input
+import org.gradle.api.tasks.InputFile
+import org.gradle.api.tasks.OutputFile
+import org.gradle.api.tasks.TaskAction
+import org.gradle.kotlin.dsl.getPlugin
+import java.io.File
+import java.io.PrintWriter
+
+abstract class SdkResourceGenerator : DefaultTask() {
+ @get:Input
+ lateinit var prebuiltsRoot: String
+
+ @get:Input
+ lateinit var localSupportRepo: String
+
+ @get:InputFile
+ abstract val debugKeystore: RegularFileProperty
+
+ @get:Input
+ val compileSdkVersion: Int = SupportConfig.TARGET_SDK_VERSION
+
+ @get:Input
+ val buildToolsVersion: String = SupportConfig.BUILD_TOOLS_VERSION
+
+ @get:Input
+ val minSdkVersion: Int = SupportConfig.DEFAULT_MIN_SDK_VERSION
+
+ @get:Input
+ val agpDependency: String = AGP_LATEST
+
+ @get:Input
+ val navigationCommon: String = "androidx.navigation:navigation-common:2.0.0"
+
+ @get:Input
+ val kotlinStdlib: String = KOTLIN_STDLIB
+
+ @get:Input
+ lateinit var gradleVersion: String
+
+ @get:OutputFile
+ abstract val outputFile: RegularFileProperty
+
+ @TaskAction
+ fun generateFile() {
+ val writer = PrintWriter(outputFile.get().asFile)
+ writer.write("prebuiltsRoot=$prebuiltsRoot\n")
+ writer.write("localSupportRepo=$localSupportRepo\n")
+ writer.write("compileSdkVersion=$compileSdkVersion\n")
+ writer.write("buildToolsVersion=$buildToolsVersion\n")
+ writer.write("minSdkVersion=$minSdkVersion\n")
+ writer.write("debugKeystore=${debugKeystore.get().asFile.canonicalPath}\n")
+ writer.write("agpDependency=$agpDependency\n")
+ writer.write("navigationCommon=$navigationCommon\n")
+ writer.write("kotlinStdlib=$kotlinStdlib\n")
+ writer.write("gradleVersion=$gradleVersion\n")
+ writer.close()
+ }
+
+ companion object {
+ @JvmStatic
+ fun generateForHostTest(project: Project) {
+ val generatedDirectory = File(project.buildDir, "generated/resources")
+ val provider = project.tasks.register(
+ "generateSdkResource",
+ SdkResourceGenerator::class.java
+ ) {
+ it.prebuiltsRoot = (File(SupportConfig.getPrebuiltsRootPath(project))).canonicalPath
+ it.debugKeystore.set(SupportConfig.getKeystore(project))
+ it.localSupportRepo = SupportConfig.getSupportRepoPath(project)
+ it.gradleVersion = project.gradle.gradleVersion
+ it.outputFile.set(File(generatedDirectory, "sdk.prop"))
+ }
+ project.tasks.named("compileTestJava").configure { it.dependsOn(provider) }
+
+ val convention = project.convention.getPlugin<JavaPluginConvention>()
+ val resources = convention.sourceSets.getByName("test").resources
+ resources.srcDirs(setOf(resources.srcDirs, generatedDirectory))
+ }
+ }
+}
diff --git a/lifecycle/integration-tests/incrementality/build.gradle b/lifecycle/integration-tests/incrementality/build.gradle
index f036777..b7d4887 100644
--- a/lifecycle/integration-tests/incrementality/build.gradle
+++ b/lifecycle/integration-tests/incrementality/build.gradle
@@ -14,23 +14,14 @@
* limitations under the License.
*/
+import androidx.build.SdkResourceGenerator
+
import static androidx.build.dependencies.DependenciesKt.*
-import androidx.build.SupportConfig
plugins {
id("kotlin")
}
-def generatedResources = "$buildDir/generated/resources"
-def prebuiltsRoot = SupportConfig.getPrebuiltsRootPath(project)
-def debugKeystore = "${SupportConfig.getKeystore(project)}"
-def agpDependency = AGP_LATEST
-def supportRepo = SupportConfig.getSupportRepoPath(project)
-
-sourceSets {
- test.resources.srcDirs += generatedResources
-}
-
dependencies {
implementation(KOTLIN_STDLIB)
testImplementation(JUNIT)
@@ -38,30 +29,7 @@
testImplementation gradleTestKit()
}
-task generateSdkResource() {
- inputs.property("prebuiltsRoot", prebuiltsRoot)
- inputs.property("compileSdkVersion", SupportConfig.TARGET_SDK_VERSION)
- inputs.property("buildToolsVersion", SupportConfig.BUILD_TOOLS_VERSION)
- inputs.property("minSdkVersion", SupportConfig.DEFAULT_MIN_SDK_VERSION)
- inputs.property("debugKeystore", debugKeystore)
- inputs.property("supportRepo", supportRepo)
- outputs.dir(generatedResources)
- doLast {
- def gradleVersion = gradle.getGradleVersion()
- new File(generatedResources, "sdk.prop").withWriter('UTF-8') { writer ->
- writer.write("prebuiltsRepo=$prebuiltsRoot\n")
- writer.write("compileSdkVersion=$SupportConfig.TARGET_SDK_VERSION\n")
- writer.write("buildToolsVersion=$SupportConfig.BUILD_TOOLS_VERSION\n")
- writer.write("minSdkVersion=$SupportConfig.DEFAULT_MIN_SDK_VERSION\n")
- writer.write("debugKeystore=$debugKeystore\n")
- writer.write("agpDependency=$agpDependency\n")
- writer.write("gradleVersion=$gradleVersion\n")
- writer.write("supportRepo=$supportRepo\n")
- }
- }
-}
-
-tasks.findByName("compileTestKotlin").dependsOn(generateSdkResource)
+SdkResourceGenerator.generateForHostTest(project)
// lifecycle-common and annotation are the dependencies of lifecycle-compiler
tasks.findByPath("test").dependsOn(tasks.findByPath(":lifecycle:lifecycle-compiler:publish"),
diff --git a/lifecycle/integration-tests/incrementality/src/test/kotlin/androidx/lifecycle/IncrementalAnnotationProcessingTest.kt b/lifecycle/integration-tests/incrementality/src/test/kotlin/androidx/lifecycle/IncrementalAnnotationProcessingTest.kt
index 8065773..402ff3f 100644
--- a/lifecycle/integration-tests/incrementality/src/test/kotlin/androidx/lifecycle/IncrementalAnnotationProcessingTest.kt
+++ b/lifecycle/integration-tests/incrementality/src/test/kotlin/androidx/lifecycle/IncrementalAnnotationProcessingTest.kt
@@ -60,7 +60,7 @@
private lateinit var genFooAdapterClass: File
private lateinit var genBarAdapterClass: File
private lateinit var projectConnection: ProjectConnection
- private lateinit var prebuiltsRepo: String
+ private lateinit var prebuiltsRoot: String
private lateinit var compileSdkVersion: String
private lateinit var buildToolsVersion: String
private lateinit var minSdkVersion: String
@@ -219,8 +219,8 @@
addFileWithContent("build.gradle", """
buildscript {
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
dependencies {
classpath "$agpDependency"
@@ -231,9 +231,9 @@
repositories {
// Provide a maven repo containing necessary artifacts built from tip of tree
maven { url "$supportRepo" }
- maven { url "$prebuiltsRepo/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/external" }
maven {
- url "$prebuiltsRepo/androidx/internal"
+ url "$prebuiltsRoot/androidx/internal"
// Get artifacts to be tested from provided repo instead of prebuiltsRepo
content {
excludeModule("androidx.lifecycle", "lifecycle-compiler")
@@ -347,14 +347,14 @@
IncrementalAnnotationProcessingTest::class.java.classLoader
.getResourceAsStream("sdk.prop").use { input ->
val properties = Properties().apply { load(input) }
- prebuiltsRepo = properties.getProperty("prebuiltsRepo")
+ prebuiltsRoot = properties.getProperty("prebuiltsRoot")
compileSdkVersion = properties.getProperty("compileSdkVersion")
buildToolsVersion = properties.getProperty("buildToolsVersion")
minSdkVersion = properties.getProperty("minSdkVersion")
debugKeystore = properties.getProperty("debugKeystore")
agpDependency = properties.getProperty("agpDependency")
gradleVersion = properties.getProperty("gradleVersion")
- supportRepo = properties.getProperty("supportRepo")
+ supportRepo = properties.getProperty("localSupportRepo")
}
}
}
diff --git a/navigation/navigation-safe-args-gradle-plugin/build.gradle b/navigation/navigation-safe-args-gradle-plugin/build.gradle
index d43cd41..c274ff8 100644
--- a/navigation/navigation-safe-args-gradle-plugin/build.gradle
+++ b/navigation/navigation-safe-args-gradle-plugin/build.gradle
@@ -19,8 +19,8 @@
import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
import androidx.build.AndroidXExtension
-import androidx.build.SupportConfig
import androidx.build.Publish
+import androidx.build.SdkResourceGenerator
plugins {
id("AndroidXPlugin")
@@ -28,55 +28,21 @@
id("java-gradle-plugin")
}
-ext.generatedResources = "$buildDir/generated/resources"
-ext.prebuiltsRoot = SupportConfig.getPrebuiltsRootPath(project)
-ext.debugKeystore = SupportConfig.getKeystore(project)
-
sourceSets {
test.java.srcDirs += 'src/tests/kotlin'
- test.resources.srcDirs += generatedResources
}
dependencies {
implementation(AGP_STABLE)
implementation(KOTLIN_GRADLE_PLUGIN)
- compile project(":navigation:navigation-safe-args-generator")
- compile gradleApi()
+ api(project(":navigation:navigation-safe-args-generator"))
+ api(gradleApi())
implementation(GSON)
- testImplementation gradleTestKit()
+ testImplementation(gradleTestKit())
testImplementation(JUNIT)
}
-task generateSdkResource() {
- def NAVIGATION_COMMON = "androidx.navigation:navigation-common:2.0.0"
- inputs.property("prebuiltsRoot", prebuiltsRoot)
- inputs.property("compileSdkVersion", SupportConfig.COMPILE_SDK_VERSION)
- inputs.property("buildToolsVersion", SupportConfig.BUILD_TOOLS_VERSION)
- inputs.property("minSdkVersion", SupportConfig.DEFAULT_MIN_SDK_VERSION)
- inputs.property("debugKeystore", debugKeystore)
- inputs.property("navigationCommon", NAVIGATION_COMMON)
- inputs.property("kotlinStdlib", KOTLIN_STDLIB)
- outputs.dir(generatedResources)
- doLast {
- // Properties.write will have a timestamp, that invalidates the task,
- // so we don't use it and write a file manually
- new File(generatedResources, "sdk.prop").withWriter('UTF-8') { writer ->
- writer.write("prebuiltsRepo=$prebuiltsRoot\n")
- writer.write("compileSdkVersion=\"$SupportConfig.COMPILE_SDK_VERSION\"\n")
- writer.write("buildToolsVersion=$SupportConfig.BUILD_TOOLS_VERSION\n")
- writer.write("minSdkVersion=$SupportConfig.DEFAULT_MIN_SDK_VERSION\n")
- writer.write("debugKeystore=$debugKeystore\n")
- writer.write("navigationCommon=$NAVIGATION_COMMON\n")
- writer.write("kotlinStdlib=$KOTLIN_STDLIB\n")
- }
- }
-}
-
-test {
- testLogging { showStandardStreams = true }
-}
-
-tasks["compileTestJava"].dependsOn generateSdkResource
+SdkResourceGenerator.generateForHostTest(project)
gradlePlugin {
plugins {
diff --git a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/BasePluginTest.kt b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/BasePluginTest.kt
index 1fa1c19..fc9ef2a 100644
--- a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/BasePluginTest.kt
+++ b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/BasePluginTest.kt
@@ -51,7 +51,7 @@
val testProjectDir = TemporaryFolder()
internal var buildFile: File = File("")
- internal var prebuiltsRepo = ""
+ internal var prebuiltsRoot = ""
internal var compileSdkVersion = ""
internal var buildToolsVersion = ""
internal var minSdkVersion = ""
@@ -110,7 +110,7 @@
val stream = BasePluginTest::class.java.classLoader.getResourceAsStream("sdk.prop")
val properties = Properties()
properties.load(stream)
- prebuiltsRepo = properties.getProperty("prebuiltsRepo")
+ prebuiltsRoot = properties.getProperty("prebuiltsRoot")
compileSdkVersion = properties.getProperty("compileSdkVersion")
buildToolsVersion = properties.getProperty("buildToolsVersion")
minSdkVersion = properties.getProperty("minSdkVersion")
@@ -135,8 +135,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
@@ -174,8 +174,8 @@
allprojects {
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
}
""".trimIndent()
@@ -192,8 +192,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
diff --git a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/JavaPluginTest.kt b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/JavaPluginTest.kt
index 0456492..114186e 100644
--- a/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/JavaPluginTest.kt
+++ b/navigation/navigation-safe-args-gradle-plugin/src/test/kotlin/androidx/navigation/safeargs/gradle/JavaPluginTest.kt
@@ -34,8 +34,8 @@
}
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
android {
diff --git a/room/integration-tests/incremental-annotation-processing/build.gradle b/room/integration-tests/incremental-annotation-processing/build.gradle
index aeb543f..b775199 100644
--- a/room/integration-tests/incremental-annotation-processing/build.gradle
+++ b/room/integration-tests/incremental-annotation-processing/build.gradle
@@ -14,26 +14,19 @@
* limitations under the License.
*/
+import androidx.build.SdkResourceGenerator
+
import static androidx.build.dependencies.DependenciesKt.*
-import androidx.build.SupportConfig
plugins {
id("AndroidXPlugin")
id("kotlin")
}
-def generatedResources = "$buildDir/generated/resources"
-def prebuiltsRoot = SupportConfig.getPrebuiltsRootPath(project)
-def localSupportRepo = SupportConfig.getSupportRepoPath(project)
-def agpDependency = AGP_LATEST
-def debugKeystore = "${SupportConfig.getKeystore(project)}"
-
sourceSets {
test.java.srcDirs += 'src/tests/kotlin'
- test.resources.srcDirs += generatedResources
}
-
dependencies {
implementation(KOTLIN_STDLIB)
testImplementation(JUNIT)
@@ -42,28 +35,7 @@
}
-task generateSdkResource() {
- inputs.property("prebuiltsRoot", prebuiltsRoot)
- inputs.property("localSupportRepo", localSupportRepo)
- inputs.property("compileSdkVersion", SupportConfig.TARGET_SDK_VERSION)
- inputs.property("buildToolsVersion", SupportConfig.BUILD_TOOLS_VERSION)
- inputs.property("minSdkVersion", SupportConfig.DEFAULT_MIN_SDK_VERSION)
- inputs.property("debugKeystore", debugKeystore)
- outputs.dir(generatedResources)
- doLast {
- new File(generatedResources, "sdk.prop").withWriter('UTF-8') { writer ->
- writer.write("prebuiltsRepo=$prebuiltsRoot\n")
- writer.write("localSupportRepo=$localSupportRepo\n")
- writer.write("agpDependency=$agpDependency\n")
- writer.write("compileSdkVersion=$SupportConfig.TARGET_SDK_VERSION\n")
- writer.write("buildToolsVersion=$SupportConfig.BUILD_TOOLS_VERSION\n")
- writer.write("minSdkVersion=$SupportConfig.DEFAULT_MIN_SDK_VERSION\n")
- writer.write("debugKeystore=$debugKeystore\n")
- }
- }
-}
-
-tasks.findByName("compileTestKotlin").dependsOn(generateSdkResource)
+SdkResourceGenerator.generateForHostTest(project)
tasks.findByPath("test").dependsOn(
tasks.findByPath(":room:room-common:publish"),
diff --git a/room/integration-tests/incremental-annotation-processing/src/test/kotlin/androidx/room/gradle/RoomIncrementalAnnotationProcessingTest.kt b/room/integration-tests/incremental-annotation-processing/src/test/kotlin/androidx/room/gradle/RoomIncrementalAnnotationProcessingTest.kt
index d7e35d6..d9fd1da 100644
--- a/room/integration-tests/incremental-annotation-processing/src/test/kotlin/androidx/room/gradle/RoomIncrementalAnnotationProcessingTest.kt
+++ b/room/integration-tests/incremental-annotation-processing/src/test/kotlin/androidx/room/gradle/RoomIncrementalAnnotationProcessingTest.kt
@@ -55,7 +55,7 @@
val expect: Expect = Expect.create()
// Properties to set up test project
- private lateinit var prebuiltsRepo: String
+ private lateinit var prebuiltsRoot: String
private lateinit var agpDependency: String
private lateinit var localSupportRepo: String
private lateinit var compileSdkVersion: String
@@ -111,7 +111,7 @@
.getResourceAsStream("sdk.prop")
.use { input ->
val properties = Properties().apply { load(input) }
- prebuiltsRepo = properties.getProperty("prebuiltsRepo")
+ prebuiltsRoot = properties.getProperty("prebuiltsRoot")
localSupportRepo = properties.getProperty("localSupportRepo")
agpDependency = properties.getProperty("agpDependency")
compileSdkVersion = properties.getProperty("compileSdkVersion")
@@ -133,8 +133,8 @@
"""
buildscript {
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
- maven { url "$prebuiltsRepo/androidx/internal" }
+ maven { url "$prebuiltsRoot/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/internal" }
}
dependencies {
classpath "$agpDependency"
@@ -144,10 +144,10 @@
apply plugin: 'com.android.application'
repositories {
- maven { url "$prebuiltsRepo/androidx/external" }
+ maven { url "$prebuiltsRoot/androidx/external" }
maven { url "$localSupportRepo" }
maven {
- url "$prebuiltsRepo/androidx/internal"
+ url "$prebuiltsRoot/androidx/internal"
content {
excludeModule("androidx.room", "room-compiler")
}