<lambda>null1package org.jetbrains.dokka.gradle 2 3 import org.junit.BeforeClass 4 import java.io.File 5 6 abstract class AbstractDokkaAndroidGradleTest : AbstractDokkaGradleTest() { 7 8 override val pluginClasspath: List<File> = androidPluginClasspathData.toFile().readLines().map { File(it) } 9 10 companion object { 11 12 @JvmStatic 13 @BeforeClass 14 fun acceptAndroidSdkLicenses() { 15 val sdkDir = androidLocalProperties?.toFile()?.let { 16 val lines = it.readLines().map { it.trim() } 17 val sdkDirLine = lines.firstOrNull { "sdk.dir" in it } 18 sdkDirLine?.substringAfter("=")?.trim() 19 } ?: System.getenv("ANDROID_HOME") 20 21 if (sdkDir == null || sdkDir.isEmpty()) { 22 error("Android SDK home not set, " + 23 "try setting \$ANDROID_HOME " + 24 "or sdk.dir in runners/gradle-integration-tests/testData/android.local.properties") 25 } 26 val sdkDirFile = File(sdkDir) 27 if (!sdkDirFile.exists()) error("\$ANDROID_HOME and android.local.properties points to non-existing location") 28 val sdkLicensesDir = sdkDirFile.resolve("licenses") 29 30 val acceptedLicenses = File("android-licenses") 31 acceptedLicenses.listFiles().forEach { licenseFile -> 32 val target = sdkLicensesDir.resolve(licenseFile.name) 33 if(!target.exists() || target.readText() != licenseFile.readText()) { 34 val overwrite = System.getProperty("android.licenses.overwrite", "false").toBoolean() 35 if (!target.exists() || overwrite) { 36 licenseFile.copyTo(target, true) 37 println("Accepted ${licenseFile.name}, by copying $licenseFile to $target") 38 } 39 } 40 41 } 42 } 43 44 } 45 }