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()
|
""".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.Arguments
|
||||||
import org.junit.jupiter.params.provider.ArgumentsProvider
|
import org.junit.jupiter.params.provider.ArgumentsProvider
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
import java.util.*
|
|
||||||
import java.util.stream.Stream
|
import java.util.stream.Stream
|
||||||
import kotlin.streams.asStream
|
import kotlin.streams.asStream
|
||||||
|
|
||||||
@@ -46,7 +45,8 @@ abstract class KGPBaseTest {
|
|||||||
val maxWorkers: Int = (Runtime.getRuntime().availableProcessors() / 4 - 1).coerceAtLeast(2),
|
val maxWorkers: Int = (Runtime.getRuntime().availableProcessors() / 4 - 1).coerceAtLeast(2),
|
||||||
val fileSystemWatchEnabled: Boolean = false,
|
val fileSystemWatchEnabled: Boolean = false,
|
||||||
val buildCacheEnabled: Boolean = false,
|
val buildCacheEnabled: Boolean = false,
|
||||||
val kaptOptions: KaptOptions? = null
|
val kaptOptions: KaptOptions? = null,
|
||||||
|
val androidVersion: String? = null
|
||||||
) {
|
) {
|
||||||
data class KaptOptions(
|
data class KaptOptions(
|
||||||
val verbose: Boolean = false,
|
val verbose: Boolean = false,
|
||||||
@@ -113,6 +113,10 @@ abstract class KGPBaseTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (androidVersion != null) {
|
||||||
|
arguments.add("-Pandroid_tools_version=${androidVersion}")
|
||||||
|
}
|
||||||
|
|
||||||
return arguments.toList()
|
return arguments.toList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -22,6 +22,10 @@ interface TestVersions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
object AGP {
|
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_42 = "4.2.2"
|
||||||
|
const val AGP_70 = "7.0.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+18
@@ -14,12 +14,30 @@ internal val DEFAULT_GROOVY_SETTINGS_FILE =
|
|||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
google()
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id "org.jetbrains.kotlin.jvm" version "${'$'}kotlin_version"
|
id "org.jetbrains.kotlin.jvm" version "${'$'}kotlin_version"
|
||||||
id "org.jetbrains.kotlin.kapt" 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()
|
""".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