Provide Android SDK with accepted licenses
For benchmarks using Android provide Android SDK via environment. ^KT-49921 In Progress
This commit is contained in:
@@ -50,7 +50,8 @@ abstract class ScriptArgumentProvider @Inject constructor(
|
|||||||
fun addBenchmarkTask(
|
fun addBenchmarkTask(
|
||||||
taskName: String,
|
taskName: String,
|
||||||
script: String,
|
script: String,
|
||||||
jdkVersion: JavaLanguageVersion = JavaLanguageVersion.of(8)
|
jdkVersion: JavaLanguageVersion = JavaLanguageVersion.of(8),
|
||||||
|
additionalConfiguration: JavaExec.() -> Unit = {}
|
||||||
): TaskProvider<JavaExec> {
|
): TaskProvider<JavaExec> {
|
||||||
return tasks.register<JavaExec>(taskName) {
|
return tasks.register<JavaExec>(taskName) {
|
||||||
group = "Gradle Regression Benchmark"
|
group = "Gradle Regression Benchmark"
|
||||||
@@ -68,6 +69,57 @@ fun addBenchmarkTask(
|
|||||||
scriptArgs.script.set(script)
|
scriptArgs.script.set(script)
|
||||||
scriptArgs.scriptClasspath.from(scriptsClasspath)
|
scriptArgs.scriptClasspath.from(scriptsClasspath)
|
||||||
argumentProviders.add(scriptArgs)
|
argumentProviders.add(scriptArgs)
|
||||||
|
additionalConfiguration()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val acceptAndroidSdkLicenses = tasks.register("acceptAndroidSdkLicenses") {
|
||||||
|
useAndroidSdk()
|
||||||
|
doLast {
|
||||||
|
val androidSdk = configurations["androidSdk"].singleFile
|
||||||
|
val sdkLicensesDir = androidSdk.resolve("licenses").also {
|
||||||
|
if (!it.exists()) it.mkdirs()
|
||||||
|
}
|
||||||
|
|
||||||
|
val sdkLicenses = listOf(
|
||||||
|
"8933bad161af4178b1185d1a37fbf41ea5269c55",
|
||||||
|
"d56f5187479451eabf01fb78af6dfcb131a6481e",
|
||||||
|
"24333f8a63b6825ea9c5514f83c2829b004d1fee",
|
||||||
|
)
|
||||||
|
val sdkPreviewLicense = "84831b9409646a918e30573bab4c9c91346d8abd"
|
||||||
|
|
||||||
|
val sdkLicenseFile = sdkLicensesDir.resolve("android-sdk-license")
|
||||||
|
if (!sdkLicenseFile.exists()) {
|
||||||
|
sdkLicenseFile.createNewFile()
|
||||||
|
sdkLicenseFile.writeText(
|
||||||
|
sdkLicenses.joinToString(separator = "\n")
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
sdkLicenses
|
||||||
|
.subtract(
|
||||||
|
sdkLicenseFile.readText().lines()
|
||||||
|
)
|
||||||
|
.forEach {
|
||||||
|
sdkLicenseFile.appendText("$it\n")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val sdkPreviewLicenseFile = sdkLicensesDir.resolve("android-sdk-preview-license")
|
||||||
|
if (!sdkPreviewLicenseFile.exists()) {
|
||||||
|
sdkPreviewLicenseFile.writeText(sdkPreviewLicense)
|
||||||
|
} else {
|
||||||
|
if (sdkPreviewLicense != sdkPreviewLicenseFile.readText().trim()) {
|
||||||
|
sdkPreviewLicenseFile.writeText(sdkPreviewLicense)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun JavaExec.usesAndroidSdk() {
|
||||||
|
dependsOn(acceptAndroidSdkLicenses)
|
||||||
|
|
||||||
|
doFirst {
|
||||||
|
environment("ANDROID_SDK_ROOT", configurations["androidSdk"].singleFile.canonicalPath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,4 +127,6 @@ addBenchmarkTask(
|
|||||||
taskName = "benchmarkRegressionDuckduckgo",
|
taskName = "benchmarkRegressionDuckduckgo",
|
||||||
script = "duckduckgo.benchmark.kts",
|
script = "duckduckgo.benchmark.kts",
|
||||||
JavaLanguageVersion.of(11)
|
JavaLanguageVersion.of(11)
|
||||||
)
|
) {
|
||||||
|
usesAndroidSdk()
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user