• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download

<lambda>null1 package 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 }