Better test setup for Android projects.
^KT-45745 In Progress
This commit is contained in:
+6
-1
@@ -534,7 +534,12 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
|
||||
""".trimIndent()
|
||||
)
|
||||
|
||||
build("assembleDebug", "-Pagp_version=${TestVersions.AGP.AGP_42}")
|
||||
build(
|
||||
"assembleDebug",
|
||||
buildOptions = defaultBuildOptions.copy(
|
||||
androidVersion = TestVersions.AGP.AGP_42
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-2
@@ -18,7 +18,6 @@ import org.junit.jupiter.api.io.TempDir
|
||||
import org.junit.jupiter.params.provider.Arguments
|
||||
import org.junit.jupiter.params.provider.ArgumentsProvider
|
||||
import java.nio.file.Path
|
||||
import java.util.*
|
||||
import java.util.stream.Stream
|
||||
import kotlin.streams.asStream
|
||||
|
||||
@@ -46,7 +45,8 @@ abstract class KGPBaseTest {
|
||||
val maxWorkers: Int = (Runtime.getRuntime().availableProcessors() / 4 - 1).coerceAtLeast(2),
|
||||
val fileSystemWatchEnabled: Boolean = false,
|
||||
val buildCacheEnabled: Boolean = false,
|
||||
val kaptOptions: KaptOptions? = null
|
||||
val kaptOptions: KaptOptions? = null,
|
||||
val androidVersion: String? = null
|
||||
) {
|
||||
data class KaptOptions(
|
||||
val verbose: Boolean = false,
|
||||
@@ -113,6 +113,10 @@ abstract class KGPBaseTest {
|
||||
}
|
||||
}
|
||||
|
||||
if (androidVersion != null) {
|
||||
arguments.add("-Pandroid_tools_version=${androidVersion}")
|
||||
}
|
||||
|
||||
return arguments.toList()
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -22,6 +22,10 @@ interface TestVersions {
|
||||
}
|
||||
|
||||
object AGP {
|
||||
const val AGP_34 = "3.4.3"
|
||||
const val AGP_36 = "3.6.4"
|
||||
const val AGP_41 = "4.1.3"
|
||||
const val AGP_42 = "4.2.2"
|
||||
const val AGP_70 = "7.0.2"
|
||||
}
|
||||
}
|
||||
+18
@@ -14,12 +14,30 @@ internal val DEFAULT_GROOVY_SETTINGS_FILE =
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
google()
|
||||
gradlePluginPortal()
|
||||
}
|
||||
|
||||
plugins {
|
||||
id "org.jetbrains.kotlin.jvm" version "${'$'}kotlin_version"
|
||||
id "org.jetbrains.kotlin.kapt" version "${'$'}kotlin_version"
|
||||
id "org.jetbrains.kotlin.android" version "${'$'}kotlin_version"
|
||||
}
|
||||
|
||||
resolutionStrategy {
|
||||
eachPlugin {
|
||||
if (requested.id.id == "com.android.application" ||
|
||||
requested.id.id == "com.android.library" ||
|
||||
requested.id.id == "com.android.test" ||
|
||||
requested.id.id == "com.android.dynamic-feature" ||
|
||||
requested.id.id == "com.android.asset-pack" ||
|
||||
requested.id.id == "com.android.asset-pack-bundle" ||
|
||||
requested.id.id == "com.android.lint" ||
|
||||
requested.id.id == "com.android.instantapp" ||
|
||||
requested.id.id == "com.android.feature") {
|
||||
useModule("com.android.tools.build:gradle:${'$'}android_tools_version")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
""".trimIndent()
|
||||
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
pluginManagement {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
google()
|
||||
}
|
||||
|
||||
plugins {
|
||||
id "org.jetbrains.kotlin.jvm" version "$kotlin_version"
|
||||
id "org.jetbrains.kotlin.android" version "$kotlin_version"
|
||||
id "org.jetbrains.kotlin.kapt" version "$kotlin_version"
|
||||
}
|
||||
|
||||
resolutionStrategy {
|
||||
eachPlugin {
|
||||
if (requested.id.id == "com.android.application") {
|
||||
useModule("com.android.tools.build:gradle:$agp_version")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user