Reproducer for Android Gradle plugin gRPC bug
diff --git a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.kt b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.kt
index e386be0..b91718a 100644
--- a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.kt
+++ b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.kt
@@ -49,9 +49,9 @@
//keep it globally to avoid test grouping on TC
private val generatedTestNames = hashSetOf<String>()
- private val common = FlavorConfig(TargetBackend.ANDROID, "common", 4)
+ private val common = FlavorConfig(TargetBackend.ANDROID, "common")
private val reflect = FlavorConfig(TargetBackend.ANDROID, "reflect")
- private val commonIr = FlavorConfig(TargetBackend.ANDROID_IR, "common_ir", 4)
+ private val commonIr = FlavorConfig(TargetBackend.ANDROID_IR, "common_ir")
private val reflectIr = FlavorConfig(TargetBackend.ANDROID_IR, "reflect_ir")
class FlavorConfig(private val backend: TargetBackend, private val prefix: String, private val limit: Int = 1) {
@@ -66,7 +66,7 @@
// Allocating up to 2500 files per folder should be fine for each app flavor,
// thus avoiding the need for multidex, which is necessary when there are more than 64K methods.
// Each folder will be archived using build.gradle.kts.
- val index = writtenFilesCount / 2500
+ val index = writtenFilesCount / 65535
val name = "$prefix$index"
check(index < limit) { "Please add a new flavor in build.gradle for $name" }
return name
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/AndroidCodegenIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/AndroidCodegenIT.kt
index cbcfd67..903dfa6 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/AndroidCodegenIT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/AndroidCodegenIT.kt
@@ -39,6 +39,7 @@
enableGradleDebug = false,
buildJdk = jdkVersion.location
) {
+ makeSnapshotTo("tmp")
build("assembleAndroidTest", forceOutput = true, enableGradleDaemonMemoryLimitInMb = 6000)
build("nexusCheck", forceOutput = true, enableGradleDaemonMemoryLimitInMb = 6000)
}
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/codegen-tests/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/codegen-tests/build.gradle.kts
index 1373b73..a120a36 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/codegen-tests/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/codegen-tests/build.gradle.kts
@@ -7,7 +7,7 @@
defaultConfig {
applicationId = "org.jetbrains.kotlin.android.tests"
- minSdk = 14
+ minSdk = 21
compileSdk = 34
targetSdk = 34
versionCode = 1
@@ -28,14 +28,8 @@
productFlavors {
listOf(
"common0",
- "common1",
- "common2",
- "common3",
"reflect0",
"common_ir0",
- "common_ir1",
- "common_ir2",
- "common_ir3",
"reflect_ir0"
).forEach {
create(it) {