Ensure Android SDK license files always have all license.
Sometime on CI it may happen that file already exists, but does not contain all required licenses.
This commit is contained in:
committed by
TeamCityServer
parent
75bf5fdbfe
commit
6a586fb731
+29
-14
@@ -53,24 +53,39 @@ abstract class BaseGradleIT {
|
||||
|
||||
// https://developer.android.com/studio/intro/update.html#download-with-gradle
|
||||
fun acceptAndroidSdkLicenses() = defaultBuildOptions().androidHome?.let {
|
||||
val sdkLicenses = File(it, "licenses")
|
||||
sdkLicenses.mkdirs()
|
||||
val sdkLicensesDir = it.resolve("licenses")
|
||||
if(!sdkLicensesDir.exists()) sdkLicensesDir.mkdirs()
|
||||
|
||||
val sdkLicense = File(sdkLicenses, "android-sdk-license")
|
||||
if (!sdkLicense.exists()) {
|
||||
sdkLicense.createNewFile()
|
||||
sdkLicense.writeText(
|
||||
"""
|
||||
8933bad161af4178b1185d1a37fbf41ea5269c55
|
||||
d56f5187479451eabf01fb78af6dfcb131a6481e
|
||||
24333f8a63b6825ea9c5514f83c2829b004d1fee
|
||||
""".trimIndent()
|
||||
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 sdkPreviewLicense = File(sdkLicenses, "android-sdk-preview-license")
|
||||
if (!sdkPreviewLicense.exists()) {
|
||||
sdkPreviewLicense.writeText("84831b9409646a918e30573bab4c9c91346d8abd")
|
||||
val sdkPreviewLicenseFile = sdkLicensesDir.resolve("android-sdk-preview-license")
|
||||
if (!sdkPreviewLicenseFile.exists()) {
|
||||
sdkPreviewLicenseFile.writeText(sdkPreviewLicense)
|
||||
} else {
|
||||
if (sdkPreviewLicense != sdkPreviewLicenseFile.readText().trim()) {
|
||||
sdkPreviewLicenseFile.writeText(sdkPreviewLicense)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user