From c93da0d9ac100b9f1446fe5fcdd4a71eb681edcb Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Tue, 14 Apr 2026 21:18:02 +0200 Subject: [PATCH 1/9] KRPC-238: Add proto and protoImport dependency configurations to Gradle plugin --- .../rpc/protoc/DefaultProtoSourceSet.kt | 37 ++++ .../rpc/protoc/DefaultProtocExtension.kt | 96 ++++++++++- .../kotlinx/rpc/protoc/ProcessProtoFiles.kt | 51 ++++++ .../kotlinx/rpc/GrpcAndroidProjectTest.kt | 31 ++++ .../kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt | 52 ++++++ .../kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt | 21 +++ .../kotlin/kotlinx/rpc/base/GrpcBaseTest.kt | 4 + .../dependency_proto_import/build.gradle.kts | 24 +++ .../dependency-protos.zip | Bin 0 -> 258 bytes .../src/main/proto/some.proto | 8 + .../build.gradle.kts | 161 ++++++++++++++++++ .../dependency-protos.zip | Bin 0 -> 258 bytes .../dependency_proto_codegen/build.gradle.kts | 18 ++ .../dependency-protos.zip | Bin 0 -> 258 bytes .../src/main/proto/some.proto | 8 + .../dependency_proto_import/build.gradle.kts | 18 ++ .../dependency-protos.zip | Bin 0 -> 258 bytes .../src/main/proto/some.proto | 8 + .../dependency_proto_import/build.gradle.kts | 22 +++ .../dependency-protos.zip | Bin 0 -> 258 bytes .../src/commonMain/proto/some.proto | 8 + 21 files changed, 566 insertions(+), 1 deletion(-) create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/dependency-protos.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/src/main/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/dependency-protos.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/dependency-protos.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/src/main/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/dependency-protos.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/src/main/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/dependency-protos.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/src/commonMain/proto/some.proto diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt index a5f3623d2..65a7d37f3 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt @@ -18,6 +18,7 @@ import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.NamedDomainObjectFactory import org.gradle.api.NamedDomainObjectProvider import org.gradle.api.Project +import org.gradle.api.artifacts.Configuration import org.gradle.api.file.ConfigurableFileCollection import org.gradle.api.file.SourceDirectorySet import org.gradle.api.provider.ListProperty @@ -151,6 +152,16 @@ internal open class DefaultProtoSourceSet( // only set for variant.name sourceSets val androidProperties: Property = project.objects.property() + // Proto dependency configuration for this source set, created when protoc is activated. + // Allows users to declare proto dependencies via `dependencies { Proto("...") }`. + // Resolved artifacts are extracted and included in code generation. + internal var protoConfiguration: Configuration? = null + + // Proto import dependency configuration for this source set, created when protoc is activated. + // Allows users to declare proto import dependencies via `dependencies { ProtoImport("...") }`. + // Resolved artifacts are extracted and available as imports, but not for code generation. + internal var protoImportConfiguration: Configuration? = null + override val imports: SetProperty = project.objects.setProperty() override val fileImports: ConfigurableFileCollection = project.objects.fileCollection() @@ -196,6 +207,14 @@ internal open class DefaultProtoSourceSet( imports.addAll(protoSourceSet.imports.checkSelfImport()) plugins.addAll(protoSourceSet.plugins) + + // Wire Gradle configuration inheritance for proto dependency configurations + protoSourceSet.protoConfiguration?.let { parentConfig -> + protoConfiguration?.extendsFrom(parentConfig) + } + protoSourceSet.protoImportConfiguration?.let { parentConfig -> + protoImportConfiguration?.extendsFrom(parentConfig) + } } @JvmName("checkSelfImport_provider") @@ -241,6 +260,24 @@ internal fun Project.createProtoExtensions() { languageSourceSet?.let { protoSourceSet.languageSourceSets.add(it) } + // Create proto dependency configurations eagerly so they are available + // as Kotlin DSL accessors in the build script's dependencies {} block. + if (protoSourceSet.protoConfiguration == null) { + val protoConfigName = protoConfigurationName(languageSourceSetName) + protoSourceSet.protoConfiguration = configurations.maybeCreate(protoConfigName).apply { + isCanBeResolved = true + isCanBeConsumed = false + description = "Proto file dependencies for source set '$languageSourceSetName' (code generation)" + } + + val protoImportConfigName = protoImportConfigurationName(languageSourceSetName) + protoSourceSet.protoImportConfiguration = configurations.maybeCreate(protoImportConfigName).apply { + isCanBeResolved = true + isCanBeConsumed = false + description = "Proto file import dependencies for source set '$languageSourceSetName' (imports only)" + } + } + return protoSourceSet } diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtocExtension.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtocExtension.kt index 73cfff18d..a4d1eac83 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtocExtension.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtocExtension.kt @@ -182,6 +182,25 @@ internal open class DefaultProtocExtension @Inject constructor( options.put("indentSize", buf.generate.indentSize) } + private fun wireConfigurationInheritance(protoSourceSet: DefaultProtoSourceSet) { + val dependsOnSources = protoSourceSet.getDependsOnTasksOf(project.protoSourceSets) + for (parent in dependsOnSources) { + val parentProtoConfig = parent.protoConfiguration ?: continue + val parentProtoImportConfig = parent.protoImportConfiguration ?: continue + + protoSourceSet.protoConfiguration?.let { config -> + if (parentProtoConfig !in config.extendsFrom) { + config.extendsFrom(parentProtoConfig) + } + } + protoSourceSet.protoImportConfiguration?.let { config -> + if (parentProtoImportConfig !in config.extendsFrom) { + config.extendsFrom(parentProtoImportConfig) + } + } + } + } + private fun configureTasks(protoSourceSet: DefaultProtoSourceSet) { if (protoSourceSet.tasksConfigured.get()) { return @@ -243,12 +262,53 @@ internal open class DefaultProtocExtension @Inject constructor( dependsOn(processProtoTask) } + wireConfigurationInheritance(protoSourceSet) + + val protoArchives = protoSourceSet.protoConfiguration + ?.let { project.files(it) } + ?: project.files() + + val protoImportArchives = protoSourceSet.protoImportConfiguration + ?.let { project.files(it) } + ?: project.files() + + val extractProtoTask = project.registerExtractDependencyProtoImportsTask( + taskName = "extractProto${capitalName}", + destination = buildSourceSetsDir.resolve("protoExtracted"), + dependencyArchives = protoArchives, + properties = properties, + ) + + val extractProtoImportTask = project.registerExtractDependencyProtoImportsTask( + taskName = "extractProtoImport${capitalName}", + destination = buildSourceSetsDir.resolve("importExtracted"), + dependencyArchives = protoImportArchives, + properties = properties, + ) + + // Wire extracted protos into the existing process tasks + processProtoTask.configure { + from(extractProtoTask.map { it.destinationDir }) + dependsOn(extractProtoTask) + } + + processImportProtoTask.configure { + from(extractProtoImportTask.map { it.destinationDir }) + dependsOn(extractProtoImportTask) + } + + val hasProtoImports = protoSourceSet.imports.map { it.isNotEmpty() || !protoSourceSet.fileImports.isEmpty } + val hasProtoImportConfig = project.provider { + protoSourceSet.protoImportConfiguration?.let { !it.isEmpty } ?: false + } + val withImport = hasProtoImports.zip(hasProtoImportConfig) { a, b -> a || b } + val generateBufYamlTask = project.registerGenerateBufYamlTask( name = capitalName, buildSourceSetsDir = buildSourceSetsDir, buildSourceSetsProtoDir = buildSourceSetsProtoDir, buildSourceSetsImportDir = buildSourceSetsImportDir, - withImport = protoSourceSet.imports.map { it.isNotEmpty() || !protoSourceSet.fileImports.isEmpty }, + withImport = withImport, properties = properties, ) { dependsOn(processProtoTask) @@ -295,6 +355,8 @@ internal open class DefaultProtocExtension @Inject constructor( dependsOn(generateBufYamlTask) dependsOn(processProtoTask) dependsOn(processImportProtoTask) + dependsOn(extractProtoTask) + dependsOn(extractProtoImportTask) val dependencies = project.provider { protoSourceSet.getDependsOnTasksOf(project.protoSourceSets).mapNotNull { it.generateTask.orNull } @@ -322,6 +384,8 @@ internal open class DefaultProtocExtension @Inject constructor( generateBufGenYamlTask = generateBufGenYamlTask, processProtoTask = processProtoTask, processImportProtoTask = processImportProtoTask, + extractProtoTask = extractProtoTask, + extractProtoImportTask = extractProtoImportTask, sourceSetsProtoDirFileTree = sourceSetsProtoDirFileTree, properties = properties, ) { @@ -450,6 +514,8 @@ internal open class DefaultProtocExtension @Inject constructor( generateBufGenYamlTask: TaskProvider, processProtoTask: TaskProvider, processImportProtoTask: TaskProvider, + extractProtoTask: TaskProvider, + extractProtoImportTask: TaskProvider, sourceSetsProtoDirFileTree: ConfigurableFileTree, properties: ProtoTask.Properties, configure: BufExecTask.() -> Unit, @@ -473,6 +539,8 @@ internal open class DefaultProtocExtension @Inject constructor( dependsOn(generateBufGenYamlTask) dependsOn(processProtoTask) dependsOn(processImportProtoTask) + dependsOn(extractProtoTask) + dependsOn(extractProtoImportTask) val dependencies = project.provider { protoSourceSet.getDependsOnTasksOf(project.protoSourceSets).map { dependency -> @@ -905,6 +973,32 @@ internal fun DefaultProtoSourceSet.getDependsOnTasksOf(protoSourceSets: ProtoSou return (kmpDependsOn + main).filterNotNull() } +/** + * Computes the Gradle configuration name for a proto source set's code generation dependencies. + * + * Follows KGP's `disambiguateName` convention: the `"main"` source set name is elided. + * - `"main"` → `"proto"` + * - `"test"` → `"testProto"` + * - `"commonMain"` → `"commonMainProto"` + */ +internal fun protoConfigurationName(sourceSetName: String): String { + if (sourceSetName == "main") return "proto" + return "${sourceSetName}Proto" +} + +/** + * Computes the Gradle configuration name for a proto source set's import-only dependencies. + * + * Follows KGP's `disambiguateName` convention: the `"main"` source set name is elided. + * - `"main"` → `"protoImport"` + * - `"test"` → `"testProtoImport"` + * - `"commonMain"` → `"commonMainProtoImport"` + */ +internal fun protoImportConfigurationName(sourceSetName: String): String { + if (sourceSetName == "main") return "protoImport" + return "${sourceSetName}ProtoImport" +} + private fun correspondingMainNameSourceSet(name: String, protoSourceSets: ProtoSourceSets): ProtoSourceSet? { return if (name.lowercase().endsWith("test")) { protoSourceSets.findByName(correspondingMainName(name)) diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProcessProtoFiles.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProcessProtoFiles.kt index 493d91b27..f7bdee288 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProcessProtoFiles.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProcessProtoFiles.kt @@ -5,8 +5,10 @@ package kotlinx.rpc.protoc import org.gradle.api.Project +import org.gradle.api.file.ArchiveOperations import org.gradle.api.file.ConfigurableFileCollection import org.gradle.api.file.DuplicatesStrategy +import org.gradle.api.file.FileCollection import org.gradle.api.file.SourceDirectorySet import org.gradle.api.provider.Provider import org.gradle.api.tasks.Internal @@ -90,3 +92,52 @@ internal fun Project.registerProcessProtoFilesImportsTask( return task } + +/** + * Extract proto files from dependency archives (JARs, ZIPs). + * + * Registered automatically when proto dependency configurations are used. + */ +public abstract class ExtractDependencyProtoImports @Inject internal constructor( + @get:Internal + override val properties: ProtoTask.Properties, +) : Sync(), ProtoTask { + @get:Inject + internal abstract val archiveOperations: ArchiveOperations + + init { + group = PROTO_GROUP + } +} + +internal fun Project.registerExtractDependencyProtoImportsTask( + taskName: String, + destination: File, + dependencyArchives: FileCollection, + properties: ProtoTask.Properties, + configure: ExtractDependencyProtoImports.() -> Unit = {}, +): TaskProvider { + val task = tasks.register( + taskName, + ExtractDependencyProtoImports::class, + properties, + ) + + task.configure { + duplicatesStrategy = DuplicatesStrategy.WARN + + from(dependencyArchives.elements.map { elements -> + elements.map { element -> + archiveOperations.zipTree(element.asFile).matching { + include("**/*.proto") + } + } + }) + + into(destination) + + configure() + } + + return task +} diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt index fcc95315c..3811d4b98 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt @@ -231,6 +231,37 @@ class GrpcAndroidProjectTest : GrpcBaseTest() { ) } + @TestFactory + fun `Dependency Proto Import`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { + fun runForSetWithImport(sourceSet: SSets, vararg extraTasks: SSetsAndroid) { + val result = runForSet(sourceSet) + + result.assertTaskExecuted( + sourceSet = sourceSet, + protoFiles = listOf( + Path("some.proto"), + ), + importProtoFiles = listOf( + Path("dependency.proto"), + ), + generatedFiles = listOf( + Path("Some.kt"), + Path("Some.ext.kt"), + Path(RPC_INTERNAL, "Some.kt"), + ), + notExecuted = SSetsAndroid.Default.entries - extraTasks.toSet() - sourceSet, + ) + } + + runForSetWithImport(SSetsAndroid.Default.debug) + runForSetWithImport(SSetsAndroid.Default.release) + } + + @TestFactory + fun `Dependency Proto Import Flavors`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { + runGradle("test_tasks", "--no-configuration-cache") + } + @TestFactory fun `No gRPC`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { SSetsAndroid.Default.entries.forEach { diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt index e99dbe577..af5bc5a29 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt @@ -32,6 +32,58 @@ class GrpcJvmProjectTest : GrpcBaseTest() { ) } + @TestFactory + fun `Dependency Proto Codegen`() = runGrpcTest { + val result = runGradle(bufGenerateCommonMain) + + result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonMain) + + // dependency.proto should be in the proto dir (codegen), not import dir + assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto"), Path("dependency.proto")) + + // Both local and dependency protos generate code + assertSourceCodeGenerated( + mainSourceSet, + Path("Some.kt"), + Path(RPC_INTERNAL, "Some.kt"), + ) + + // dependency.proto is in the "dependency" package, generated under a subdirectory + assertSourceCodeGenerated( + mainSourceSet, + Path("dependency", "Dependency.kt"), + Path("dependency", RPC_INTERNAL, "Dependency.kt"), + ) + + dryRunCompilation(SSetsJvm.main) + } + + @TestFactory + fun `Dependency Proto Import`() = runGrpcTest { + val result = runGradle(bufGenerateCommonMain) + + result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonMain) + + // dependency.proto should be in the import dir (import-only), not proto dir + assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto")) + assertWorkspaceImportProtoFilesCopied(mainSourceSet, Path("dependency.proto")) + + // Only local protos generate code, dependency protos are imports only + assertSourceCodeGenerated( + mainSourceSet, + Path("Some.kt"), + Path(RPC_INTERNAL, "Some.kt"), + ) + + dryRunCompilation(SSetsJvm.main) + } + @TestFactory fun `No gRPC`() = runGrpcTest { SSetsJvm.entries.forEach { diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt index 1033c1506..25036470a 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt @@ -32,6 +32,27 @@ class GrpcKmpProjectTest : GrpcBaseTest() { ) } + @TestFactory + fun `Dependency Proto Import`() = runGrpcTest { + val result = runGradle(bufGenerateCommonMain) + + result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonMain) + + assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto")) + assertWorkspaceImportProtoFilesCopied(mainSourceSet, Path("dependency.proto")) + + assertSourceCodeGenerated( + mainSourceSet, + Path("Some.kt"), + Path(RPC_INTERNAL, "Some.kt"), + ) + + dryRunCompilation(SSetsKmp.Default.jvmMain) + } + @TestFactory fun `No gRPC`() = runGrpcTest { SSetsKmp.Default.entries.forEach { diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt index 1b0c8aa2d..b83eb52b0 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt @@ -32,6 +32,8 @@ abstract class GrpcBaseTest : BaseTest() { runNonExistentTask(bufGenerate(set)) runNonExistentTask(processProtoFiles(set)) runNonExistentTask(processProtoFilesImports(set)) + runNonExistentTask(extractProto(set)) + runNonExistentTask(extractProtoImport(set)) runNonExistentTask(generateBufYaml(set)) runNonExistentTask(generateBufGenYaml(set)) } @@ -444,6 +446,8 @@ inputs: fun bufGenerate(sourceSet: SSets) = "bufGenerate${sourceSet.capital}" fun processProtoFiles(sourceSet: SSets) = "process${sourceSet.capital}ProtoFiles" fun processProtoFilesImports(sourceSet: SSets) = "process${sourceSet.capital}ProtoFilesImports" + fun extractProto(sourceSet: SSets) = "extractProto${sourceSet.capital}" + fun extractProtoImport(sourceSet: SSets) = "extractProtoImport${sourceSet.capital}" fun generateBufYaml(sourceSet: SSets) = "generateBufYaml${sourceSet.capital}" fun generateBufGenYaml(sourceSet: SSets) = "generateBufGenYaml${sourceSet.capital}" diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/build.gradle.kts new file mode 100644 index 000000000..a74739bce --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/build.gradle.kts @@ -0,0 +1,24 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + id("com.android.application") version "" + kotlin("android") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 +} + +dependencies { + protoImport(files("dependency-protos.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/dependency-protos.zip new file mode 100644 index 0000000000000000000000000000000000000000..e612110d1ead403b410ac2ac526a82ca0cfdc681 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2s9oF_BiPj3=>z0N1F-;u3`0t4L26z~YF=`sUO`cQNq%SuCj+x? z`@KvMF0J5ZU}X8m$iTn?RL-Ei?u@qQnt%!V4F&g>~^-E?HmrH}=QZP#M9#xMkUGcw6B p<8qe-$T|j~y$nklK`cyHvO-*m=E4APRyL4&Mj#9W($hd31_1a^NOS-I literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/src/main/proto/some.proto new file mode 100644 index 000000000..c0b46f49a --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/src/main/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "dependency.proto"; + +message Some { + string content = 1; + dependency.DependencyMessage dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/build.gradle.kts new file mode 100644 index 000000000..743340571 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/build.gradle.kts @@ -0,0 +1,161 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.api.GradleException +import org.gradle.kotlin.dsl.version + +plugins { + id("com.android.application") version "" + kotlin("android") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 + + flavorDimensions("abi", "version") + + productFlavors { + create("freeapp") { + dimension = "version" + } + create("retailapp") { + dimension = "version" + } + create("x86") { + dimension = "abi" + } + create("arm") { + dimension = "abi" + } + } +} + +dependencies { + protoImport(files("dependency-protos.zip")) +} + +fun assertConfigurationExists(name: String) { + configurations.findByName(name) + ?: throw GradleException("Configuration '$name' does not exist") +} + +fun assertTaskExists(name: String) { + tasks.findByName(name) + ?: throw GradleException("Task '$name' does not exist") +} + +tasks.register("test_tasks") { + doLast { + // Verify proto and protoImport configurations exist for root source sets + assertConfigurationExists("proto") // main + assertConfigurationExists("protoImport") // main + assertConfigurationExists("testProto") // test + assertConfigurationExists("testProtoImport") // test + assertConfigurationExists("androidTestProto") + assertConfigurationExists("androidTestProtoImport") + + // Verify proto configurations exist for flavor source sets + assertConfigurationExists("armProto") + assertConfigurationExists("armProtoImport") + assertConfigurationExists("x86Proto") + assertConfigurationExists("x86ProtoImport") + assertConfigurationExists("freeappProto") + assertConfigurationExists("freeappProtoImport") + assertConfigurationExists("retailappProto") + assertConfigurationExists("retailappProtoImport") + + // Verify proto configurations exist for combined flavor source sets + assertConfigurationExists("armFreeappProto") + assertConfigurationExists("armFreeappProtoImport") + assertConfigurationExists("armRetailappProto") + assertConfigurationExists("armRetailappProtoImport") + assertConfigurationExists("x86FreeappProto") + assertConfigurationExists("x86FreeappProtoImport") + assertConfigurationExists("x86RetailappProto") + assertConfigurationExists("x86RetailappProtoImport") + + // Verify proto configurations exist for build type source sets + assertConfigurationExists("debugProto") + assertConfigurationExists("debugProtoImport") + assertConfigurationExists("releaseProto") + assertConfigurationExists("releaseProtoImport") + + // Verify proto configurations for variant source sets + assertConfigurationExists("armFreeappDebugProto") + assertConfigurationExists("armFreeappDebugProtoImport") + assertConfigurationExists("armFreeappReleaseProto") + assertConfigurationExists("armFreeappReleaseProtoImport") + assertConfigurationExists("armRetailappDebugProto") + assertConfigurationExists("armRetailappDebugProtoImport") + assertConfigurationExists("armRetailappReleaseProto") + assertConfigurationExists("armRetailappReleaseProtoImport") + assertConfigurationExists("x86FreeappDebugProto") + assertConfigurationExists("x86FreeappDebugProtoImport") + assertConfigurationExists("x86FreeappReleaseProto") + assertConfigurationExists("x86FreeappReleaseProtoImport") + assertConfigurationExists("x86RetailappDebugProto") + assertConfigurationExists("x86RetailappDebugProtoImport") + assertConfigurationExists("x86RetailappReleaseProto") + assertConfigurationExists("x86RetailappReleaseProtoImport") + + // Verify proto configurations for test variant source sets + assertConfigurationExists("testArmFreeappDebugProto") + assertConfigurationExists("testArmFreeappDebugProtoImport") + assertConfigurationExists("testArmFreeappReleaseProto") + assertConfigurationExists("testArmFreeappReleaseProtoImport") + assertConfigurationExists("testX86FreeappDebugProto") + assertConfigurationExists("testX86FreeappDebugProtoImport") + + // Verify proto configurations for androidTest variant source sets + assertConfigurationExists("androidTestArmFreeappDebugProto") + assertConfigurationExists("androidTestArmFreeappDebugProtoImport") + assertConfigurationExists("androidTestX86FreeappDebugProto") + assertConfigurationExists("androidTestX86FreeappDebugProtoImport") + + // Verify extract tasks exist for main variants + assertTaskExists("extractProtoArmFreeappDebug") + assertTaskExists("extractProtoImportArmFreeappDebug") + assertTaskExists("extractProtoArmFreeappRelease") + assertTaskExists("extractProtoImportArmFreeappRelease") + assertTaskExists("extractProtoArmRetailappDebug") + assertTaskExists("extractProtoImportArmRetailappDebug") + assertTaskExists("extractProtoArmRetailappRelease") + assertTaskExists("extractProtoImportArmRetailappRelease") + assertTaskExists("extractProtoX86FreeappDebug") + assertTaskExists("extractProtoImportX86FreeappDebug") + assertTaskExists("extractProtoX86FreeappRelease") + assertTaskExists("extractProtoImportX86FreeappRelease") + assertTaskExists("extractProtoX86RetailappDebug") + assertTaskExists("extractProtoImportX86RetailappDebug") + assertTaskExists("extractProtoX86RetailappRelease") + assertTaskExists("extractProtoImportX86RetailappRelease") + + // Verify extract tasks exist for test variants + assertTaskExists("extractProtoTestArmFreeappDebug") + assertTaskExists("extractProtoImportTestArmFreeappDebug") + assertTaskExists("extractProtoTestArmFreeappRelease") + assertTaskExists("extractProtoImportTestArmFreeappRelease") + assertTaskExists("extractProtoTestX86FreeappDebug") + assertTaskExists("extractProtoImportTestX86FreeappDebug") + + // Verify extract tasks exist for androidTest variants + assertTaskExists("extractProtoAndroidTestArmFreeappDebug") + assertTaskExists("extractProtoImportAndroidTestArmFreeappDebug") + assertTaskExists("extractProtoAndroidTestX86FreeappDebug") + assertTaskExists("extractProtoImportAndroidTestX86FreeappDebug") + + // Verify the protoImport configuration on main has the dependency + val protoImportConfig = configurations.getByName("protoImport") + val depCount = protoImportConfig.dependencies.size + if (depCount != 1) { + throw GradleException("Expected 1 dependency on protoImport, got $depCount") + } + } +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/dependency-protos.zip new file mode 100644 index 0000000000000000000000000000000000000000..e612110d1ead403b410ac2ac526a82ca0cfdc681 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2s9oF_BiPj3=>z0N1F-;u3`0t4L26z~YF=`sUO`cQNq%SuCj+x? z`@KvMF0J5ZU}X8m$iTn?RL-Ei?u@qQnt%!V4F&g>~^-E?HmrH}=QZP#M9#xMkUGcw6B p<8qe-$T|j~y$nklK`cyHvO-*m=E4APRyL4&Mj#9W($hd31_1a^NOS-I literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/build.gradle.kts new file mode 100644 index 000000000..5801169ad --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/build.gradle.kts @@ -0,0 +1,18 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + kotlin("jvm") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +dependencies { + proto(files("dependency-protos.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/dependency-protos.zip new file mode 100644 index 0000000000000000000000000000000000000000..e612110d1ead403b410ac2ac526a82ca0cfdc681 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2s9oF_BiPj3=>z0N1F-;u3`0t4L26z~YF=`sUO`cQNq%SuCj+x? z`@KvMF0J5ZU}X8m$iTn?RL-Ei?u@qQnt%!V4F&g>~^-E?HmrH}=QZP#M9#xMkUGcw6B p<8qe-$T|j~y$nklK`cyHvO-*m=E4APRyL4&Mj#9W($hd31_1a^NOS-I literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/src/main/proto/some.proto new file mode 100644 index 000000000..c0b46f49a --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/src/main/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "dependency.proto"; + +message Some { + string content = 1; + dependency.DependencyMessage dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/build.gradle.kts new file mode 100644 index 000000000..a6288493f --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/build.gradle.kts @@ -0,0 +1,18 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + kotlin("jvm") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +dependencies { + protoImport(files("dependency-protos.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/dependency-protos.zip new file mode 100644 index 0000000000000000000000000000000000000000..e612110d1ead403b410ac2ac526a82ca0cfdc681 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2s9oF_BiPj3=>z0N1F-;u3`0t4L26z~YF=`sUO`cQNq%SuCj+x? z`@KvMF0J5ZU}X8m$iTn?RL-Ei?u@qQnt%!V4F&g>~^-E?HmrH}=QZP#M9#xMkUGcw6B p<8qe-$T|j~y$nklK`cyHvO-*m=E4APRyL4&Mj#9W($hd31_1a^NOS-I literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/src/main/proto/some.proto new file mode 100644 index 000000000..c0b46f49a --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/src/main/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "dependency.proto"; + +message Some { + string content = 1; + dependency.DependencyMessage dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/build.gradle.kts new file mode 100644 index 000000000..db370552a --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/build.gradle.kts @@ -0,0 +1,22 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +kotlin { + jvm() +} + +rpc { + protoc() +} + +dependencies { + commonMainProtoImport(files("dependency-protos.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/dependency-protos.zip new file mode 100644 index 0000000000000000000000000000000000000000..e612110d1ead403b410ac2ac526a82ca0cfdc681 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2s9oF_BiPj3=>z0N1F-;u3`0t4L26z~YF=`sUO`cQNq%SuCj+x? z`@KvMF0J5ZU}X8m$iTn?RL-Ei?u@qQnt%!V4F&g>~^-E?HmrH}=QZP#M9#xMkUGcw6B p<8qe-$T|j~y$nklK`cyHvO-*m=E4APRyL4&Mj#9W($hd31_1a^NOS-I literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/src/commonMain/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/src/commonMain/proto/some.proto new file mode 100644 index 000000000..c0b46f49a --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/src/commonMain/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "dependency.proto"; + +message Some { + string content = 1; + dependency.DependencyMessage dep = 2; +} From fd431a33dbce7db125f133708011bef259e1bc65 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Tue, 14 Apr 2026 21:18:11 +0200 Subject: [PATCH 2/9] KRPC-238: Update ABI dump for ExtractDependencyProtoImports --- gradle-plugin/api/gradle-plugin.api | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gradle-plugin/api/gradle-plugin.api b/gradle-plugin/api/gradle-plugin.api index 855c4cee7..558e98f72 100644 --- a/gradle-plugin/api/gradle-plugin.api +++ b/gradle-plugin/api/gradle-plugin.api @@ -154,6 +154,10 @@ public abstract class kotlinx/rpc/protoc/DefaultProtoTask : org/gradle/api/Defau public final fun getProperties ()Lkotlinx/rpc/protoc/ProtoTask$Properties; } +public abstract class kotlinx/rpc/protoc/ExtractDependencyProtoImports : org/gradle/api/tasks/Sync, kotlinx/rpc/protoc/ProtoTask { + public fun getProperties ()Lkotlinx/rpc/protoc/ProtoTask$Properties; +} + public final class kotlinx/rpc/protoc/PluginJarsKt { public static final fun getGrpcKotlinMultiplatformProtocPluginJarPath (Lorg/gradle/api/Project;)Lorg/gradle/api/provider/Provider; public static final fun getKotlinMultiplatformProtocPluginJarPath (Lorg/gradle/api/Project;)Lorg/gradle/api/provider/Provider; From 342fe7a6e79dad0fa3ff6e2154d86c486a35d80f Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Wed, 15 Apr 2026 18:49:01 +0200 Subject: [PATCH 3/9] =?UTF-8?q?KRPC-238:=20Address=20review=20feedback=20?= =?UTF-8?q?=E2=80=94=20KMP=20DSL=20extensions,=20Android=20flavor=20codege?= =?UTF-8?q?n=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle-plugin/api/gradle-plugin.api | 2 + .../kotlinx/rpc/protoc/ProtoSourceSet.kt | 66 ++++++++++++++++++ .../kotlinx/rpc/GrpcAndroidProjectTest.kt | 34 +++++++++ .../kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt | 19 +++++ .../kotlin/kotlinx/rpc/base/GrpcBaseTest.kt | 31 ++++++++ .../build.gradle.kts | 36 ++++++++++ .../dependency-protos.zip | Bin 0 -> 258 bytes .../src/main/proto/some.proto | 8 +++ .../build.gradle.kts | 27 +++++++ .../dependency-protos.zip | Bin 0 -> 258 bytes .../src/commonMain/proto/some.proto | 8 +++ 11 files changed, 231 insertions(+) create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/dependency-protos.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/src/main/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/dependency-protos.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/src/commonMain/proto/some.proto diff --git a/gradle-plugin/api/gradle-plugin.api b/gradle-plugin/api/gradle-plugin.api index 558e98f72..6e0be05d0 100644 --- a/gradle-plugin/api/gradle-plugin.api +++ b/gradle-plugin/api/gradle-plugin.api @@ -194,7 +194,9 @@ public final class kotlinx/rpc/protoc/ProtoSourceSetKt { public static final fun getProto (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;)Lkotlinx/rpc/protoc/ProtoSourceSet; public static final fun proto (Lorg/gradle/api/NamedDomainObjectProvider;Lorg/gradle/api/Action;)V public static final fun proto (Lorg/gradle/api/tasks/SourceSet;Lorg/gradle/api/Action;)V + public static final fun proto (Lorg/jetbrains/kotlin/gradle/plugin/KotlinDependencyHandler;Ljava/lang/Object;)Lorg/gradle/api/artifacts/Dependency; public static final fun proto (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;Lorg/gradle/api/Action;)V + public static final fun protoImport (Lorg/jetbrains/kotlin/gradle/plugin/KotlinDependencyHandler;Ljava/lang/Object;)Lorg/gradle/api/artifacts/Dependency; public static final fun proto_kotlin (Lorg/gradle/api/NamedDomainObjectProvider;)Lorg/gradle/api/provider/Provider; public static final fun proto_kotlin (Lorg/gradle/api/NamedDomainObjectProvider;Lorg/gradle/api/Action;)V } diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt index 0080628e3..2b3033a9a 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt @@ -5,14 +5,18 @@ package kotlinx.rpc.protoc import org.gradle.api.Action +import org.gradle.api.Named import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.NamedDomainObjectProvider +import org.gradle.api.artifacts.Dependency import org.gradle.api.file.ConfigurableFileCollection import org.gradle.api.file.SourceDirectorySet import org.gradle.api.provider.Property import org.gradle.api.provider.Provider import org.gradle.api.provider.SetProperty import org.gradle.api.tasks.SourceSet +import org.jetbrains.kotlin.gradle.plugin.HasProject +import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet public typealias ProtoSourceSets = NamedDomainObjectContainer @@ -344,3 +348,65 @@ public fun NamedDomainObjectProvider.proto(action: Action${suffix}(\"...\") } syntax instead." + ) + + return if (sourceSetName == "main") { + suffix.replaceFirstChar { it.lowercase() } + } else { + "$sourceSetName$suffix" + } +} diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt index 3811d4b98..e71d991cf 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt @@ -262,6 +262,40 @@ class GrpcAndroidProjectTest : GrpcBaseTest() { runGradle("test_tasks", "--no-configuration-cache") } + @TestFactory + fun `Dependency Proto Import Flavors Codegen`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { + // Verify proto imports work across all flavor variants + // protoImport declared on main → inherited by all variants + + fun runForVariant(sourceSet: SSets, vararg extraTasks: SSets) { + val result = runForSet(sourceSet) + + result.assertTaskExecuted( + sourceSet = sourceSet, + protoFiles = listOf( + Path("some.proto"), + ), + importProtoFiles = listOf( + Path("dependency.proto"), + ), + generatedFiles = listOf( + Path("Some.kt"), + Path("Some.ext.kt"), + Path(RPC_INTERNAL, "Some.kt"), + ), + notExecuted = emptyList(), + ) + } + + // arm variants + runForVariant(SSetsAndroid.Flavors.armDebug) + runForVariant(SSetsAndroid.Flavors.armRelease) + + // x86 variants + runForVariant(SSetsAndroid.Flavors.x86Debug) + runForVariant(SSetsAndroid.Flavors.x86Release) + } + @TestFactory fun `No gRPC`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { SSetsAndroid.Default.entries.forEach { diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt index 25036470a..ca636ea3a 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt @@ -32,6 +32,25 @@ class GrpcKmpProjectTest : GrpcBaseTest() { ) } + @TestFactory + fun `Dependency Proto Import KMP DSL`() = runGrpcTest { + val result = runGradle(bufGenerateCommonMain) + + result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) + + assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto")) + assertWorkspaceImportProtoFilesCopied(mainSourceSet, Path("dependency.proto")) + + assertSourceCodeGenerated( + mainSourceSet, + Path("Some.kt"), + Path(RPC_INTERNAL, "Some.kt"), + ) + + dryRunCompilation(SSetsKmp.Default.jvmMain) + } + @TestFactory fun `Dependency Proto Import`() = runGrpcTest { val result = runGradle(bufGenerateCommonMain) diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt index b83eb52b0..f639d4468 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt @@ -639,6 +639,37 @@ inputs: return entries } } + + enum class Flavors( + override val mode: PluginMode? = null, + override val minKotlin: KotlinVersion = KtVersion.v2_0_0, + ) : SSetsAndroid { + // non-executable root source sets + main, test, androidTest, + + // per-flavor non-executable + arm, x86, + + // build-type non-executable + debug, release, + + // executable leaf variants + armDebug(plm.a), armRelease(plm.a), + x86Debug(plm.a), x86Release(plm.a), + + // test variants + testArmDebug(plm.a), testArmRelease(plm.a), + testX86Debug(plm.a), testX86Release(plm.a), + + // androidTest variants + androidTestArmDebug(plm.a), + androidTestX86Debug(plm.a), + ; + + override fun all(): List { + return entries + } + } } enum class PluginMode { diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/build.gradle.kts new file mode 100644 index 000000000..9180d6f6c --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/build.gradle.kts @@ -0,0 +1,36 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + id("com.android.application") version "" + kotlin("android") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 + + flavorDimensions("abi") + + productFlavors { + create("arm") { + dimension = "abi" + } + create("x86") { + dimension = "abi" + } + } +} + +dependencies { + // protoImport on main — inherited by all variants (debug, release, arm*, x86*) + protoImport(files("dependency-protos.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/dependency-protos.zip new file mode 100644 index 0000000000000000000000000000000000000000..e612110d1ead403b410ac2ac526a82ca0cfdc681 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2s9oF_BiPj3=>z0N1F-;u3`0t4L26z~YF=`sUO`cQNq%SuCj+x? z`@KvMF0J5ZU}X8m$iTn?RL-Ei?u@qQnt%!V4F&g>~^-E?HmrH}=QZP#M9#xMkUGcw6B p<8qe-$T|j~y$nklK`cyHvO-*m=E4APRyL4&Mj#9W($hd31_1a^NOS-I literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/src/main/proto/some.proto new file mode 100644 index 000000000..c0b46f49a --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/src/main/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "dependency.proto"; + +message Some { + string content = 1; + dependency.DependencyMessage dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/build.gradle.kts new file mode 100644 index 000000000..3b1a0e886 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/build.gradle.kts @@ -0,0 +1,27 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version +import kotlinx.rpc.protoc.* + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +kotlin { + jvm() + + sourceSets { + commonMain { + dependencies { + protoImport(files("dependency-protos.zip")) + } + } + } +} + +rpc { + protoc() +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/dependency-protos.zip new file mode 100644 index 0000000000000000000000000000000000000000..e612110d1ead403b410ac2ac526a82ca0cfdc681 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2s9oF_BiPj3=>z0N1F-;u3`0t4L26z~YF=`sUO`cQNq%SuCj+x? z`@KvMF0J5ZU}X8m$iTn?RL-Ei?u@qQnt%!V4F&g>~^-E?HmrH}=QZP#M9#xMkUGcw6B p<8qe-$T|j~y$nklK`cyHvO-*m=E4APRyL4&Mj#9W($hd31_1a^NOS-I literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/src/commonMain/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/src/commonMain/proto/some.proto new file mode 100644 index 000000000..c0b46f49a --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/src/commonMain/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "dependency.proto"; + +message Some { + string content = 1; + dependency.DependencyMessage dep = 2; +} From 42d010f63e62c7746df7f5310adc7e9ca55435b2 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Thu, 7 May 2026 15:20:40 +0200 Subject: [PATCH 4/9] Small update --- .../rpc/protoc/DefaultProtoSourceSet.kt | 119 ++++++++++++------ .../rpc/protoc/DefaultProtocExtension.kt | 65 +--------- .../kotlinx/rpc/protoc/ProcessProtoFiles.kt | 2 +- .../kotlinx/rpc/protoc/ProtoSourceSet.kt | 6 +- .../kotlinx/rpc/GrpcAndroidProjectTest.kt | 2 +- 5 files changed, 89 insertions(+), 105 deletions(-) diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt index 65a7d37f3..486db3779 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt @@ -36,6 +36,8 @@ import java.io.File import java.util.* import java.util.function.Consumer import javax.inject.Inject +import kotlin.contracts.ExperimentalContracts +import kotlin.contracts.contract @Suppress("UNCHECKED_CAST") internal val Project.protoSourceSets: ProtoSourceSets @@ -62,6 +64,7 @@ internal fun Project.findOrCreateProtoSourceSets(): NamedDomainObjectContainer

Proto("...") }`. // Resolved artifacts are extracted and included in code generation. - internal var protoConfiguration: Configuration? = null + internal val protoConfiguration: Configuration // Proto import dependency configuration for this source set, created when protoc is activated. // Allows users to declare proto import dependencies via `dependencies { ProtoImport("...") }`. // Resolved artifacts are extracted and available as imports, but not for code generation. - internal var protoImportConfiguration: Configuration? = null + internal val protoImportConfiguration: Configuration + + init { + val protoConfigName = protoConfigurationName(name) + protoConfiguration = project.configurations.maybeCreate(protoConfigName).apply { + isCanBeResolved = true + isCanBeConsumed = false + description = "Proto file dependencies for source set '$name' (code generation)" + } + + val protoImportConfigName = protoImportConfigurationName(name) + protoImportConfiguration = project.configurations.maybeCreate(protoImportConfigName).apply { + isCanBeResolved = true + isCanBeConsumed = false + description = "Proto file import dependencies for source set '$name' (imports only)" + } + } override val imports: SetProperty = project.objects.setProperty() override val fileImports: ConfigurableFileCollection = project.objects.fileCollection() - override fun importsFrom(protoSourceSet: ProtoSourceSet) { + override fun importsFrom(rawProtoSourceSet: ProtoSourceSet) { + val protoSourceSet = rawProtoSourceSet.asDefault("extend") + imports.add(protoSourceSet.checkSelfImport()) imports.addAll(protoSourceSet.imports.checkSelfImport()) + + protoImportConfiguration.extendsFrom(protoSourceSet.protoImportConfiguration) } - override fun importsFrom(protoSourceSet: Provider) { + override fun importsFrom(rawProtoSourceSet: Provider) { + val protoSourceSet = rawProtoSourceSet.asDefault("extend") + imports.add(protoSourceSet.checkSelfImport()) imports.addAll(protoSourceSet.flatMap { it.imports.checkSelfImport() }) + + protoImportConfiguration.extendsFrom(protoSourceSet.map { it.protoImportConfiguration }) } - override fun importsAllFrom(protoSourceSets: Provider>) { + override fun importsAllFrom(rawProtoSourceSets: Provider>) { + val protoSourceSets = rawProtoSourceSets.asDefault("extend") + imports.addAll(protoSourceSets.checkSelfImport()) imports.addAll(protoSourceSets.map { list -> list.flatMap { it.imports.checkSelfImport().get() } }) + + protoImportConfiguration.extendsFrom( + protoSourceSets.map { list -> list.flatMap { it.protoImportConfiguration } } + ) } - override fun importsFrom(protoSourceSet: NamedDomainObjectProvider) { + override fun importsFrom(rawProtoSourceSet: NamedDomainObjectProvider) { + val protoSourceSet = rawProtoSourceSet.asDefault("extend") + imports.add(protoSourceSet.checkSelfImport()) imports.addAll(protoSourceSet.flatMap { it.imports.checkSelfImport() }) + + protoImportConfiguration.extendsFrom(protoSourceSet.map { it.protoImportConfiguration }) } private val extendsFrom: MutableSet = mutableSetOf() - override fun extendsFrom(protoSourceSet: ProtoSourceSet) { - if (extendsFrom.contains(protoSourceSet)) { + override fun extendsFrom(rawProtoSourceSet: ProtoSourceSet) { + if (extendsFrom.contains(rawProtoSourceSet)) { return } - require(this != protoSourceSet) { + require(this != rawProtoSourceSet) { "$name proto source set cannot extend from self" } - require(protoSourceSet is DefaultProtoSourceSet) { - "$name proto source set can only extend from other default proto source sets." + - "${protoSourceSet.name} is not a ${DefaultProtoSourceSet::class.simpleName}" - } + val protoSourceSet = rawProtoSourceSet.asDefault("extend") extendsFrom += protoSourceSet @@ -209,16 +243,12 @@ internal open class DefaultProtoSourceSet( plugins.addAll(protoSourceSet.plugins) // Wire Gradle configuration inheritance for proto dependency configurations - protoSourceSet.protoConfiguration?.let { parentConfig -> - protoConfiguration?.extendsFrom(parentConfig) - } - protoSourceSet.protoImportConfiguration?.let { parentConfig -> - protoImportConfiguration?.extendsFrom(parentConfig) - } + protoConfiguration.extendsFrom(protoSourceSet.protoConfiguration) + protoImportConfiguration.extendsFrom(protoSourceSet.protoImportConfiguration) } @JvmName("checkSelfImport_provider") - private fun Provider.checkSelfImport() = map { + private fun Provider.checkSelfImport() = map { it.checkSelfImport() } @@ -227,7 +257,7 @@ internal open class DefaultProtoSourceSet( } @JvmName("checkSelfImport_provider_list") - private fun Provider>.checkSelfImport() = map { set -> + private fun Provider>.checkSelfImport() = map { set -> set.onEach { it.checkSelfImport() } } @@ -239,6 +269,24 @@ internal open class DefaultProtoSourceSet( return this } + private fun Provider.asDefault(action: String): Provider { + return map { it.asDefault(action) } + } + + private fun Provider>.asDefault(action: String): Provider> { + return map { it.map { it.asDefault(action) } } + } + + @OptIn(ExperimentalContracts::class) + private fun ProtoSourceSet.asDefault(action: String): DefaultProtoSourceSet { + require(this is DefaultProtoSourceSet) { + "$name proto source set can only $action from other default proto source sets." + + "${this.name} is not a ${DefaultProtoSourceSet::class.simpleName}" + } + + return this + } + // Java default methods override fun forEach(action: Consumer?) { @@ -259,25 +307,6 @@ internal fun Project.createProtoExtensions() { val protoSourceSet = container.maybeCreate(languageSourceSetName) as DefaultProtoSourceSet languageSourceSet?.let { protoSourceSet.languageSourceSets.add(it) } - - // Create proto dependency configurations eagerly so they are available - // as Kotlin DSL accessors in the build script's dependencies {} block. - if (protoSourceSet.protoConfiguration == null) { - val protoConfigName = protoConfigurationName(languageSourceSetName) - protoSourceSet.protoConfiguration = configurations.maybeCreate(protoConfigName).apply { - isCanBeResolved = true - isCanBeConsumed = false - description = "Proto file dependencies for source set '$languageSourceSetName' (code generation)" - } - - val protoImportConfigName = protoImportConfigurationName(languageSourceSetName) - protoSourceSet.protoImportConfiguration = configurations.maybeCreate(protoImportConfigName).apply { - isCanBeResolved = true - isCanBeConsumed = false - description = "Proto file import dependencies for source set '$languageSourceSetName' (imports only)" - } - } - return protoSourceSet } @@ -326,3 +355,13 @@ internal object PlatformOption { const val COMMON = "common" const val WASM = "wasm" } + +internal fun protoConfigurationName(sourceSetName: String): String { + if (sourceSetName == "main") return "proto" + return "${sourceSetName}Proto" +} + +internal fun protoImportConfigurationName(sourceSetName: String): String { + if (sourceSetName == "main") return "protoImport" + return "${sourceSetName}ProtoImport" +} diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtocExtension.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtocExtension.kt index a4d1eac83..82a6c5899 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtocExtension.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtocExtension.kt @@ -182,25 +182,6 @@ internal open class DefaultProtocExtension @Inject constructor( options.put("indentSize", buf.generate.indentSize) } - private fun wireConfigurationInheritance(protoSourceSet: DefaultProtoSourceSet) { - val dependsOnSources = protoSourceSet.getDependsOnTasksOf(project.protoSourceSets) - for (parent in dependsOnSources) { - val parentProtoConfig = parent.protoConfiguration ?: continue - val parentProtoImportConfig = parent.protoImportConfiguration ?: continue - - protoSourceSet.protoConfiguration?.let { config -> - if (parentProtoConfig !in config.extendsFrom) { - config.extendsFrom(parentProtoConfig) - } - } - protoSourceSet.protoImportConfiguration?.let { config -> - if (parentProtoImportConfig !in config.extendsFrom) { - config.extendsFrom(parentProtoImportConfig) - } - } - } - } - private fun configureTasks(protoSourceSet: DefaultProtoSourceSet) { if (protoSourceSet.tasksConfigured.get()) { return @@ -262,27 +243,17 @@ internal open class DefaultProtocExtension @Inject constructor( dependsOn(processProtoTask) } - wireConfigurationInheritance(protoSourceSet) - - val protoArchives = protoSourceSet.protoConfiguration - ?.let { project.files(it) } - ?: project.files() - - val protoImportArchives = protoSourceSet.protoImportConfiguration - ?.let { project.files(it) } - ?: project.files() - - val extractProtoTask = project.registerExtractDependencyProtoImportsTask( + val extractProtoTask = project.registerExtractDependencyProtoTask( taskName = "extractProto${capitalName}", destination = buildSourceSetsDir.resolve("protoExtracted"), - dependencyArchives = protoArchives, + dependencyArchives = protoSourceSet.protoConfiguration, properties = properties, ) - val extractProtoImportTask = project.registerExtractDependencyProtoImportsTask( + val extractProtoImportTask = project.registerExtractDependencyProtoTask( taskName = "extractProtoImport${capitalName}", destination = buildSourceSetsDir.resolve("importExtracted"), - dependencyArchives = protoImportArchives, + dependencyArchives = protoSourceSet.protoImportConfiguration, properties = properties, ) @@ -299,7 +270,7 @@ internal open class DefaultProtocExtension @Inject constructor( val hasProtoImports = protoSourceSet.imports.map { it.isNotEmpty() || !protoSourceSet.fileImports.isEmpty } val hasProtoImportConfig = project.provider { - protoSourceSet.protoImportConfiguration?.let { !it.isEmpty } ?: false + !protoSourceSet.protoImportConfiguration.isEmpty } val withImport = hasProtoImports.zip(hasProtoImportConfig) { a, b -> a || b } @@ -973,32 +944,6 @@ internal fun DefaultProtoSourceSet.getDependsOnTasksOf(protoSourceSets: ProtoSou return (kmpDependsOn + main).filterNotNull() } -/** - * Computes the Gradle configuration name for a proto source set's code generation dependencies. - * - * Follows KGP's `disambiguateName` convention: the `"main"` source set name is elided. - * - `"main"` → `"proto"` - * - `"test"` → `"testProto"` - * - `"commonMain"` → `"commonMainProto"` - */ -internal fun protoConfigurationName(sourceSetName: String): String { - if (sourceSetName == "main") return "proto" - return "${sourceSetName}Proto" -} - -/** - * Computes the Gradle configuration name for a proto source set's import-only dependencies. - * - * Follows KGP's `disambiguateName` convention: the `"main"` source set name is elided. - * - `"main"` → `"protoImport"` - * - `"test"` → `"testProtoImport"` - * - `"commonMain"` → `"commonMainProtoImport"` - */ -internal fun protoImportConfigurationName(sourceSetName: String): String { - if (sourceSetName == "main") return "protoImport" - return "${sourceSetName}ProtoImport" -} - private fun correspondingMainNameSourceSet(name: String, protoSourceSets: ProtoSourceSets): ProtoSourceSet? { return if (name.lowercase().endsWith("test")) { protoSourceSets.findByName(correspondingMainName(name)) diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProcessProtoFiles.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProcessProtoFiles.kt index f7bdee288..02bcdf2a4 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProcessProtoFiles.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProcessProtoFiles.kt @@ -110,7 +110,7 @@ public abstract class ExtractDependencyProtoImports @Inject internal constructor } } -internal fun Project.registerExtractDependencyProtoImportsTask( +internal fun Project.registerExtractDependencyProtoTask( taskName: String, destination: File, dependencyArchives: FileCollection, diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt index 2b3033a9a..3b4402ed1 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt @@ -15,7 +15,6 @@ import org.gradle.api.provider.Property import org.gradle.api.provider.Provider import org.gradle.api.provider.SetProperty import org.gradle.api.tasks.SourceSet -import org.jetbrains.kotlin.gradle.plugin.HasProject import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet @@ -400,8 +399,9 @@ private fun resolveProtoConfigurationName(handler: KotlinDependencyHandler, suff } catch (_: Exception) { null } ?: error( - "Cannot determine source set name for proto dependency. " + - "Use top-level dependencies { ${suffix}(\"...\") } syntax instead." + "Cannot determine source set name for proto dependency. \n" + + "Please report this issue to the kotlinx-rpc team: https://github.com/Kotlin/kotlinx-rpc/issues/new\n" + + "Meanwhile, you can use top-level dependencies { ${suffix}(\"...\") } syntax instead." ) return if (sourceSetName == "main") { diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt index e71d991cf..ce79498fc 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt @@ -267,7 +267,7 @@ class GrpcAndroidProjectTest : GrpcBaseTest() { // Verify proto imports work across all flavor variants // protoImport declared on main → inherited by all variants - fun runForVariant(sourceSet: SSets, vararg extraTasks: SSets) { + fun runForVariant(sourceSet: SSets) { val result = runForSet(sourceSet) result.assertTaskExecuted( From 3c29874fdbcb3a2788d687823cebfcdc1664f9ac Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Fri, 8 May 2026 17:08:20 +0200 Subject: [PATCH 5/9] Make configurations transitive --- .../rpc/protoc/DefaultProtoSourceSet.kt | 50 ++++++++++++------- .../kotlinx/rpc/protoc/ProtoSourceSet.kt | 17 ------- .../kotlinx/rpc/util/ConfigurationCompat.kt | 25 ++++++++++ 3 files changed, 57 insertions(+), 35 deletions(-) create mode 100644 gradle-plugin/src/main/kotlin/kotlinx/rpc/util/ConfigurationCompat.kt diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt index 486db3779..4f2f0c3eb 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/DefaultProtoSourceSet.kt @@ -6,6 +6,7 @@ package kotlinx.rpc.protoc import kotlinx.rpc.buf.tasks.BufGenerateTask import kotlinx.rpc.rpcExtension +import kotlinx.rpc.util.extendsFromLazy import kotlinx.rpc.util.findOrCreate import kotlinx.rpc.util.withLegacyAndroid import kotlinx.rpc.util.withAndroidSourceSets @@ -20,6 +21,7 @@ import org.gradle.api.NamedDomainObjectProvider import org.gradle.api.Project import org.gradle.api.artifacts.Configuration import org.gradle.api.file.ConfigurableFileCollection +import org.gradle.api.file.FileCollection import org.gradle.api.file.SourceDirectorySet import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Property @@ -37,7 +39,6 @@ import java.util.* import java.util.function.Consumer import javax.inject.Inject import kotlin.contracts.ExperimentalContracts -import kotlin.contracts.contract @Suppress("UNCHECKED_CAST") internal val Project.protoSourceSets: ProtoSourceSets @@ -163,7 +164,19 @@ internal open class DefaultProtoSourceSet( // Proto import dependency configuration for this source set, created when protoc is activated. // Allows users to declare proto import dependencies via `dependencies { ProtoImport("...") }`. // Resolved artifacts are extracted and available as imports, but not for code generation. - internal val protoImportConfiguration: Configuration + private val protoImportConfigurationNew: Configuration + + // Configurations attached lazily via importsFrom(Provider<...>) / importsAllFrom that cannot + // be wired through Configuration.extendsFrom: Gradle 8.8–9.3 has no Provider-based overload at + // all, and no Gradle version exposes a Provider> overload. Their files are + // merged into [protoImportFiles] at the consumer site, so resolution still sees them. + private val protoImportConfigurationLegacyList: ListProperty = project.objects.listProperty() + + // Aggregated proto-import inputs for tasks: declared dependencies plus the transitive closure + // built up via Configuration.extendsFrom, plus everything stored in protoImportConfigOverflow. + internal val protoImportConfiguration: FileCollection by lazy { + project.files(protoImportConfigurationNew, protoImportConfigurationLegacyList) + } init { val protoConfigName = protoConfigurationName(name) @@ -174,7 +187,7 @@ internal open class DefaultProtoSourceSet( } val protoImportConfigName = protoImportConfigurationName(name) - protoImportConfiguration = project.configurations.maybeCreate(protoImportConfigName).apply { + protoImportConfigurationNew = project.configurations.maybeCreate(protoImportConfigName).apply { isCanBeResolved = true isCanBeConsumed = false description = "Proto file import dependencies for source set '$name' (imports only)" @@ -190,7 +203,8 @@ internal open class DefaultProtoSourceSet( imports.add(protoSourceSet.checkSelfImport()) imports.addAll(protoSourceSet.imports.checkSelfImport()) - protoImportConfiguration.extendsFrom(protoSourceSet.protoImportConfiguration) + protoImportConfigurationNew.extendsFrom(protoSourceSet.protoImportConfigurationNew) + protoImportConfigurationLegacyList.addAll(protoSourceSet.protoImportConfigurationLegacyList) } override fun importsFrom(rawProtoSourceSet: Provider) { @@ -199,7 +213,11 @@ internal open class DefaultProtoSourceSet( imports.add(protoSourceSet.checkSelfImport()) imports.addAll(protoSourceSet.flatMap { it.imports.checkSelfImport() }) - protoImportConfiguration.extendsFrom(protoSourceSet.map { it.protoImportConfiguration }) + protoImportConfigurationNew.extendsFromLazy( + legacyList = protoImportConfigurationLegacyList, + provider = protoSourceSet.map { it.protoImportConfigurationNew }, + ) + protoImportConfigurationLegacyList.addAll(protoSourceSet.flatMap { it.protoImportConfigurationLegacyList }) } override fun importsAllFrom(rawProtoSourceSets: Provider>) { @@ -208,18 +226,12 @@ internal open class DefaultProtoSourceSet( imports.addAll(protoSourceSets.checkSelfImport()) imports.addAll(protoSourceSets.map { list -> list.flatMap { it.imports.checkSelfImport().get() } }) - protoImportConfiguration.extendsFrom( - protoSourceSets.map { list -> list.flatMap { it.protoImportConfiguration } } + protoImportConfigurationLegacyList.addAll( + protoSourceSets.map { list -> list.map { it.protoImportConfigurationNew } }, + ) + protoImportConfigurationLegacyList.addAll( + protoSourceSets.map { list -> list.flatMap { it.protoImportConfigurationLegacyList.get() } }, ) - } - - override fun importsFrom(rawProtoSourceSet: NamedDomainObjectProvider) { - val protoSourceSet = rawProtoSourceSet.asDefault("extend") - - imports.add(protoSourceSet.checkSelfImport()) - imports.addAll(protoSourceSet.flatMap { it.imports.checkSelfImport() }) - - protoImportConfiguration.extendsFrom(protoSourceSet.map { it.protoImportConfiguration }) } private val extendsFrom: MutableSet = mutableSetOf() @@ -244,7 +256,8 @@ internal open class DefaultProtoSourceSet( // Wire Gradle configuration inheritance for proto dependency configurations protoConfiguration.extendsFrom(protoSourceSet.protoConfiguration) - protoImportConfiguration.extendsFrom(protoSourceSet.protoImportConfiguration) + protoImportConfigurationNew.extendsFrom(protoSourceSet.protoImportConfigurationNew) + protoImportConfigurationLegacyList.addAll(protoSourceSet.protoImportConfigurationLegacyList) } @JvmName("checkSelfImport_provider") @@ -273,8 +286,9 @@ internal open class DefaultProtoSourceSet( return map { it.asDefault(action) } } + @JvmName("asDefault_provider_list") private fun Provider>.asDefault(action: String): Provider> { - return map { it.map { it.asDefault(action) } } + return map { lists -> lists.map { it.asDefault(action) } } } @OptIn(ExperimentalContracts::class) diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt index 3b4402ed1..27e929e86 100644 --- a/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/protoc/ProtoSourceSet.kt @@ -207,23 +207,6 @@ public sealed interface ProtoSourceSet : SourceDirectorySet { */ public fun importsFrom(protoSourceSet: Provider) - /** - * Proto files from [protoSourceSet] will be available as import, but will not be used for code generation. - * - * Example: - * ```kotlin - * kotlin.sourceSets { - * val someProto = create("someProto") - * commonMain { - * proto { - * importsFrom(protoSourceSets.getByName("someProto")) - * } - * } - * } - * ``` - */ - public fun importsFrom(protoSourceSet: NamedDomainObjectProvider) - /** * Proto files from [protoSourceSets] will be available as import, but will not be used for code generation. * diff --git a/gradle-plugin/src/main/kotlin/kotlinx/rpc/util/ConfigurationCompat.kt b/gradle-plugin/src/main/kotlin/kotlinx/rpc/util/ConfigurationCompat.kt new file mode 100644 index 000000000..4d437560a --- /dev/null +++ b/gradle-plugin/src/main/kotlin/kotlinx/rpc/util/ConfigurationCompat.kt @@ -0,0 +1,25 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +package kotlinx.rpc.util + +import org.gradle.api.artifacts.Configuration +import org.gradle.api.provider.ListProperty +import org.gradle.api.provider.Provider +import org.gradle.util.GradleVersion + +private val SUPPORTS_LAZY_EXTENDS_FROM: Boolean = + GradleVersion.current().baseVersion >= GradleVersion.version("9.4") + +@Suppress("UnstableApiUsage") +internal fun Configuration.extendsFromLazy( + legacyList: ListProperty, + provider: Provider, +) { + if (SUPPORTS_LAZY_EXTENDS_FROM) { + extendsFrom(provider) + } else { + legacyList.add(provider) + } +} From 453ae6b2139ccb33651b29d05bda6bfb0f90baa8 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Fri, 8 May 2026 23:26:00 +0200 Subject: [PATCH 6/9] Added missing test cases --- .../kotlinx/rpc/GrpcAndroidProjectTest.kt | 189 ++++++++++++++++ .../kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt | 97 ++++++++ .../kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt | 212 ++++++++++++++++++ .../kotlin/kotlinx/rpc/base/GrpcBaseTest.kt | 66 ++++++ .../dependency_proto_codegen/build.gradle.kts | 24 ++ .../main-dependency.zip | Bin 0 -> 203 bytes .../src/main/proto/some.proto | 8 + .../arm-dependency.zip | Bin 0 -> 200 bytes .../build.gradle.kts | 38 ++++ .../src/main/proto/some.proto | 5 + .../android-test-debug-dependency.zip | Bin 0 -> 289 bytes .../android-test-debug-import-dependency.zip | Bin 0 -> 306 bytes .../android-test-dependency.zip | Bin 0 -> 276 bytes .../android-test-import-dependency.zip | Bin 0 -> 292 bytes .../build.gradle.kts | 63 ++++++ .../debug-dependency.zip | Bin 0 -> 258 bytes .../debug-import-dependency.zip | Bin 0 -> 275 bytes .../main-dependency.zip | Bin 0 -> 255 bytes .../main-import-dependency.zip | Bin 0 -> 273 bytes .../release-dependency.zip | Bin 0 -> 264 bytes .../release-import-dependency.zip | Bin 0 -> 280 bytes .../test-debug-dependency.zip | Bin 0 -> 269 bytes .../test-debug-import-dependency.zip | Bin 0 -> 286 bytes .../test-dependency.zip | Bin 0 -> 255 bytes .../test-fixtures-debug-dependency.zip | Bin 0 -> 291 bytes .../test-fixtures-debug-import-dependency.zip | Bin 0 -> 307 bytes .../test-fixtures-dependency.zip | Bin 0 -> 278 bytes .../test-fixtures-import-dependency.zip | Bin 0 -> 294 bytes .../test-fixtures-release-dependency.zip | Bin 0 -> 296 bytes ...est-fixtures-release-import-dependency.zip | Bin 0 -> 311 bytes .../test-import-dependency.zip | Bin 0 -> 272 bytes .../test-release-dependency.zip | Bin 0 -> 274 bytes .../test-release-import-dependency.zip | Bin 0 -> 290 bytes .../android-test-debug-dependency.zip | Bin 0 -> 289 bytes .../android-test-debug-import-dependency.zip | Bin 0 -> 306 bytes .../android-test-dependency.zip | Bin 0 -> 276 bytes .../android-test-import-dependency.zip | Bin 0 -> 292 bytes .../build.gradle.kts | 67 ++++++ .../debug-dependency.zip | Bin 0 -> 258 bytes .../debug-import-dependency.zip | Bin 0 -> 275 bytes .../main-dependency.zip | Bin 0 -> 255 bytes .../main-import-dependency.zip | Bin 0 -> 273 bytes .../release-dependency.zip | Bin 0 -> 264 bytes .../release-import-dependency.zip | Bin 0 -> 280 bytes .../test-debug-dependency.zip | Bin 0 -> 269 bytes .../test-debug-import-dependency.zip | Bin 0 -> 286 bytes .../test-dependency.zip | Bin 0 -> 255 bytes .../test-fixtures-debug-dependency.zip | Bin 0 -> 291 bytes .../test-fixtures-debug-import-dependency.zip | Bin 0 -> 307 bytes .../test-fixtures-dependency.zip | Bin 0 -> 278 bytes .../test-fixtures-import-dependency.zip | Bin 0 -> 294 bytes .../test-fixtures-release-dependency.zip | Bin 0 -> 296 bytes ...est-fixtures-release-import-dependency.zip | Bin 0 -> 311 bytes .../test-import-dependency.zip | Bin 0 -> 272 bytes .../test-release-dependency.zip | Bin 0 -> 274 bytes .../test-release-import-dependency.zip | Bin 0 -> 290 bytes .../build.gradle.kts | 25 +++ .../debug-import-dependency.zip | Bin 0 -> 223 bytes .../src/debug/proto/debug.proto | 8 + .../src/main/proto/main.proto | 5 + .../src/release/proto/release.proto | 5 + .../build.gradle.kts | 23 ++ .../main-dependency.zip | Bin 0 -> 203 bytes .../main-import-dependency.zip | Bin 0 -> 221 bytes .../src/main/proto/some.proto | 5 + .../build.gradle.kts | 18 ++ .../src/test/proto/some.proto | 8 + .../test-dependency.zip | Bin 0 -> 203 bytes .../build.gradle.kts | 18 ++ .../src/test/proto/some.proto | 8 + .../test-import-dependency.zip | Bin 0 -> 220 bytes .../dependency_proto_codegen/build.gradle.kts | 22 ++ .../dependency-protos.zip | Bin 0 -> 258 bytes .../src/commonMain/proto/some.proto | 8 + .../build.gradle.kts | 27 +++ .../common-main-dependency.zip | Bin 0 -> 220 bytes .../src/commonMain/proto/some.proto | 8 + .../build.gradle.kts | 25 +++ .../common-main-import-dependency.zip | Bin 0 -> 237 bytes .../src/commonMain/proto/some.proto | 8 + .../apple-main-dependency.zip | Bin 0 -> 270 bytes .../apple-main-import-dependency.zip | Bin 0 -> 287 bytes .../apple-test-dependency.zip | Bin 0 -> 270 bytes .../apple-test-import-dependency.zip | Bin 0 -> 286 bytes .../build.gradle.kts | 74 ++++++ .../common-main-dependency.zip | Bin 0 -> 272 bytes .../common-main-import-dependency.zip | Bin 0 -> 289 bytes .../common-test-dependency.zip | Bin 0 -> 272 bytes .../common-test-import-dependency.zip | Bin 0 -> 288 bytes .../js-main-dependency.zip | Bin 0 -> 261 bytes .../js-main-import-dependency.zip | Bin 0 -> 278 bytes .../js-test-dependency.zip | Bin 0 -> 261 bytes .../js-test-import-dependency.zip | Bin 0 -> 278 bytes .../jvm-main-dependency.zip | Bin 0 -> 264 bytes .../jvm-main-import-dependency.zip | Bin 0 -> 281 bytes .../jvm-test-dependency.zip | Bin 0 -> 264 bytes .../jvm-test-import-dependency.zip | Bin 0 -> 281 bytes .../macos-arm64-main-dependency.zip | Bin 0 -> 284 bytes .../macos-arm64-main-import-dependency.zip | Bin 0 -> 301 bytes .../macos-arm64-test-dependency.zip | Bin 0 -> 285 bytes .../macos-arm64-test-import-dependency.zip | Bin 0 -> 302 bytes .../macos-main-dependency.zip | Bin 0 -> 269 bytes .../macos-main-import-dependency.zip | Bin 0 -> 286 bytes .../macos-test-dependency.zip | Bin 0 -> 270 bytes .../macos-test-import-dependency.zip | Bin 0 -> 286 bytes .../native-main-dependency.zip | Bin 0 -> 272 bytes .../native-main-import-dependency.zip | Bin 0 -> 289 bytes .../native-test-dependency.zip | Bin 0 -> 272 bytes .../native-test-import-dependency.zip | Bin 0 -> 289 bytes .../web-main-dependency.zip | Bin 0 -> 264 bytes .../web-main-import-dependency.zip | Bin 0 -> 281 bytes .../web-test-dependency.zip | Bin 0 -> 264 bytes .../web-test-import-dependency.zip | Bin 0 -> 281 bytes .../build.gradle.kts | 27 +++ .../common-test-import-dependency.zip | Bin 0 -> 236 bytes .../src/commonMain/proto/some.proto | 5 + .../src/commonTest/proto/other.proto | 8 + .../build.gradle.kts | 37 +++ .../common-2-import-dependency.zip | Bin 0 -> 228 bytes .../src/common2/proto/common2.proto | 5 + .../src/commonMain/proto/some.proto | 10 + 121 files changed, 1156 insertions(+) create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/src/main/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/arm-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/src/main/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/debug/proto/debug.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/main/proto/main.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/release/proto/release.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/src/main/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/src/test/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/src/test/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/dependency-protos.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/src/commonMain/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/common-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/src/commonMain/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/common-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/src/commonMain/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/common-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonMain/proto/some.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonTest/proto/other.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/common-2-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/src/common2/proto/common2.proto create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/src/commonMain/proto/some.proto diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt index ce79498fc..5ca1ac686 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt @@ -231,6 +231,71 @@ class GrpcAndroidProjectTest : GrpcBaseTest() { ) } + @TestFactory + fun `Dependency Proto Per Source Set All Variants`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { + dependencyProtoPerSourceSetAllVariantsBody() + } + + @TestFactory + fun `Dependency Proto Per Source Set All Variants No KGP`() = runGrpcTest(versionsPredicate = { isAgp9 }) { + // AGP 9.0 built-in Kotlin only creates unit test compilation for testBuildType (debug), + // so testRelease has no compile task, and we skip it here. + dependencyProtoPerSourceSetAllVariantsBody(includeTestRelease = false) + } + + private fun GrpcTestEnv.dependencyProtoPerSourceSetAllVariantsBody(includeTestRelease: Boolean = true) { + // Each of the 11 Android Default source sets declares its OWN + // Proto zip with Dep.proto message dependency.Dep + // ProtoImport zip with ImportDep.proto message dependency.ImportDep + // + // Verifies (mirrors the structure of `All Default Source Sets`): + // - Each leaf variant's bufGenerate task produces code for its own Dep.proto + // plus every variant-extendsFrom ancestor's Dep.proto (variant wiring uses + // extendsFrom — codegen propagates as codegen). + // - Each leaf variant's import workspace contains its own ImportDep.proto, + // every extendsFrom ancestor's ImportDep.proto, and every importsFrom + // source set's ImportDep.proto (test variants importsFrom the corresponding + // main variant; testFixtures importsFrom main). + + assertZipSourceSet( + SSetsAndroid.Default.debug, + extendedProto = listOf(SSetsAndroid.Default.main), + ) + assertZipSourceSet( + SSetsAndroid.Default.release, + extendedProto = listOf(SSetsAndroid.Default.main), + ) + assertZipSourceSet( + SSetsAndroid.Default.testDebug, + SSetsAndroid.Default.debug, SSetsAndroid.Default.main, + extendedProto = listOf( + SSetsAndroid.Default.test, + SSetsAndroid.Default.testFixtures, + SSetsAndroid.Default.testFixturesDebug, + ), + ) + if (includeTestRelease) { + assertZipSourceSet( + SSetsAndroid.Default.testRelease, + SSetsAndroid.Default.release, SSetsAndroid.Default.main, + extendedProto = listOf( + SSetsAndroid.Default.test, + SSetsAndroid.Default.testFixtures, + SSetsAndroid.Default.testFixturesRelease, + ), + ) + } + assertZipSourceSet( + SSetsAndroid.Default.androidTestDebug, + SSetsAndroid.Default.debug, SSetsAndroid.Default.main, + extendedProto = listOf( + SSetsAndroid.Default.androidTest, + SSetsAndroid.Default.testFixtures, + SSetsAndroid.Default.testFixturesDebug, + ), + ) + } + @TestFactory fun `Dependency Proto Import`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { fun runForSetWithImport(sourceSet: SSets, vararg extraTasks: SSetsAndroid) { @@ -296,6 +361,130 @@ class GrpcAndroidProjectTest : GrpcBaseTest() { runForVariant(SSetsAndroid.Flavors.x86Release) } + @TestFactory + fun `Dependency Proto Codegen`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { + fun runForVariant(sourceSet: SSets) { + val result = runForSet(sourceSet) + + result.assertTaskExecuted( + sourceSet = sourceSet, + protoFiles = listOf( + Path("some.proto"), + Path("mainDep.proto"), + ), + importProtoFiles = emptyList(), + generatedFiles = listOf( + Path("Some.kt"), + Path("Some.ext.kt"), + Path(RPC_INTERNAL, "Some.kt"), + Path("dependency", "MainDep.kt"), + Path("dependency", "MainDep.ext.kt"), + Path("dependency", RPC_INTERNAL, "MainDep.kt"), + ), + notExecuted = SSetsAndroid.Default.entries - sourceSet, + ) + } + + runForVariant(SSetsAndroid.Default.debug) + runForVariant(SSetsAndroid.Default.release) + } + + @TestFactory + fun `Dependency Proto Per Variant Import`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { + // protoImport scoped to debug only — release must NOT see debugImportDep.proto. + + val debugRun = runForSet(SSetsAndroid.Default.debug) + debugRun.assertTaskExecuted( + sourceSet = SSetsAndroid.Default.debug, + protoFiles = listOf( + Path("main.proto"), + Path("debug.proto"), + ), + importProtoFiles = listOf( + Path("debugImportDep.proto"), + ), + generatedFiles = listOf( + Path("Main.kt"), + Path("Main.ext.kt"), + Path(RPC_INTERNAL, "Main.kt"), + Path("Debug.kt"), + Path("Debug.ext.kt"), + Path(RPC_INTERNAL, "Debug.kt"), + ), + notExecuted = SSetsAndroid.Default.entries - SSetsAndroid.Default.debug, + ) + + val releaseRun = runForSet(SSetsAndroid.Default.release) + releaseRun.assertTaskExecuted( + sourceSet = SSetsAndroid.Default.release, + protoFiles = listOf( + Path("main.proto"), + Path("release.proto"), + ), + importProtoFiles = emptyList(), + generatedFiles = listOf( + Path("Main.kt"), + Path("Main.ext.kt"), + Path(RPC_INTERNAL, "Main.kt"), + Path("Release.kt"), + Path("Release.ext.kt"), + Path(RPC_INTERNAL, "Release.kt"), + ), + notExecuted = SSetsAndroid.Default.entries - SSetsAndroid.Default.release, + ) + } + + @TestFactory + fun `Dependency Proto Per Flavor Codegen`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { + // armProto declared on the arm flavor — must reach armDebug/armRelease via + // extendsFrom but NOT x86Debug/x86Release. + + fun runForArm(sourceSet: SSets) { + val result = runForSet(sourceSet) + + result.assertTaskExecuted( + sourceSet = sourceSet, + protoFiles = listOf( + Path("some.proto"), + Path("armDep.proto"), + ), + importProtoFiles = emptyList(), + generatedFiles = listOf( + Path("Some.kt"), + Path("Some.ext.kt"), + Path(RPC_INTERNAL, "Some.kt"), + Path("dependency", "ArmDep.kt"), + Path("dependency", "ArmDep.ext.kt"), + Path("dependency", RPC_INTERNAL, "ArmDep.kt"), + ), + notExecuted = emptyList(), + ) + } + + fun runForX86(sourceSet: SSets) { + val result = runForSet(sourceSet) + + result.assertTaskExecuted( + sourceSet = sourceSet, + protoFiles = listOf( + Path("some.proto"), + ), + importProtoFiles = emptyList(), + generatedFiles = listOf( + Path("Some.kt"), + Path("Some.ext.kt"), + Path(RPC_INTERNAL, "Some.kt"), + ), + notExecuted = emptyList(), + ) + } + + runForArm(SSetsAndroid.Flavors.armDebug) + runForArm(SSetsAndroid.Flavors.armRelease) + runForX86(SSetsAndroid.Flavors.x86Debug) + runForX86(SSetsAndroid.Flavors.x86Release) + } + @TestFactory fun `No gRPC`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { SSetsAndroid.Default.entries.forEach { diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt index af5bc5a29..f9bb99607 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt @@ -84,6 +84,103 @@ class GrpcJvmProjectTest : GrpcBaseTest() { dryRunCompilation(SSetsJvm.main) } + @TestFactory + fun `Dependency Proto Test Codegen`() = runGrpcTest { + val result = runGradle(bufGenerateCommonTest) + + result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonTest) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFiles) + + // testDep proto reaches the test source set as codegen + assertWorkspaceProtoFilesCopied(testSourceSet, Path("some.proto"), Path("testDep.proto")) + + // main is untouched: testProto must not leak to main + assertWorkspaceProtoFilesCopied(mainSourceSet) + assertWorkspaceImportProtoFilesCopied(mainSourceSet) + + assertSourceCodeGenerated( + testSourceSet, + Path("Some.kt"), + Path(RPC_INTERNAL, "Some.kt"), + Path("dependency", "TestDep.kt"), + Path("dependency", RPC_INTERNAL, "TestDep.kt"), + ) + + dryRunCompilation(SSetsJvm.test) + } + + @TestFactory + fun `Dependency Proto Test Import`() = runGrpcTest { + val result = runGradle(bufGenerateCommonTest) + + result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonTest) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFiles) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFilesImports) + + // testImportDep proto reaches test as import only + assertWorkspaceProtoFilesCopied(testSourceSet, Path("some.proto")) + assertWorkspaceImportProtoFilesCopied(testSourceSet, Path("testImportDep.proto")) + + // main is untouched + assertWorkspaceProtoFilesCopied(mainSourceSet) + assertWorkspaceImportProtoFilesCopied(mainSourceSet) + + // testImportDep.proto is import-only, so no TestImportDep.kt generated + assertSourceCodeGenerated( + testSourceSet, + Path("Some.kt"), + Path(RPC_INTERNAL, "Some.kt"), + ) + + dryRunCompilation(SSetsJvm.test) + } + + @TestFactory + fun `Dependency Proto Extract Tasks Are Cached Properly`() = runGrpcTest { + val extractProtoMain = "extractProtoMain" + val extractProtoImportMain = "extractProtoImportMain" + + val firstRun = runGradle(extractProtoMain, extractProtoImportMain) + assertEquals(TaskOutcome.SUCCESS, firstRun.protoTaskOutcome(extractProtoMain)) + assertEquals(TaskOutcome.SUCCESS, firstRun.protoTaskOutcome(extractProtoImportMain)) + + val secondRun = runGradle(extractProtoMain, extractProtoImportMain) + assertEquals(TaskOutcome.UP_TO_DATE, secondRun.protoTaskOutcome(extractProtoMain)) + assertEquals(TaskOutcome.UP_TO_DATE, secondRun.protoTaskOutcome(extractProtoImportMain)) + + cleanProtoBuildDir() + + // Sync isn't a cacheable task, so a clean output dir means re-execute → SUCCESS, + // not FROM_CACHE. UP_TO_DATE detection relies on the persisted output state. + val thirdRun = runGradle(extractProtoMain, extractProtoImportMain) + assertEquals(TaskOutcome.SUCCESS, thirdRun.protoTaskOutcome(extractProtoMain)) + assertEquals(TaskOutcome.SUCCESS, thirdRun.protoTaskOutcome(extractProtoImportMain)) + + // rewrite the codegen zip with different content — must invalidate extractProtoMain + // but NOT extractProtoImportMain, which reads a separate zip. + val codegenZip = projectDir.resolve("main-dependency.zip") + java.util.zip.ZipOutputStream(java.nio.file.Files.newOutputStream(codegenZip)).use { zos -> + zos.putNextEntry(java.util.zip.ZipEntry("mainDep.proto")) + zos.write( + """ + syntax = "proto3"; + + package dependency; + + message MainDep { + string value = 1; + int32 version = 2; + } + """.trimIndent().toByteArray(), + ) + zos.closeEntry() + } + + val fourthRun = runGradle(extractProtoMain, extractProtoImportMain) + assertEquals(TaskOutcome.SUCCESS, fourthRun.protoTaskOutcome(extractProtoMain)) + assertEquals(TaskOutcome.UP_TO_DATE, fourthRun.protoTaskOutcome(extractProtoImportMain)) + } + @TestFactory fun `No gRPC`() = runGrpcTest { SSetsJvm.entries.forEach { diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt index ca636ea3a..be9a5feb7 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt @@ -5,6 +5,7 @@ package kotlinx.rpc import kotlinx.rpc.base.GrpcBaseTest +import kotlinx.rpc.base.KtVersion import kotlinx.rpc.base.isAgp9 import kotlinx.rpc.base.versionsWhereAndroidKmpLibExist import kotlinx.rpc.protoc.PlatformOption @@ -72,6 +73,116 @@ class GrpcKmpProjectTest : GrpcBaseTest() { dryRunCompilation(SSetsKmp.Default.jvmMain) } + @TestFactory + fun `Dependency Proto Codegen`() = runGrpcTest { + val result = runGradle(bufGenerateCommonMain) + + result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) + + // dependency proto reaches commonMain as codegen + assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto"), Path("dependency.proto")) + + assertSourceCodeGenerated( + mainSourceSet, + Path("Some.kt"), + Path("Some.ext.kt"), + Path(RPC_INTERNAL, "Some.kt"), + Path("dependency", "Dependency.kt"), + Path("dependency", "Dependency.ext.kt"), + Path("dependency", RPC_INTERNAL, "Dependency.kt"), + ) + + dryRunCompilation(SSetsKmp.Default.jvmMain) + } + + @TestFactory + fun `Dependency Proto Codegen KMP DSL`() = runGrpcTest { + val result = runGradle(bufGenerateCommonMain) + + result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) + + assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto"), Path("commonMainDep.proto")) + + assertSourceCodeGenerated( + mainSourceSet, + Path("Some.kt"), + Path("Some.ext.kt"), + Path(RPC_INTERNAL, "Some.kt"), + Path("dependency", "CommonMainDep.kt"), + Path("dependency", "CommonMainDep.ext.kt"), + Path("dependency", RPC_INTERNAL, "CommonMainDep.kt"), + ) + + dryRunCompilation(SSetsKmp.Default.jvmMain) + } + + @TestFactory + fun `Dependency Proto Per Source Set KMP DSL`() = runGrpcTest { + val result = runGradle(bufGenerateCommonTest) + + result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonTest) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFiles) + result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFilesImports) + + // protoImport on commonTest only — not visible to commonMain + // commonTest extends commonMain, so its imports include the zip's commonTestImportDep.proto + // plus commonMain's protos (some.proto) propagated via the source set hierarchy. + assertWorkspaceImportProtoFilesCopied(testSourceSet, Path("commonTestImportDep.proto"), Path("some.proto")) + assertWorkspaceImportProtoFilesCopied(mainSourceSet) + + assertWorkspaceProtoFilesCopied(testSourceSet, Path("other.proto")) + // commonMain has its own some.proto and inherits nothing extra + assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto")) + } + + @TestFactory + fun `Dependency Proto KMP Hierarchy Propagation`() = runGrpcTest { + // protoImport declared on commonMain must propagate to platform leaves + // (jvmMain, macosArm64Main) via extendsFrom — the explicit transitivity claim. + // Platform leaves also inherit commonMain's own protos (some.proto) as imports + // through the source set hierarchy. + + runGradle("processJvmMainProtoFilesImports") + assertWorkspaceImportProtoFilesCopied( + SSetsKmp.Default.jvmMain, + Path("commonMainImportDep.proto"), + Path("some.proto"), + ) + + runGradle("processMacosArm64MainProtoFilesImports") + assertWorkspaceImportProtoFilesCopied( + SSetsKmp.Default.macosArm64Main, + Path("commonMainImportDep.proto"), + Path("some.proto"), + ) + + // Source of truth — commonMain itself only sees the zip's commonMainImportDep.proto; + // its own some.proto stays in the proto dir, not the import dir. + runGradle(processCommonMainProtoFiles) + runGradle("processCommonMainProtoFilesImports") + assertWorkspaceImportProtoFilesCopied(mainSourceSet, Path("commonMainImportDep.proto")) + } + + @TestFactory + fun `Imports From Provider Source Set`() = runGrpcTest { + // Exercises ProtoSourceSet.importsFrom(Provider) which is the + // only public path that calls extendsFromLazy. Asserts both branches: + // - the imported source set's local protos appear as imports (common2.proto) + // - the imported source set's protoImport configuration is also pulled in + // transitively via extendsFromLazy (common2ImportDep.proto from the zip) + runGradle(processCommonMainProtoFiles) + runGradle("processCommonMainProtoFilesImports") + + assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto")) + assertWorkspaceImportProtoFilesCopied( + mainSourceSet, + Path("common2.proto"), + Path("common2ImportDep.proto"), + ) + } + @TestFactory fun `No gRPC`() = runGrpcTest { SSetsKmp.Default.entries.forEach { @@ -259,6 +370,107 @@ class GrpcKmpProjectTest : GrpcBaseTest() { ) } + @TestFactory + fun `Dependency Proto Per Source Set Hierarchy`() = runGrpcTest( + // webMain/webTest source sets only exist on Kotlin 2.2.20+; the build script + // declares Proto/ProtoImport configs for them, which only resolve when + // the corresponding source sets exist. + versionsPredicate = { kotlinSemver >= KtVersion.v2_2_20 }, + ) { + // Each of the 16 KMP source sets in the Default hierarchy declares its OWN + // Proto zip with Dep.proto message dependency.Dep + // ProtoImport zip with ImportDep.proto message dependency.ImportDep + // + // Verifies (mirrors the structure of the `KMP Hierarchy` test method): + // - Each source set's bufGenerate task processes ONLY its own Dep.proto + // (KMP source-set hierarchy is wired via importsAllFrom, NOT extendsFrom — + // parent's Proto zip stays in parent only). + // - Each source set's import workspace contains its own ImportDep.proto + // plus every ancestor's ImportDep.proto (importsAllFrom propagates + // parent's protoImport configuration to child's import workspace). + // - For test source sets, the corresponding main set's ImportDep.proto + // also propagates (importsAllFrom corresponding-main mechanism). + + assertZipSourceSet(SSetsKmp.Default.commonMain) + assertZipSourceSet(SSetsKmp.Default.commonTest, SSetsKmp.Default.commonMain) + + assertZipSourceSet(SSetsKmp.Default.nativeMain, SSetsKmp.Default.commonMain) + assertZipSourceSet( + SSetsKmp.Default.nativeTest, + SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, + SSetsKmp.Default.commonTest, + ) + + assertZipSourceSet(SSetsKmp.Default.jvmMain, SSetsKmp.Default.commonMain) + assertZipSourceSet( + SSetsKmp.Default.jvmTest, + SSetsKmp.Default.commonMain, SSetsKmp.Default.jvmMain, + SSetsKmp.Default.commonTest, + ) + + assertZipSourceSet(SSetsKmp.Default.webMain, SSetsKmp.Default.commonMain) + assertZipSourceSet( + SSetsKmp.Default.webTest, + SSetsKmp.Default.commonMain, SSetsKmp.Default.webMain, + SSetsKmp.Default.commonTest, + ) + + assertZipSourceSet( + SSetsKmp.Default.jsMain, + SSetsKmp.Default.commonMain, SSetsKmp.Default.webMain, + ) + assertZipSourceSet( + SSetsKmp.Default.jsTest, + SSetsKmp.Default.commonMain, SSetsKmp.Default.webMain, SSetsKmp.Default.jsMain, + SSetsKmp.Default.commonTest, SSetsKmp.Default.webTest, + ) + + assertZipSourceSet( + SSetsKmp.Default.appleMain, + SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, + ) + assertZipSourceSet( + SSetsKmp.Default.appleTest, + SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.appleMain, + SSetsKmp.Default.commonTest, SSetsKmp.Default.nativeTest, + ) + + assertZipSourceSet( + SSetsKmp.Default.macosMain, + SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.appleMain, + ) + assertZipSourceSet( + SSetsKmp.Default.macosTest, + SSetsKmp.Default.commonMain, + SSetsKmp.Default.nativeMain, + SSetsKmp.Default.appleMain, + SSetsKmp.Default.macosMain, + SSetsKmp.Default.commonTest, + SSetsKmp.Default.nativeTest, + SSetsKmp.Default.appleTest, + ) + + assertZipSourceSet( + SSetsKmp.Default.macosArm64Main, + SSetsKmp.Default.commonMain, + SSetsKmp.Default.nativeMain, + SSetsKmp.Default.appleMain, + SSetsKmp.Default.macosMain, + ) + assertZipSourceSet( + SSetsKmp.Default.macosArm64Test, + SSetsKmp.Default.commonMain, + SSetsKmp.Default.nativeMain, + SSetsKmp.Default.appleMain, + SSetsKmp.Default.macosMain, + SSetsKmp.Default.macosArm64Main, + SSetsKmp.Default.commonTest, + SSetsKmp.Default.nativeTest, + SSetsKmp.Default.appleTest, + SSetsKmp.Default.macosTest, + ) + } + @TestFactory fun `KMP Hierarchy Android KMP Library`() = runGrpcTest { runAndCheckFiles( diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt index f639d4468..aa1897ff8 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt @@ -363,6 +363,72 @@ abstract class GrpcBaseTest : BaseTest() { return runGradle(bufGenerate(sourceSet)) } + /** + * Asserts the workspace state for a source set whose proto files come ONLY from + * `Proto` / `ProtoImport` zip dependencies (one pair per source set). + * + * Each source set's zip contains a single proto file: + * -dependency.zip -> Dep.proto message Dep + * -import-dependency.zip -> ImportDep.proto message ImportDep + * + * Mirrors [assertSourceSet]'s shape but with the zip-based naming convention: + * - Codegen workspace = each `extendedProto` set + the source set itself, one + * `Dep.proto` each (extendsFrom propagates parent's `Proto` zip into + * child's codegen). + * - Import workspace = the codegen sets above PLUS each `imports` set, one + * `ImportDep.proto` each (extendsFrom propagates parent's `ProtoImport`, + * and importsAllFrom/importsFrom propagate the import config too). + * - Generated files = `dependency/Dep.kt`, `dependency/Dep.ext.kt`, + * `dependency/_rpc_internal/Dep.kt` for each codegen set. + */ + fun GrpcTestEnv.assertZipSourceSet( + sourceSet: SSets, + vararg imports: SSets, + extendedProto: List = emptyList(), + ) { + if (!sourceSet.applicable()) { + println( + "Skipping ${sourceSet.capital} source set " + + "because it's not applicable for the current Kotlin version" + ) + return + } + + cleanProtoBuildDir() + + val applicableImports = imports + .onEach { + if (!it.applicable()) { + println( + "Skipping ${it.capital} import source set " + + "because it's not applicable for the current Kotlin version" + ) + } + } + .filter { it.applicable() } + .toSet() + + val codegenSets = extendedProto.filter { it.applicable() } + sourceSet + val importDepSets = codegenSets + applicableImports.toList() + + val result = runForSet(sourceSet) + + result.assertTaskExecuted( + sourceSet = sourceSet, + protoFiles = codegenSets.map { Path("${it.name}Dep.proto") }, + importProtoFiles = importDepSets.map { Path("${it.name}ImportDep.proto") }, + generatedFiles = codegenSets.flatMap { + val pascal = it.capital + listOf( + Path("dependency", "${pascal}Dep.kt"), + Path("dependency", "${pascal}Dep.ext.kt"), + Path("dependency", RPC_INTERNAL, "${pascal}Dep.kt"), + ) + }, + notExecuted = sourceSet.all().filter { it != sourceSet && it !in applicableImports }, + ) + } + fun BuildResult.assertSourceSet( sourceSet: SSets, vararg imports: SSets, diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/build.gradle.kts new file mode 100644 index 000000000..4fb86457b --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/build.gradle.kts @@ -0,0 +1,24 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + id("com.android.application") version "" + kotlin("android") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 +} + +dependencies { + proto(files("main-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..dc19f447fb295861be91f94b2b0f20d8bbebe3a8 GIT binary patch literal 203 zcmWIWW@Zs#U|`^2m^5ic%=+XBF8)AXAQ1Bcac*K}o=a+hUO`cQNxt^FGuobO0ycyO zXlb0%KWQGe>DePK51(^>KK`K|p1K}qy*dT?OJW F004;+Hb(#e literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/src/main/proto/some.proto new file mode 100644 index 000000000..5347bc655 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/src/main/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "mainDep.proto"; + +message Some { + string content = 1; + dependency.MainDep dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/arm-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/arm-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..ef4ecca164f8bfa6a44a27702fc59efe8fcd684e GIT binary patch literal 200 zcmWIWW@Zs#U|`^2m^5icOvML@Eq*{=01)#4abi)fOKO2$K~a85zV^B^+Ma6yHiQOf zX`IqOX&$!e*&{6vpL2db{-GY8x*lh}JycQ6<;l4WC-wPWD;S" + kotlin("android") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 + + flavorDimensions("abi") + + productFlavors { + create("arm") { + dimension = "abi" + } + create("x86") { + dimension = "abi" + } + } +} + +dependencies { + // proto (codegen) scoped to "arm" flavor only — must NOT propagate to x86. + // String accessor — `arm` flavor is declared in this script, so no precompiled + // Kotlin DSL accessor is generated for `armProto` on older Gradle/AGP combos. + "armProto"(files("arm-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/src/main/proto/some.proto new file mode 100644 index 000000000..9ce4a4156 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/src/main/proto/some.proto @@ -0,0 +1,5 @@ +syntax = "proto3"; + +message Some { + string content = 1; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-debug-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..8ce4fc8b1f62dc76fcbc0a17efabb3e343c6b170 GIT binary patch literal 289 zcmWIWW@Zs#U|`^2$ey_(CU5G*1Cc;pED%dF$S@@4r4;37ri7#xm$;-Rm8QF-7U&fe z<(K4#hHx@4TT1@R1mV&OZU#n{Z;T8KV53COY~*Y(5MaIVZ<)m%2c72D34$>SYV#Fd zsXkex@#tOF@2=(3L&}TJ`|7P+w$9My=Fg+91rBX29sBL>Eco?UVc`GC{bsf}4Sn(GlpCZ20RWIZI^T0bCBt7e(>lW zYnF6Z#^nnkfk$>nZ$B@+?_SKCR$H@4!Je_n3`cgIWpna(deeC~)^O6Re&*kE!t5tc zn>bC`CopK8<`0HN)Ake{xcrX&YG(F>R{j8QMkYCCTn?82I-h|7=n{q{jUX05Z?HnV Wf#!t(Z&o&tc19pf1=8C=90mZbuwSzP literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3bc0fda8e4119a8041071793945684e5d8d5f225 GIT binary patch literal 276 zcmWIWW@Zs#U|`^2$ey_(hDVxtZWxdk0mLE}tb-O9iKbOFPXMi2|Tn^_@lMssg~H!B-R4GC{bsf}4SnlWdlzre z6%&&{ok#cAzUE!tdiMT}WM#|9S5oW>bvOTbNqBTHe+<%+Tk`Ai0mbDKX+g93Ja4)Q z)i4C=y2pL|^xN}mw(On{i~-(^OmfV)+$#ZeH3I|C6%0!nK`eZ(XN9;P&E)~!tZX2i Nj6j$Gq}PEs3;^((S2h3u literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts new file mode 100644 index 000000000..6128959ea --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts @@ -0,0 +1,63 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + id("com.android.application") version "" + kotlin("android") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 +} + +// Each Android source set declares its own pair of zip dependencies: +// Proto — codegen, propagates via Android variant extendsFrom wiring +// (debug extends main; testDebug extends test/testFixtures/testFixturesDebug; etc.) +// ProtoImport — import-only, propagates as imports via extendsFrom and importsFrom +// (testDebug.importsFrom(debug) → debug's imports become testDebug's imports) +// +// The `main` source set's configurations are named `proto` / `protoImport` (not +// `mainProto` / `mainProtoImport`) — see protoConfigurationName / protoImportConfigurationName. +dependencies { + "proto"(files("main-dependency.zip")) + "protoImport"(files("main-import-dependency.zip")) + + "testProto"(files("test-dependency.zip")) + "testProtoImport"(files("test-import-dependency.zip")) + + "testFixturesProto"(files("test-fixtures-dependency.zip")) + "testFixturesProtoImport"(files("test-fixtures-import-dependency.zip")) + + "testFixturesDebugProto"(files("test-fixtures-debug-dependency.zip")) + "testFixturesDebugProtoImport"(files("test-fixtures-debug-import-dependency.zip")) + + "testFixturesReleaseProto"(files("test-fixtures-release-dependency.zip")) + "testFixturesReleaseProtoImport"(files("test-fixtures-release-import-dependency.zip")) + + "androidTestProto"(files("android-test-dependency.zip")) + "androidTestProtoImport"(files("android-test-import-dependency.zip")) + + "debugProto"(files("debug-dependency.zip")) + "debugProtoImport"(files("debug-import-dependency.zip")) + + "releaseProto"(files("release-dependency.zip")) + "releaseProtoImport"(files("release-import-dependency.zip")) + + "testDebugProto"(files("test-debug-dependency.zip")) + "testDebugProtoImport"(files("test-debug-import-dependency.zip")) + + "testReleaseProto"(files("test-release-dependency.zip")) + "testReleaseProtoImport"(files("test-release-import-dependency.zip")) + + "androidTestDebugProto"(files("android-test-debug-dependency.zip")) + "androidTestDebugProtoImport"(files("android-test-debug-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/debug-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..02e24bdda6a9c9f8a060e756de390d2ffce54575 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2$ey_(M&RlN1vdjD%Qr>_2C#nZb!W6a*92?`4baj!rGL^qY}2zxS{^><{CxaFJv?C$LX|unxy4S-Jxsjv%7*u1 zWA1Ythy6X5A*de)1X<7TtX;^c=fEN)zty-RF)a z&obHbfib|Fkx7mjmm?*BPGw*KI)GtGBZ!6F$*d43qd7Ogo0ScuhY<*)fb?PzhXDW$ CPfpAL literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f39a52e2bb21f3cfbff97ee2efb5ab9347bab78d GIT binary patch literal 255 zcmWIWW@Zs#U|`^2$ey_(W_|Jm7k?lx5QuphWEgT2GxJ=oSTCJ|M9wTO`+z?+dtjv1G` oB!I4CU;tXpu%r>hLUSc6#Fc0+4De=U11V+%!eAgh4a8vp096J-#{d8T literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..901f3d56a5994cd9bf39578a5efec419cf30b4c1 GIT binary patch literal 273 zcmWIWW@Zs#U|`^2$ey_(<_6dIrcfX+9EgP(WEgT2GxI!i3-XIfTv7}43X1Ye@-n`Bh+ z)gnfQ0B=SnIc8jLlmNPvfdS|Mh9!+47FHLtLR^gI+5m4>HjoxZAdCdki$EL(0F69K A9{>OV literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/release-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..ec4ac10d199918458c26dbb9b26e45c6c416ff60 GIT binary patch literal 264 zcmWIWW@Zs#U|`^2$ey_(CM<|^LJ*J_0>lCgG7LqjIjM=osV=DndId%KCHbKtoD9sC zlK(P6xU_fAn^h#aphkG})ICRL z`rqWM34i@!p?H8dBa<96E_X@*UCY1#bOFPXMi2{^t63qgMssn1H!B-R7b6hH0O@5Q G4g&xMGF83+ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-debug-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..b435cfd8ee14949b727bec839adf204c47f63b7e GIT binary patch literal 269 zcmWIWW@Zs#U|`^2$ey_(#_yQ+qF^8|42XpoWEe_Pi%VQmlSN1vdjD%Qr>_2Cx~TXEyRSC4Ki4Wy3|2;+eC IDiDVO0EOODh5!Hn literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..c1e4706e2eaa53cd2951571ea7f8e4c21e3f3b11 GIT binary patch literal 255 zcmWIWW@Zs#U|`^2$ey_(hN1DsI)5N95QuphWEe_Pi%VQm3-k(#@=NkVLpT|jEhYbD zf^caCHv=QfH%0~quy*ZrXS6-n1Z)Tm(9$@if6_c`)3Zlf9zN&%eEdT_Jas+JdV8Mr zUdO`qY?+vNGmCRjw|7hsx5%oUA|hShT}GcTiJlTF_6lxvlZYz5TExf@;LXS+$BfHe o5Qj1+ulSN1vdjD%Qr>_2C!M8XEt&+7znUl__xgBj)P8fYyp#a$1l!B zYKrB8%{zAA+V{wl_m$qeot~CiZ={^3+}UHvA2&fjtYv3ig~OBMf{PAUWu6r1URlw7 z#N4p^nQ4XH-MA06YZtc11$Z+u$uZ+{t_0B03=BX=Ff3^VvG6&b72UJK$d0088lSGfQH literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f9188cd8cc5781290bc5025e3fe32140555c03a0 GIT binary patch literal 307 zcmWIWW@Zs#U|`^2$ey_(=2MKeYAleK0>laoG7KfD#U*Z;6(yxbsl_g-Nu}wYxdr(} zB`&E2dId%KCHbKtoD9sClK(P6xU_j$9220<0JQ&PjT~b}{IdtNIJ3Me?0qM`tQ^ zzMGeO|B+{JR=(WM)2f+LR?bt_-p*mDPI2jfk#(3^$zD%j?)B*NOfx6^R7|_L>DYnk zcm21lGXHXkJ;0lhNsbwpGbMnIWncihfMH1^h=s$^tPn?|IXJ+Zl?|kc5eTD!^imLq F0RRv_QzHNX literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..4d5e39b03119116ae59af24aa326c1bfbfc4aa3b GIT binary patch literal 294 zcmWIWW@Zs#U|`^2$ey_(<~zp`-zXq29*CtGWEe_Pi%Z-xD@sa>Qj0xv3-XIfTv7}4 z3X1Ye@UnU5bR&X;gvV3D?U;vvYdgdT!g8>igh3aJ-c?xnzXInJvaJbOl zv2~i7SND$HUw`rWZ#MV5Qz-f=uO&A?iL-3 z+#j^hxccZ>_`ajD8p(GrdCLcQGcw6B<8rYC(A^9SKvysGC{bsf}4Sng7uh{(9gHNAy8T(#Lo;cM->#&k=MT=4o$KkIJ**42p&oKY| zvbw1>Lb0vv@{B!gpM1|e%j6T5-}LUsy**3X;{v=HndF#pIb8zi0R{%3Ll~Acf>^|O agcafuG*1M0v$BCqUM2 zcibzuv}u>Lx=Bp;w2Ki8Wp(8f4FrPurqsTk;qm17RF~;TmcH`o;aBLort7}vPGL|# z8@GNP30Jfz^?Gcq*>UjAamHu1VI2#bKlz?{R_P}^f0Nvg zWvdpp#|3yZGRZOHa-#&$r3?%}`x%xrf>_vH%nETanrj2RS=m5(7=bVfNG}3$7yy5D BQOW=S literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-release-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..7cd5c76cf8d7d4fd089a45ea354df70f6d38299d GIT binary patch literal 290 zcmWIWW@Zs#U|`^2$ey_(M)aetX9SQJ2gFhgG7KfD#U(+hIjM=osh+t7`9&ozsReok zMfoN9p&^_M%$Ab>GC{bsf}4Snii4~nFG807K@6{_@LZ$ z_vASN>B90Y>no-;pFYYfK5NnORVz9}j)kUuU~!!xaO}@RzRmLNGrr$YXv@1kV^8ZR z-!soLIgRIUlKru7)3Wxs0B=SnIc8k0l>oY#fdS|Sh9!+47CyJLLfnq#?f`FAHjqw6 MAWQ(#Yd{SYV#Fd zsXkex@#tOF@2=(3L&}TJ`|7P+w$9My=Fg+91rBX29sBL>Eco?UVc`GC{bsf}4Sn(GlpCZ20RWIZI^T0bCBt7e(>lW zYnF6Z#^nnkfk$>nZ$B@+?_SKCR$H@4!Je_n3`cgIWpna(deeC~)^O6Re&*kE!t5tc zn>bC`CopK8<`0HN)Ake{xcrX&YG(F>R{j8QMkYCCTn?82I-h|7=n{q{jUX05Z?HnV Wf#!t(Z&o&tc19pf1=8C=90mZbuwSzP literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3bc0fda8e4119a8041071793945684e5d8d5f225 GIT binary patch literal 276 zcmWIWW@Zs#U|`^2$ey_(hDVxtZWxdk0mLE}tb-O9iKbOFPXMi2|Tn^_@lMssg~H!B-R4GC{bsf}4SnlWdlzre z6%&&{ok#cAzUE!tdiMT}WM#|9S5oW>bvOTbNqBTHe+<%+Tk`Ai0mbDKX+g93Ja4)Q z)i4C=y2pL|^xN}mw(On{i~-(^OmfV)+$#ZeH3I|C6%0!nK`eZ(XN9;P&E)~!tZX2i Nj6j$Gq}PEs3;^((S2h3u literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts new file mode 100644 index 000000000..5161622b5 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts @@ -0,0 +1,67 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + id("com.android.application") version "" + // No kotlin("android") plugin - using AGP 9.0+ built-in Kotlin + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 +} + +// Each Android source set declares its own pair of zip dependencies: +// Proto — codegen, propagates via Android variant extendsFrom wiring +// (debug extends main; testDebug extends test/testFixtures/testFixturesDebug; etc.) +// ProtoImport — import-only, propagates as imports via extendsFrom and importsFrom +// (testDebug.importsFrom(debug) → debug's imports become testDebug's imports) +// +// AGP 9.0 built-in Kotlin only creates unit test compilation for testBuildType (debug), +// so testRelease has no compile task — testRelease deps are still declared, but the +// test method skips assertions for testRelease in this fixture. +// +// The `main` source set's configurations are named `proto` / `protoImport` (not +// `mainProto` / `mainProtoImport`) — see protoConfigurationName / protoImportConfigurationName. +dependencies { + "proto"(files("main-dependency.zip")) + "protoImport"(files("main-import-dependency.zip")) + + "testProto"(files("test-dependency.zip")) + "testProtoImport"(files("test-import-dependency.zip")) + + "testFixturesProto"(files("test-fixtures-dependency.zip")) + "testFixturesProtoImport"(files("test-fixtures-import-dependency.zip")) + + "testFixturesDebugProto"(files("test-fixtures-debug-dependency.zip")) + "testFixturesDebugProtoImport"(files("test-fixtures-debug-import-dependency.zip")) + + "testFixturesReleaseProto"(files("test-fixtures-release-dependency.zip")) + "testFixturesReleaseProtoImport"(files("test-fixtures-release-import-dependency.zip")) + + "androidTestProto"(files("android-test-dependency.zip")) + "androidTestProtoImport"(files("android-test-import-dependency.zip")) + + "debugProto"(files("debug-dependency.zip")) + "debugProtoImport"(files("debug-import-dependency.zip")) + + "releaseProto"(files("release-dependency.zip")) + "releaseProtoImport"(files("release-import-dependency.zip")) + + "testDebugProto"(files("test-debug-dependency.zip")) + "testDebugProtoImport"(files("test-debug-import-dependency.zip")) + + "testReleaseProto"(files("test-release-dependency.zip")) + "testReleaseProtoImport"(files("test-release-import-dependency.zip")) + + "androidTestDebugProto"(files("android-test-debug-dependency.zip")) + "androidTestDebugProtoImport"(files("android-test-debug-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/debug-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..02e24bdda6a9c9f8a060e756de390d2ffce54575 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2$ey_(M&RlN1vdjD%Qr>_2C#nZb!W6a*92?`4baj!rGL^qY}2zxS{^><{CxaFJv?C$LX|unxy4S-Jxsjv%7*u1 zWA1Ythy6X5A*de)1X<7TtX;^c=fEN)zty-RF)a z&obHbfib|Fkx7mjmm?*BPGw*KI)GtGBZ!6F$*d43qd7Ogo0ScuhY<*)fb?PzhXDW$ CPfpAL literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f39a52e2bb21f3cfbff97ee2efb5ab9347bab78d GIT binary patch literal 255 zcmWIWW@Zs#U|`^2$ey_(W_|Jm7k?lx5QuphWEgT2GxJ=oSTCJ|M9wTO`+z?+dtjv1G` oB!I4CU;tXpu%r>hLUSc6#Fc0+4De=U11V+%!eAgh4a8vp096J-#{d8T literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..901f3d56a5994cd9bf39578a5efec419cf30b4c1 GIT binary patch literal 273 zcmWIWW@Zs#U|`^2$ey_(<_6dIrcfX+9EgP(WEgT2GxI!i3-XIfTv7}43X1Ye@-n`Bh+ z)gnfQ0B=SnIc8jLlmNPvfdS|Mh9!+47FHLtLR^gI+5m4>HjoxZAdCdki$EL(0F69K A9{>OV literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/release-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..ec4ac10d199918458c26dbb9b26e45c6c416ff60 GIT binary patch literal 264 zcmWIWW@Zs#U|`^2$ey_(CM<|^LJ*J_0>lCgG7LqjIjM=osV=DndId%KCHbKtoD9sC zlK(P6xU_fAn^h#aphkG})ICRL z`rqWM34i@!p?H8dBa<96E_X@*UCY1#bOFPXMi2{^t63qgMssn1H!B-R7b6hH0O@5Q G4g&xMGF83+ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-debug-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..b435cfd8ee14949b727bec839adf204c47f63b7e GIT binary patch literal 269 zcmWIWW@Zs#U|`^2$ey_(#_yQ+qF^8|42XpoWEe_Pi%VQmlSN1vdjD%Qr>_2Cx~TXEyRSC4Ki4Wy3|2;+eC IDiDVO0EOODh5!Hn literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..c1e4706e2eaa53cd2951571ea7f8e4c21e3f3b11 GIT binary patch literal 255 zcmWIWW@Zs#U|`^2$ey_(hN1DsI)5N95QuphWEe_Pi%VQm3-k(#@=NkVLpT|jEhYbD zf^caCHv=QfH%0~quy*ZrXS6-n1Z)Tm(9$@if6_c`)3Zlf9zN&%eEdT_Jas+JdV8Mr zUdO`qY?+vNGmCRjw|7hsx5%oUA|hShT}GcTiJlTF_6lxvlZYz5TExf@;LXS+$BfHe o5Qj1+ulSN1vdjD%Qr>_2C!M8XEt&+7znUl__xgBj)P8fYyp#a$1l!B zYKrB8%{zAA+V{wl_m$qeot~CiZ={^3+}UHvA2&fjtYv3ig~OBMf{PAUWu6r1URlw7 z#N4p^nQ4XH-MA06YZtc11$Z+u$uZ+{t_0B03=BX=Ff3^VvG6&b72UJK$d0088lSGfQH literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f9188cd8cc5781290bc5025e3fe32140555c03a0 GIT binary patch literal 307 zcmWIWW@Zs#U|`^2$ey_(=2MKeYAleK0>laoG7KfD#U*Z;6(yxbsl_g-Nu}wYxdr(} zB`&E2dId%KCHbKtoD9sClK(P6xU_j$9220<0JQ&PjT~b}{IdtNIJ3Me?0qM`tQ^ zzMGeO|B+{JR=(WM)2f+LR?bt_-p*mDPI2jfk#(3^$zD%j?)B*NOfx6^R7|_L>DYnk zcm21lGXHXkJ;0lhNsbwpGbMnIWncihfMH1^h=s$^tPn?|IXJ+Zl?|kc5eTD!^imLq F0RRv_QzHNX literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..4d5e39b03119116ae59af24aa326c1bfbfc4aa3b GIT binary patch literal 294 zcmWIWW@Zs#U|`^2$ey_(<~zp`-zXq29*CtGWEe_Pi%Z-xD@sa>Qj0xv3-XIfTv7}4 z3X1Ye@UnU5bR&X;gvV3D?U;vvYdgdT!g8>igh3aJ-c?xnzXInJvaJbOl zv2~i7SND$HUw`rWZ#MV5Qz-f=uO&A?iL-3 z+#j^hxccZ>_`ajD8p(GrdCLcQGcw6B<8rYC(A^9SKvysGC{bsf}4Sng7uh{(9gHNAy8T(#Lo;cM->#&k=MT=4o$KkIJ**42p&oKY| zvbw1>Lb0vv@{B!gpM1|e%j6T5-}LUsy**3X;{v=HndF#pIb8zi0R{%3Ll~Acf>^|O agcafuG*1M0v$BCqUM2 zcibzuv}u>Lx=Bp;w2Ki8Wp(8f4FrPurqsTk;qm17RF~;TmcH`o;aBLort7}vPGL|# z8@GNP30Jfz^?Gcq*>UjAamHu1VI2#bKlz?{R_P}^f0Nvg zWvdpp#|3yZGRZOHa-#&$r3?%}`x%xrf>_vH%nETanrj2RS=m5(7=bVfNG}3$7yy5D BQOW=S literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-release-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..7cd5c76cf8d7d4fd089a45ea354df70f6d38299d GIT binary patch literal 290 zcmWIWW@Zs#U|`^2$ey_(M)aetX9SQJ2gFhgG7KfD#U(+hIjM=osh+t7`9&ozsReok zMfoN9p&^_M%$Ab>GC{bsf}4Snii4~nFG807K@6{_@LZ$ z_vASN>B90Y>no-;pFYYfK5NnORVz9}j)kUuU~!!xaO}@RzRmLNGrr$YXv@1kV^8ZR z-!soLIgRIUlKru7)3Wxs0B=SnIc8k0l>oY#fdS|Sh9!+47CyJLLfnq#?f`FAHjqw6 MAWQ(#Yd{" + kotlin("android") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 +} + +dependencies { + // protoImport scoped to debug build type only — must NOT be visible to release. + debugProtoImport(files("debug-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f6ac8650a67ef4f7789bae89c79b4a6d6501424f GIT binary patch literal 223 zcmWIWW@Zs#U|`^2m^5ic%Om z*Py_|aAEKAj2(@IDtS6`i=CW%n0V!t4e!Oq-2dR!KQ%8Vz|+t4tQRxK&1Rd$$q!#x z+_Ez$(6pDjH!Hq*NenNyT|-3Hy~W47&mBviWwPf3V}Lg!lL#|zhXCCI1`UiL3Y)V6 Syjj^ma*ROe1f<(R90mYJAwx_6 literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/debug/proto/debug.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/debug/proto/debug.proto new file mode 100644 index 000000000..328dcafc2 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/debug/proto/debug.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "debugImportDep.proto"; + +message Debug { + string content = 1; + dependency.DebugImportDep dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/main/proto/main.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/main/proto/main.proto new file mode 100644 index 000000000..588046d54 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/main/proto/main.proto @@ -0,0 +1,5 @@ +syntax = "proto3"; + +message Main { + string content = 1; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/release/proto/release.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/release/proto/release.proto new file mode 100644 index 000000000..c3d9a0bc4 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/release/proto/release.proto @@ -0,0 +1,5 @@ +syntax = "proto3"; + +message Release { + string content = 1; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts new file mode 100644 index 000000000..2be2e0adf --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts @@ -0,0 +1,23 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + kotlin("jvm") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +dependencies { + // Per-source-set / per-configuration zips: distinct content for each + // archive so a regression that wires extractProtoMain and + // extractProtoImportMain to the same source would surface as the wrong + // proto file landing in the wrong workspace dir. + proto(files("main-dependency.zip")) + protoImport(files("main-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..dc19f447fb295861be91f94b2b0f20d8bbebe3a8 GIT binary patch literal 203 zcmWIWW@Zs#U|`^2m^5ic%=+XBF8)AXAQ1Bcac*K}o=a+hUO`cQNxt^FGuobO0ycyO zXlb0%KWQGe>DePK51(^>KK`K|p1K}qy*dT?OJW F004;+Hb(#e literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..aba4520aa38d3be8b83298468f3ca94cf010444b GIT binary patch literal 221 zcmWIWW@Zs#U|`^2m^5ic%nh#ZO`$+uI1md1ac*K}o@Z`Beo=`_YJpxsQGQ9j_PR6L zo@)X&ga&A7oYFsO9=7S(BP|b~bACSlp&p*P9%sEh&w8(8;d-`AOuU(;R@nHnO)>YU zZm*aiZjn_xMMS#1yNo_x5=oR|CK*+HwTO`+z?+dtgc-LxfKCB}21XEt#Z>{` RtZX1DMj&(q(rq9P0{~cSKA!*p literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/src/main/proto/some.proto new file mode 100644 index 000000000..9ce4a4156 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/src/main/proto/some.proto @@ -0,0 +1,5 @@ +syntax = "proto3"; + +message Some { + string content = 1; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/build.gradle.kts new file mode 100644 index 000000000..f00d99bb3 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/build.gradle.kts @@ -0,0 +1,18 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + kotlin("jvm") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +dependencies { + testProto(files("test-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/src/test/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/src/test/proto/some.proto new file mode 100644 index 000000000..78346d415 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/src/test/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "testDep.proto"; + +message Some { + string content = 1; + dependency.TestDep dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..4e40125ac963a0e4e66392afa21b4cfa823c6414 GIT binary patch literal 203 zcmWIWW@Zs#U|`^2m^5ic3`66Mb^btJAQ1BcaY<@%iA!pMUO`cQNxt^FGuobO0ycyO zXlb0%KWQGe>DePK51(^>KK`K|p1K}qy*" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +dependencies { + testProtoImport(files("test-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/src/test/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/src/test/proto/some.proto new file mode 100644 index 000000000..30258e2d0 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/src/test/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "testImportDep.proto"; + +message Some { + string content = 1; + dependency.TestImportDep dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f95b014e12dfdb2b200b24e13a3901c4b2f5cb92 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2m^5ic%nym0Lm@z3I1md1aY<@%iDzy>eo=`_YJpxsQGQ9j=ov%4 z1_d651AEtJ{Aesx$csw~i)n)pTrLTN?_!YXY>ALT^QyA3G#;soy;LXS+!i?J)K$n0)10#sS;-~;` RRyL3nBM>?Q=~fVj0RS_dLpuNf literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/build.gradle.kts new file mode 100644 index 000000000..c03dedf16 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/build.gradle.kts @@ -0,0 +1,22 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +kotlin { + jvm() +} + +rpc { + protoc() +} + +dependencies { + commonMainProto(files("dependency-protos.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/dependency-protos.zip new file mode 100644 index 0000000000000000000000000000000000000000..e612110d1ead403b410ac2ac526a82ca0cfdc681 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2s9oF_BiPj3=>z0N1F-;u3`0t4L26z~YF=`sUO`cQNq%SuCj+x? z`@KvMF0J5ZU}X8m$iTn?RL-Ei?u@qQnt%!V4F&g>~^-E?HmrH}=QZP#M9#xMkUGcw6B p<8qe-$T|j~y$nklK`cyHvO-*m=E4APRyL4&Mj#9W($hd31_1a^NOS-I literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/src/commonMain/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/src/commonMain/proto/some.proto new file mode 100644 index 000000000..c0b46f49a --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/src/commonMain/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "dependency.proto"; + +message Some { + string content = 1; + dependency.DependencyMessage dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/build.gradle.kts new file mode 100644 index 000000000..47af7cb6e --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/build.gradle.kts @@ -0,0 +1,27 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version +import kotlinx.rpc.protoc.* + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +kotlin { + jvm() + + sourceSets { + commonMain { + dependencies { + proto(files("common-main-dependency.zip")) + } + } + } +} + +rpc { + protoc() +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/common-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..71a307b5a91128bdffc45b595cca8ef9ff50a47a GIT binary patch literal 220 zcmWIWW@Zs#U|`^2m^5icj8cKQX9$oN4#dJhoSdJVo1f>Kn3?C2TA)`@lwXoBdd85i zL4k+iz~1#4KN<^F{C557V3Ts1GL1p1^W*zhRfn(Y_3F*J@MMv%dorWZ&R(X)&(A!H zjQMX+xYqvMtVyT50>#c%Fel}zdL5Yjt$BaOh7Sk01H2iTM3`|q1LzVkXkY|USR57L S&B_LnVgy1*Al(Y$FaQ7~Swo}% literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/src/commonMain/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/src/commonMain/proto/some.proto new file mode 100644 index 000000000..d6118d37b --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/src/commonMain/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "commonMainDep.proto"; + +message Some { + string content = 1; + dependency.CommonMainDep dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/build.gradle.kts new file mode 100644 index 000000000..7d332f946 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/build.gradle.kts @@ -0,0 +1,25 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +kotlin { + jvm() + macosArm64() +} + +rpc { + protoc() +} + +dependencies { + // Declared on commonMain only. Must propagate to jvmMain and macosArm64Main + // via extendsFrom — the entire point of "configurations are transitive". + commonMainProtoImport(files("common-main-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/common-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..d94f39c29f07e415b0b4fd0cb4643c8eef100892 GIT binary patch literal 237 zcmWIWW@Zs#U|`^2m^5icOmfiQ`;kCiED%cqadLicZhoF`VrHIaZb5!giA!pMUO`cQ zNxtYAL#_q`9)<(9>pA{5T69g;Gj10F c9R&srj35f9`vSaK*+2>yfzTaDPXKWk0K{QRTmS$7 literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/src/commonMain/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/src/commonMain/proto/some.proto new file mode 100644 index 000000000..f7e4bfa3f --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/src/commonMain/proto/some.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "commonMainImportDep.proto"; + +message Some { + string content = 1; + dependency.CommonMainImportDep dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..c3ff957ef5897ac895d117e03030e80f0383f798 GIT binary patch literal 270 zcmWIWW@Zs#U|`^2$eOt#=0IN8N1vdjD%Qr>_2Cy00>&|F8la_dO8=yJ*rsQXv^;#y`T6*VdU)!3 zob~oR>%ESJ>)A3f@n#lTZmy!BT4CeQF+toSt9FWrba{6feZC}mN~qW?xbc}pRPog! yMuq@yMkYCCTrQLVx|4wcXg|Y}Mi2{|ds!jwMRRL_H!B-R2O|(h0ObE^g!83y6eWW zg=>=p|F2tT9+MgL@{pkQ*_F!{8Z&s6sh@ul5h>H1EAOWF^th+#2d~*Wfx+vHweK}V zWZgUR*z@6o{MWoTAD9BX8JXmmaXD53=wt>4pd%QTG=f;Toz4nzI-0Wsyjj^m`WS&Q K4oI&CaTovs2vj!! literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..4169e7d76f1114e769333b13e46d5d078a1d1a60 GIT binary patch literal 270 zcmWIWW@Zs#U|`^2$ey_(Cco#9WeAWL2E;-PG7O0Y1v#l9sl_EOsReokMfoN9p&^_M z%$Ab>GC{bsf}4Sn<{CxaFJv?E(cBu~&B_MS!3cyAKzad)!vFwq14nrP literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f0915df194f52874956309192bb1471104f33952 GIT binary patch literal 286 zcmWIWW@Zs#U|`^2$ey_(#-m~zO9YS?1H=*xG7O0Y1v#l9sl_Fpxdr(}B`&E2dId%K zCHbKtoD9sClK(P6xU_=&i+%qlX-J?G3lP80Mx4Jxfc6aRq)}|c_=bj#BxGG;Q*w2}jJYh<1!w26p zS(V+|^Uulu*tTnFdt87wBa<96F1JbmUCh7$bOXbZMi2|P%UK~VM{{+6H!B-RA0rUP K0qIpB4g&zaj#p#= literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/build.gradle.kts new file mode 100644 index 000000000..3f57b2203 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/build.gradle.kts @@ -0,0 +1,74 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +kotlin { + jvm() + js { + nodejs() + } + macosArm64() + + // Explicitly apply the default hierarchy template to materialize intermediate source sets + // (nativeMain/Test, appleMain/Test, macosMain/Test, webMain/Test) synchronously. Without + // this call the template would auto-apply only at the end of evaluation, and the matching + // Proto/ProtoImport configurations wouldn't exist when the top-level + // `dependencies { }` block below evaluates. + applyDefaultHierarchyTemplate() +} + +rpc { + protoc() +} + +// Each source set declares its own pair of zip dependencies: +// Proto — codegen, propagates to descendants as codegen via extendsFrom +// ProtoImport — import-only, propagates to descendants as imports via extendsFrom +dependencies { + "commonMainProto"(files("common-main-dependency.zip")) + "commonMainProtoImport"(files("common-main-import-dependency.zip")) + "commonTestProto"(files("common-test-dependency.zip")) + "commonTestProtoImport"(files("common-test-import-dependency.zip")) + + "nativeMainProto"(files("native-main-dependency.zip")) + "nativeMainProtoImport"(files("native-main-import-dependency.zip")) + "nativeTestProto"(files("native-test-dependency.zip")) + "nativeTestProtoImport"(files("native-test-import-dependency.zip")) + + "appleMainProto"(files("apple-main-dependency.zip")) + "appleMainProtoImport"(files("apple-main-import-dependency.zip")) + "appleTestProto"(files("apple-test-dependency.zip")) + "appleTestProtoImport"(files("apple-test-import-dependency.zip")) + + "macosMainProto"(files("macos-main-dependency.zip")) + "macosMainProtoImport"(files("macos-main-import-dependency.zip")) + "macosTestProto"(files("macos-test-dependency.zip")) + "macosTestProtoImport"(files("macos-test-import-dependency.zip")) + + "macosArm64MainProto"(files("macos-arm64-main-dependency.zip")) + "macosArm64MainProtoImport"(files("macos-arm64-main-import-dependency.zip")) + "macosArm64TestProto"(files("macos-arm64-test-dependency.zip")) + "macosArm64TestProtoImport"(files("macos-arm64-test-import-dependency.zip")) + + "jvmMainProto"(files("jvm-main-dependency.zip")) + "jvmMainProtoImport"(files("jvm-main-import-dependency.zip")) + "jvmTestProto"(files("jvm-test-dependency.zip")) + "jvmTestProtoImport"(files("jvm-test-import-dependency.zip")) + + "webMainProto"(files("web-main-dependency.zip")) + "webMainProtoImport"(files("web-main-import-dependency.zip")) + "webTestProto"(files("web-test-dependency.zip")) + "webTestProtoImport"(files("web-test-import-dependency.zip")) + + "jsMainProto"(files("js-main-dependency.zip")) + "jsMainProtoImport"(files("js-main-import-dependency.zip")) + "jsTestProto"(files("js-test-dependency.zip")) + "jsTestProtoImport"(files("js-test-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..d196d8161c1aa0322743bd62a0f2a0072a802fea GIT binary patch literal 272 zcmWIWW@Zs#U|`^2$eOt#MybHuGX%&B2V!9c8HVKi+}!*;-^9#3m(&8if};GA{Lm0i z24)M%f0-a$TEWf0$nuSmfdOoY=ov%41_d651AEtJ{Aesx@!R#QgH6h5$}|S4&X4b3 zRUN*n*Q+<@!jnb5?#YZsJA0WHKR@#*GUmTQ;adB1vnHML3KTn6!JL$<>UCi9x90sB z8$KN14)A7Vl4Hi@LZzm7(KMR#!gJAV7`p$i7maCBGi)XmYM!Qo68*Um;6Z+I`QR!k~UO zZvC17Z$>6LW?W8`06LU`0cbzNl12~JPZeH*K_=HkU8opUTzY!nahW@M6M#^qQEppzLGfNo$|(g1fUl@MdKLX=DV# Lcp$wR#9;scVI@@p literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f4273ce10fcd012accb73927b51a8bfcc4e83238 GIT binary patch literal 261 zcmWIWW@Zs#U|`^2$ey_(rtG)c^*|sm7>M~9WEirFeG@bDTv7}43X1Ye@Hq)$ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..5be39ebdeb537e7315ebede71e642e9d15cc6073 GIT binary patch literal 278 zcmWIWW@Zs#U|`^2$ey_(hSBEF#4sQ)5{N|^WEirFeG@bDJaY^3i%MKl3-k(#@=NkV zLpT|jEhYbDf^caCHv=QfH%0~qurZ=%47nN%co+`YuIKpMXwfyhyQ!Zecfz7&3s)uy z{$IDwd`_rlNn*cWvDV5`*@j8+nTb4WbQ+Id=Px(=UASrHqMqH$V%Wm=FkbZP+w{Qm z_QCk8B_9rO2Y53w$uZ+{rUcNj3=BXQFf3^Vv2Zw=72;?#2M2hwvVk-)0%0_eUJBwc F008hfQJMe% literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3900bda2dfb8a030a14f45564555a247546c1080 GIT binary patch literal 261 zcmWIWW@Zs#U|`^2$ey_(=B8wxZ6J^r48;5lG7MS8A*sbBE~y221x5KK`Jo}449u32 z|1v?iw1S&~k>wjB0|VFq?R96gJ=X+m2o2EEIHiBmJZ#gmM_L{}=lp#9Lp?loJ=oSDCJ|M9wTO`+z?+dt sjv1HRB!DhtU;tXqu%r>h!f+`o#HDDi4De=U11V<&!cZVR3&ddn09)xqGXMYp literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..61e165cd3500dd11fb92ec7102f1506a74ce5eb1 GIT binary patch literal 278 zcmWIWW@Zs#U|`^2$ey_(Mp3W)Vi=GY3B;ldG7MS8A*sbBp1B42MI|n&1$qTV`6chI|bQJPZf+uFv?S+3lKr_&6JCf|ipzF>WOTW>X{o4w z`J5}O&K=^G5AbGWl4Hi@ObMW485n>rU|7-!V&QN!E5y-g4i4~UWdmtq1j1+_y%fY@ F001AiQKbL? literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..d95aea91073d7dc51e015a82e113f1c46269e834 GIT binary patch literal 264 zcmWIWW@Zs#U|`^2$ey_(#xpOrGYH5F0b&6L8HTK~T;IgZJeSl0y@I0rlKjvRP6lR6 z$$yz3Tw1}+z{v8Ak%0khg7&&I+Ma6yHiQOfX`IqOX&$!e*&{6vpL2db{-GY8x*lh} zJGC{bsf}4Sn#0Xig6BW@Q8EVg$k%AiW&K GVE_PobWKVC literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..b1e5f6aaefb2a2dea2ab8848f500f4660584d8c9 GIT binary patch literal 264 zcmWIWW@Zs#U|`^2$ey_(=2?$uauARg0>lCgG7MQ|xgn{=B`&E2dId%KCHbKtoD9sC zlK(P6xU_N1vdjD%Qr>_2CzAzXAJoo6nGd8>|LMnqp?sWPtWQ%BU7&-m&q2X z&X4aORUP*9eU&G3q2T1K>SV?nKku$>X`B(X;7Rsj4<-9^;V~X1U30qoj{IO)lyUP? z*K}*Ytnl=Qt^5Jrj7)OOxEv}0bS?t}&$CI!q30rls^N(J&Td)3SF}d67+1~eQTtZ!3FTfHxzP95XJbN&p?qzyNdu!;(f23#Y?bAr41#bbvQ28%P@?5XJ)O Il^_lS0DP}drvLx| literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..39c112e34bfaf27967a2db02249edb0f173f5869 GIT binary patch literal 301 zcmWIWW@Zs#U|`^2$ey_(#!c;(SuBv32*k1sG7Pzi$@#^OMY(1szKNN6p1B42MI|n& z1$qTV`6cJPZeH*K_=H5D_mFh>@vr zS>f1a#_KEU`e*m9dj(~l%Y?0UOpeN|Uc?$uq^;XytbO{-qjmhuv;SI5?7p`A!WH34 z$>w8I*u(ZPUM%{w>4D?zbMcYeJ{;f<@MdI^W5(rb3832<7=R98Skee$5%2>m#1Clh U5AbGX18HUi!ek)51;k+h0Cd<_8UO$Q literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..0cf02b32d6be918e72966041eee082d380c4872c GIT binary patch literal 285 zcmWIWW@Zs#U|`^2$ey_(=Ep3Swn!i^8i>UiWEgT2lk&|TB(LQ4N+UrW!6JNV)Vo3ZD`q={Dl?|ks5eSok^i~ju0RU|dSy=!8 literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..1c6007e8e73a70490e22f6c8ef9074ad9a1c57c7 GIT binary patch literal 269 zcmWIWW@Zs#U|`^2$ey_(CgL>fN1vdjD%Qr>_2Cx~TXAJoo6nGd8>|LMnqp?sWZ=KDe#x{Yi0$pxNe|GP< zS8!|T#a`}NLB*#xZ)9lw<2KQ-AdypNAHPk+S9f>2)r(cM#cLP>qkV-wF8cfAqmNkJ y4~775MkYCCTn>}~I+K9`Xg$M{Mi2{|b6FwIMRRI^H!B-R2O|(h0O|Q44g&xs8BCA> literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..ef93cc18166afa8071f300f2555de76766b24c0a GIT binary patch literal 286 zcmWIWW@Zs#U|`^2$ey_(=B&rp9T7lY3=m5&$S~w4Cg&IXCT8Y&<`(1^mAIr9=oJ*@ zm*j_ra56AkO8(0P;nE6j21b@|j0_B5lSI!Lay1z6FdVR5&+*Se=IGg@2i;qwye=+V zxH3ube_m|9#p<9J$2hIeu3WNEnsLeGC{bsf}4Sn<{CxaFJv?bI{mpL6fzi$i>Kr{wG`m2=QoV`A(k<~K2ThxWTQzaD!izCMz5SZ`;<`6hma zRZ~^ZR$MA8xGTl4UlZWX$Rx*%%dHYX7c(#b-N3M<5yZmna#o1T(Oezi&B_MS#|VUR KKzbF3!vFw_2vrgQ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..8690045bfad6e6366919d19b2b0245e0f8a58ad4 GIT binary patch literal 272 zcmWIWW@Zs#U|`^2$eOt##_!h>)({{s9EgP(WEk=iOESw+eG@bDTv7}43X1Ye@2<*E_sMvZ zh>8cS0p5&Ea?H4#C;@aR0|U^0h9!+47FGwdLL7|d*Z^-@VK27;&wE52Y9oxfiyA# MVLXst1L80M0ClKWT>t<8 literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..038805c10d6f4aa94a14559f8a3cdcf8a2884dc2 GIT binary patch literal 272 zcmWIWW@Zs#U|`^2$eOt#=Ap!!_aQ)DI1mdn$S~w3mSmQthNKpkxTF^76%^%{ud6(h6<{MwV}k3=CjHM9&yxb zzV7<90p5&Ea?H4#C;@aR0|U^0h9!+47FGwdLL7|d*Z^-CYj@^rEk8YNU(aYO$LBux9)pv=}I-_QFjYBO4&-lw{{Jqhwug*53eD|>@x>NF# z%>2D){G9Uk!1bx7wqKY6ycwC~m~pvQ0_bK22B0GtmNbG`c-+nkaXXs31H4(;KpGi= LFdj&+0dW`r3hz~e literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..737935d78fceab9b1b13c041d61c17156e63ab3b GIT binary patch literal 264 zcmWIWW@Zs#U|`^2$ey_(W=hz*_d!5j2oMV}$S{r uGcw6B<8qw@(2WcXK-(FXG=f-|Ze@kI70sOi-mGjO^^8Cm2BhbJI1B&?;z#HJ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..8028fa4f143e8125a20ef0fbca84446bfb02ba04 GIT binary patch literal 281 zcmWIWW@Zs#U|`^2$ey_(CU3pl?QkG33W&uRWEjd*lYA31^E`74@{3AbQVaA7itN1vdjD%Qr>_2CzAzXAHR-40sq0*skaJ=OEKPySsUF@f8Kv*=@_Z zl>Xh_b+4ezdl`518k3_kvrjQxV#kkNfs=GlKOKAB9IZkOS+Gx;dHfUdf} z_Pj0fG3#y}0$)J7$ChI H#9;scY#UIq literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..8d2a873761886f8c19b7f8b7199c4899739dbd29 GIT binary patch literal 264 zcmWIWW@Zs#U|`^2$ey_(#(K*#)*v7+1c(I~WEjd*lR{F9OI%V5^a_gdOY%cQI2o8N zCI4lDaA^fM10%~fMg|733EJz+*bo|^rEyCCqUx~@ z_B`voj)m*lGBNRHmczl5or1c(V}iIvR_zoK>GJL}`g}?Blu)r(aN{zGsN$H!B-RJtGi?0qHp)4g&ykf<<`% literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..da5512caf9a9f71e865f58b9871dfb9913c449bf GIT binary patch literal 281 zcmWIWW@Zs#U|`^2$ey_(#&7T0+2KH56cCFs$S{#0Xig6BW@Q8EVg$k%AiW&K GVE_Q" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +kotlin { + jvm() + + sourceSets { + commonTest { + dependencies { + protoImport(files("common-test-import-dependency.zip")) + } + } + } +} + +rpc { + protoc() +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/common-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..0cf4e81c65ef9941887383e644936277f1939f4d GIT binary patch literal 236 zcmWIWW@Zs#U|`^2m^5icjI%@8{0JZ~7KkN*I5|HzH$N{VwYbDHw;;c$#3i*rub?Qu zBwzH5Ay8JR?waXSd; cCNOAV1W`Dh7vRmx22#KXgziAPAH-n*0KE}OhX4Qo literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonMain/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonMain/proto/some.proto new file mode 100644 index 000000000..9ce4a4156 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonMain/proto/some.proto @@ -0,0 +1,5 @@ +syntax = "proto3"; + +message Some { + string content = 1; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonTest/proto/other.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonTest/proto/other.proto new file mode 100644 index 000000000..6c5d99cbd --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonTest/proto/other.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +import "commonTestImportDep.proto"; + +message Other { + string content = 1; + dependency.CommonTestImportDep dep = 2; +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/build.gradle.kts new file mode 100644 index 000000000..e0faa03dc --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/build.gradle.kts @@ -0,0 +1,37 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +kotlin { + jvm() + sourceSets { + create("common2") + } +} + +rpc { + protoc() +} + +protoSourceSets { + named("commonMain") { + importsFrom(project.provider { protoSourceSets.getByName("common2") }) + } +} + +dependencies { + // Exercises ConfigurationCompat.extendsFromLazy through the public + // importsFrom(Provider) path. On Gradle 9.4+ this uses + // Configuration.extendsFrom(Provider); on 8.8–9.3 it falls back to the + // legacy ListProperty plumbing in DefaultProtoSourceSet. + // String accessor — common2 source set is declared in this script, + // so no precompiled Kotlin DSL accessor is generated. + "common2ProtoImport"(files("common-2-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/common-2-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/common-2-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3458fa0722de4d2151cae4d634783316e7a53803 GIT binary patch literal 228 zcmWIWW@Zs#U|`^2;NHC=MqS;!cVUMd zykt6Rb0svN%d2+=?ucLHrDd#X*D%BTR>jfNvg%t`Z~kzIJ;0lhNsbw}TY%1CU Date: Wed, 13 May 2026 18:23:50 +0200 Subject: [PATCH 7/9] Cleanup tests --- .../kotlinx/rpc/GrpcAndroidProjectTest.kt | 218 +------- .../kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt | 60 ++- .../kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt | 485 +++++++++++++----- .../kotlin/kotlinx/rpc/base/GrpcBaseTest.kt | 87 ++-- .../build.gradle.kts | 0 .../dependency-protos.zip | Bin .../build.gradle.kts | 157 ++++++ .../dependency-protos.zip | Bin .../dependency_proto_codegen/build.gradle.kts | 24 - .../main-dependency.zip | Bin 203 -> 0 bytes .../src/main/proto/some.proto | 8 - .../dependency_proto_import/build.gradle.kts | 24 - .../src/main/proto/some.proto | 8 - .../build.gradle.kts | 36 -- .../dependency-protos.zip | Bin 258 -> 0 bytes .../src/main/proto/some.proto | 8 - .../arm-dependency.zip | Bin 200 -> 0 bytes .../build.gradle.kts | 38 -- .../src/main/proto/some.proto | 5 - .../build.gradle.kts | 52 +- .../build.gradle.kts | 56 +- .../build.gradle.kts | 25 - .../debug-import-dependency.zip | Bin 223 -> 0 bytes .../src/debug/proto/debug.proto | 8 - .../src/main/proto/main.proto | 5 - .../src/release/proto/release.proto | 5 - .../build.gradle.kts | 4 - .../build.gradle.kts | 18 +- .../common-2-import-dependency.zip | Bin .../src/common2/proto/common2.proto | 0 .../src/commonMain/proto/some.proto | 0 .../apple-main-dependency.zip | Bin .../apple-main-import-dependency.zip | Bin .../apple-test-dependency.zip | Bin .../apple-test-import-dependency.zip | Bin .../dependency_kmp_hierarchy/build.gradle.kts | 103 ++++ .../common-main-dependency.zip | Bin .../common-main-import-dependency.zip | Bin .../common-test-dependency.zip | Bin .../common-test-import-dependency.zip | Bin .../js-main-dependency.zip | Bin .../js-main-import-dependency.zip | Bin .../js-test-dependency.zip | Bin .../js-test-import-dependency.zip | Bin .../jvm-main-dependency.zip | Bin .../jvm-main-import-dependency.zip | Bin .../jvm-test-dependency.zip | Bin .../jvm-test-import-dependency.zip | Bin .../macos-arm64-main-dependency.zip | Bin .../macos-arm64-main-import-dependency.zip | Bin .../macos-arm64-test-dependency.zip | Bin .../macos-arm64-test-import-dependency.zip | Bin .../macos-main-dependency.zip | Bin .../macos-main-import-dependency.zip | Bin .../macos-test-dependency.zip | Bin .../macos-test-import-dependency.zip | Bin .../native-main-dependency.zip | Bin .../native-main-import-dependency.zip | Bin .../native-test-dependency.zip | Bin .../native-test-import-dependency.zip | Bin .../web-main-dependency.zip | Bin .../web-main-import-dependency.zip | Bin .../web-test-dependency.zip | Bin .../web-test-import-dependency.zip | Bin .../android-main-dependency.zip | Bin 0 -> 223 bytes .../android-main-import-dependency.zip | Bin 0 -> 240 bytes .../build.gradle.kts | 49 ++ .../common-main-dependency.zip | Bin 0 -> 220 bytes .../common-main-import-dependency.zip | Bin 0 -> 237 bytes .../common-test-dependency.zip | Bin 0 -> 220 bytes .../common-test-import-dependency.zip | Bin 0 -> 236 bytes .../jvm-main-dependency.zip | Bin 0 -> 212 bytes .../jvm-main-import-dependency.zip | Bin 0 -> 229 bytes .../jvm-test-dependency.zip | Bin 0 -> 212 bytes .../jvm-test-import-dependency.zip | Bin 0 -> 229 bytes .../android-device-test-dependency.zip | Bin 0 -> 239 bytes .../android-device-test-import-dependency.zip | Bin 0 -> 258 bytes .../android-host-test-dependency.zip | Bin 0 -> 235 bytes .../android-host-test-import-dependency.zip | Bin 0 -> 250 bytes .../android-main-dependency.zip | Bin 0 -> 223 bytes .../android-main-import-dependency.zip | Bin 0 -> 240 bytes .../build.gradle.kts | 67 +++ .../common-main-dependency.zip | Bin 0 -> 220 bytes .../common-main-import-dependency.zip | Bin 0 -> 237 bytes .../common-test-dependency.zip | Bin 0 -> 220 bytes .../common-test-import-dependency.zip | Bin 0 -> 236 bytes .../jvm-main-dependency.zip | Bin 0 -> 212 bytes .../jvm-main-import-dependency.zip | Bin 0 -> 229 bytes .../jvm-test-dependency.zip | Bin 0 -> 212 bytes .../jvm-test-import-dependency.zip | Bin 0 -> 229 bytes .../android-device-test-dependency.zip | Bin 0 -> 239 bytes .../android-device-test-import-dependency.zip | Bin 0 -> 258 bytes .../android-host-test-dependency.zip | Bin 0 -> 235 bytes .../android-host-test-import-dependency.zip | Bin 0 -> 250 bytes .../android-main-dependency.zip | Bin 0 -> 223 bytes .../android-main-import-dependency.zip | Bin 0 -> 240 bytes .../build.gradle.kts | 63 +++ .../common-main-dependency.zip | Bin 0 -> 220 bytes .../common-main-import-dependency.zip | Bin 0 -> 237 bytes .../common-test-dependency.zip | Bin 0 -> 220 bytes .../common-test-import-dependency.zip | Bin 0 -> 236 bytes .../jvm-main-dependency.zip | Bin 0 -> 212 bytes .../jvm-main-import-dependency.zip | Bin 0 -> 229 bytes .../jvm-test-dependency.zip | Bin 0 -> 212 bytes .../jvm-test-import-dependency.zip | Bin 0 -> 229 bytes .../android-debug-dependency.zip | Bin 0 -> 225 bytes .../android-debug-import-dependency.zip | Bin 0 -> 242 bytes ...oid-instrumented-test-debug-dependency.zip | Bin 0 -> 271 bytes ...trumented-test-debug-import-dependency.zip | Bin 0 -> 287 bytes .../android-instrumented-test-dependency.zip | Bin 0 -> 257 bytes ...id-instrumented-test-import-dependency.zip | Bin 0 -> 273 bytes .../android-main-dependency.zip | Bin 0 -> 223 bytes .../android-main-import-dependency.zip | Bin 0 -> 240 bytes .../android-release-dependency.zip | Bin 0 -> 231 bytes .../android-release-import-dependency.zip | Bin 0 -> 247 bytes .../android-test-debug-dependency.zip | Bin 0 -> 237 bytes .../android-test-debug-import-dependency.zip | Bin 0 -> 254 bytes .../android-test-dependency.zip | Bin 0 -> 224 bytes .../android-test-import-dependency.zip | Bin 0 -> 240 bytes .../android-unit-test-debug-dependency.zip | Bin 0 -> 251 bytes ...roid-unit-test-debug-import-dependency.zip | Bin 0 -> 267 bytes .../android-unit-test-dependency.zip | Bin 0 -> 234 bytes .../android-unit-test-import-dependency.zip | Bin 0 -> 250 bytes .../android-unit-test-release-dependency.zip | Bin 0 -> 255 bytes ...id-unit-test-release-import-dependency.zip | Bin 0 -> 272 bytes .../build.gradle.kts | 130 +++++ .../common-main-dependency.zip | Bin 0 -> 220 bytes .../common-main-import-dependency.zip | Bin 0 -> 237 bytes .../common-test-dependency.zip | Bin 0 -> 220 bytes .../common-test-import-dependency.zip | Bin 0 -> 236 bytes .../debug-dependency.zip | Bin 0 -> 206 bytes .../debug-import-dependency.zip | Bin 0 -> 223 bytes .../jvm-main-dependency.zip | Bin 0 -> 212 bytes .../jvm-main-import-dependency.zip | Bin 0 -> 229 bytes .../jvm-test-dependency.zip | Bin 0 -> 212 bytes .../jvm-test-import-dependency.zip | Bin 0 -> 229 bytes .../main-dependency.zip | Bin 0 -> 203 bytes .../main-import-dependency.zip | Bin 0 -> 221 bytes .../release-dependency.zip | Bin 0 -> 212 bytes .../release-import-dependency.zip | Bin 0 -> 228 bytes .../test-debug-dependency.zip | Bin 0 -> 217 bytes .../test-debug-import-dependency.zip | Bin 0 -> 234 bytes .../test-dependency.zip | Bin 0 -> 203 bytes .../test-fixtures-debug-dependency.zip | Bin 0 -> 239 bytes .../test-fixtures-debug-import-dependency.zip | Bin 0 -> 255 bytes .../test-fixtures-dependency.zip | Bin 0 -> 226 bytes .../test-fixtures-import-dependency.zip | Bin 0 -> 242 bytes .../test-fixtures-release-dependency.zip | Bin 0 -> 244 bytes ...est-fixtures-release-import-dependency.zip | Bin 0 -> 259 bytes .../test-import-dependency.zip | Bin 0 -> 220 bytes .../test-release-dependency.zip | Bin 0 -> 222 bytes .../test-release-import-dependency.zip | Bin 0 -> 238 bytes .../android-debug-dependency.zip | Bin 0 -> 225 bytes .../android-debug-import-dependency.zip | Bin 0 -> 242 bytes ...oid-instrumented-test-debug-dependency.zip | Bin 0 -> 271 bytes ...trumented-test-debug-import-dependency.zip | Bin 0 -> 287 bytes .../android-instrumented-test-dependency.zip | Bin 0 -> 257 bytes ...id-instrumented-test-import-dependency.zip | Bin 0 -> 273 bytes .../android-main-dependency.zip | Bin 0 -> 223 bytes .../android-main-import-dependency.zip | Bin 0 -> 240 bytes .../android-release-dependency.zip | Bin 0 -> 231 bytes .../android-release-import-dependency.zip | Bin 0 -> 247 bytes .../android-test-debug-dependency.zip | Bin 0 -> 237 bytes .../android-test-debug-import-dependency.zip | Bin 0 -> 254 bytes .../android-test-dependency.zip | Bin 0 -> 224 bytes .../android-test-import-dependency.zip | Bin 0 -> 240 bytes .../android-unit-test-debug-dependency.zip | Bin 0 -> 251 bytes ...roid-unit-test-debug-import-dependency.zip | Bin 0 -> 267 bytes .../android-unit-test-dependency.zip | Bin 0 -> 234 bytes .../android-unit-test-import-dependency.zip | Bin 0 -> 250 bytes .../android-unit-test-release-dependency.zip | Bin 0 -> 255 bytes ...id-unit-test-release-import-dependency.zip | Bin 0 -> 272 bytes .../build.gradle.kts | 115 +++++ .../common-main-dependency.zip | Bin 0 -> 220 bytes .../common-main-import-dependency.zip | Bin 0 -> 237 bytes .../common-test-dependency.zip | Bin 0 -> 220 bytes .../common-test-import-dependency.zip | Bin 0 -> 236 bytes .../debug-dependency.zip | Bin 0 -> 206 bytes .../debug-import-dependency.zip | Bin 0 -> 223 bytes .../jvm-main-dependency.zip | Bin 0 -> 212 bytes .../jvm-main-import-dependency.zip | Bin 0 -> 229 bytes .../jvm-test-dependency.zip | Bin 0 -> 212 bytes .../jvm-test-import-dependency.zip | Bin 0 -> 229 bytes .../main-dependency.zip | Bin 0 -> 203 bytes .../main-import-dependency.zip | Bin 0 -> 221 bytes .../release-dependency.zip | Bin 0 -> 212 bytes .../release-import-dependency.zip | Bin 0 -> 228 bytes .../test-debug-dependency.zip | Bin 0 -> 217 bytes .../test-debug-import-dependency.zip | Bin 0 -> 234 bytes .../test-dependency.zip | Bin 0 -> 203 bytes .../test-fixtures-debug-dependency.zip | Bin 0 -> 239 bytes .../test-fixtures-debug-import-dependency.zip | Bin 0 -> 255 bytes .../test-fixtures-dependency.zip | Bin 0 -> 226 bytes .../test-fixtures-import-dependency.zip | Bin 0 -> 242 bytes .../test-fixtures-release-dependency.zip | Bin 0 -> 244 bytes ...est-fixtures-release-import-dependency.zip | Bin 0 -> 259 bytes .../test-import-dependency.zip | Bin 0 -> 220 bytes .../test-release-dependency.zip | Bin 0 -> 222 bytes .../test-release-import-dependency.zip | Bin 0 -> 238 bytes .../build.gradle.kts | 25 - .../common-main-import-dependency.zip | Bin 237 -> 0 bytes .../src/commonMain/proto/some.proto | 8 - .../build.gradle.kts | 74 --- .../common-test-import-dependency.zip | Bin 236 -> 0 bytes .../src/commonMain/proto/some.proto | 5 - .../src/commonTest/proto/other.proto | 8 - .../build.gradle.kts | 37 -- 207 files changed, 1203 insertions(+), 812 deletions(-) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/{dependency_proto_import_flavors => dependency_configurations_and_tasks}/build.gradle.kts (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/{dependency_proto_import => dependency_configurations_and_tasks}/dependency-protos.zip (100%) create mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/build.gradle.kts rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/{dependency_proto_import_flavors => dependency_configurations_and_tasks_no_kgp}/dependency-protos.zip (100%) delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/build.gradle.kts delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/main-dependency.zip delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/src/main/proto/some.proto delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/build.gradle.kts delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/src/main/proto/some.proto delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/build.gradle.kts delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/dependency-protos.zip delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/src/main/proto/some.proto delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/arm-dependency.zip delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/build.gradle.kts delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/src/main/proto/some.proto delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/build.gradle.kts delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/debug-import-dependency.zip delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/debug/proto/debug.proto delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/main/proto/main.proto delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/release/proto/release.proto rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_kmp_dsl => dependency_imports_from_provider_source_set}/build.gradle.kts (60%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{imports_from_provider_source_set => dependency_imports_from_provider_source_set}/common-2-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{imports_from_provider_source_set => dependency_imports_from_provider_source_set}/src/common2/proto/common2.proto (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{imports_from_provider_source_set => dependency_imports_from_provider_source_set}/src/commonMain/proto/some.proto (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/apple-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/apple-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/apple-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/apple-test-import-dependency.zip (100%) create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/build.gradle.kts rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/common-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/common-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/common-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/common-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/js-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/js-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/js-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/js-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/jvm-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/jvm-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/jvm-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/jvm-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/macos-arm64-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/macos-arm64-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/macos-arm64-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/macos-arm64-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/macos-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/macos-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/macos-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/macos-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/native-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/native-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/native-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/native-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/web-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/web-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/web-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/{dependency_proto_per_source_set_hierarchy => dependency_kmp_hierarchy}/web-test-import-dependency.zip (100%) create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/android-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/android-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-device-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-device-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-device-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-device-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/build.gradle.kts create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/main-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/main-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-debug-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-debug-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-release-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-import-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-release-dependency.zip create mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-release-import-dependency.zip delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/build.gradle.kts delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/common-main-import-dependency.zip delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/src/commonMain/proto/some.proto delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/build.gradle.kts delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/common-test-import-dependency.zip delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonMain/proto/some.proto delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonTest/proto/other.proto delete mode 100644 gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/build.gradle.kts diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt index 5ca1ac686..5ecbef328 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcAndroidProjectTest.kt @@ -244,51 +244,38 @@ class GrpcAndroidProjectTest : GrpcBaseTest() { } private fun GrpcTestEnv.dependencyProtoPerSourceSetAllVariantsBody(includeTestRelease: Boolean = true) { - // Each of the 11 Android Default source sets declares its OWN - // Proto zip with Dep.proto message dependency.Dep - // ProtoImport zip with ImportDep.proto message dependency.ImportDep - // - // Verifies (mirrors the structure of `All Default Source Sets`): - // - Each leaf variant's bufGenerate task produces code for its own Dep.proto - // plus every variant-extendsFrom ancestor's Dep.proto (variant wiring uses - // extendsFrom — codegen propagates as codegen). - // - Each leaf variant's import workspace contains its own ImportDep.proto, - // every extendsFrom ancestor's ImportDep.proto, and every importsFrom - // source set's ImportDep.proto (test variants importsFrom the corresponding - // main variant; testFixtures importsFrom main). - - assertZipSourceSet( + runAndCheckZipFiles( SSetsAndroid.Default.debug, - extendedProto = listOf(SSetsAndroid.Default.main), + extended = listOf(SSetsAndroid.Default.main), ) - assertZipSourceSet( + runAndCheckZipFiles( SSetsAndroid.Default.release, - extendedProto = listOf(SSetsAndroid.Default.main), + extended = listOf(SSetsAndroid.Default.main), ) - assertZipSourceSet( + runAndCheckZipFiles( SSetsAndroid.Default.testDebug, SSetsAndroid.Default.debug, SSetsAndroid.Default.main, - extendedProto = listOf( + extended = listOf( SSetsAndroid.Default.test, SSetsAndroid.Default.testFixtures, SSetsAndroid.Default.testFixturesDebug, ), ) if (includeTestRelease) { - assertZipSourceSet( + runAndCheckZipFiles( SSetsAndroid.Default.testRelease, SSetsAndroid.Default.release, SSetsAndroid.Default.main, - extendedProto = listOf( + extended = listOf( SSetsAndroid.Default.test, SSetsAndroid.Default.testFixtures, SSetsAndroid.Default.testFixturesRelease, ), ) } - assertZipSourceSet( + runAndCheckZipFiles( SSetsAndroid.Default.androidTestDebug, SSetsAndroid.Default.debug, SSetsAndroid.Default.main, - extendedProto = listOf( + extended = listOf( SSetsAndroid.Default.androidTest, SSetsAndroid.Default.testFixtures, SSetsAndroid.Default.testFixturesDebug, @@ -297,192 +284,13 @@ class GrpcAndroidProjectTest : GrpcBaseTest() { } @TestFactory - fun `Dependency Proto Import`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { - fun runForSetWithImport(sourceSet: SSets, vararg extraTasks: SSetsAndroid) { - val result = runForSet(sourceSet) - - result.assertTaskExecuted( - sourceSet = sourceSet, - protoFiles = listOf( - Path("some.proto"), - ), - importProtoFiles = listOf( - Path("dependency.proto"), - ), - generatedFiles = listOf( - Path("Some.kt"), - Path("Some.ext.kt"), - Path(RPC_INTERNAL, "Some.kt"), - ), - notExecuted = SSetsAndroid.Default.entries - extraTasks.toSet() - sourceSet, - ) - } - - runForSetWithImport(SSetsAndroid.Default.debug) - runForSetWithImport(SSetsAndroid.Default.release) - } - - @TestFactory - fun `Dependency Proto Import Flavors`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { + fun `Dependency Configurations And Tasks`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { runGradle("test_tasks", "--no-configuration-cache") } @TestFactory - fun `Dependency Proto Import Flavors Codegen`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { - // Verify proto imports work across all flavor variants - // protoImport declared on main → inherited by all variants - - fun runForVariant(sourceSet: SSets) { - val result = runForSet(sourceSet) - - result.assertTaskExecuted( - sourceSet = sourceSet, - protoFiles = listOf( - Path("some.proto"), - ), - importProtoFiles = listOf( - Path("dependency.proto"), - ), - generatedFiles = listOf( - Path("Some.kt"), - Path("Some.ext.kt"), - Path(RPC_INTERNAL, "Some.kt"), - ), - notExecuted = emptyList(), - ) - } - - // arm variants - runForVariant(SSetsAndroid.Flavors.armDebug) - runForVariant(SSetsAndroid.Flavors.armRelease) - - // x86 variants - runForVariant(SSetsAndroid.Flavors.x86Debug) - runForVariant(SSetsAndroid.Flavors.x86Release) - } - - @TestFactory - fun `Dependency Proto Codegen`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { - fun runForVariant(sourceSet: SSets) { - val result = runForSet(sourceSet) - - result.assertTaskExecuted( - sourceSet = sourceSet, - protoFiles = listOf( - Path("some.proto"), - Path("mainDep.proto"), - ), - importProtoFiles = emptyList(), - generatedFiles = listOf( - Path("Some.kt"), - Path("Some.ext.kt"), - Path(RPC_INTERNAL, "Some.kt"), - Path("dependency", "MainDep.kt"), - Path("dependency", "MainDep.ext.kt"), - Path("dependency", RPC_INTERNAL, "MainDep.kt"), - ), - notExecuted = SSetsAndroid.Default.entries - sourceSet, - ) - } - - runForVariant(SSetsAndroid.Default.debug) - runForVariant(SSetsAndroid.Default.release) - } - - @TestFactory - fun `Dependency Proto Per Variant Import`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { - // protoImport scoped to debug only — release must NOT see debugImportDep.proto. - - val debugRun = runForSet(SSetsAndroid.Default.debug) - debugRun.assertTaskExecuted( - sourceSet = SSetsAndroid.Default.debug, - protoFiles = listOf( - Path("main.proto"), - Path("debug.proto"), - ), - importProtoFiles = listOf( - Path("debugImportDep.proto"), - ), - generatedFiles = listOf( - Path("Main.kt"), - Path("Main.ext.kt"), - Path(RPC_INTERNAL, "Main.kt"), - Path("Debug.kt"), - Path("Debug.ext.kt"), - Path(RPC_INTERNAL, "Debug.kt"), - ), - notExecuted = SSetsAndroid.Default.entries - SSetsAndroid.Default.debug, - ) - - val releaseRun = runForSet(SSetsAndroid.Default.release) - releaseRun.assertTaskExecuted( - sourceSet = SSetsAndroid.Default.release, - protoFiles = listOf( - Path("main.proto"), - Path("release.proto"), - ), - importProtoFiles = emptyList(), - generatedFiles = listOf( - Path("Main.kt"), - Path("Main.ext.kt"), - Path(RPC_INTERNAL, "Main.kt"), - Path("Release.kt"), - Path("Release.ext.kt"), - Path(RPC_INTERNAL, "Release.kt"), - ), - notExecuted = SSetsAndroid.Default.entries - SSetsAndroid.Default.release, - ) - } - - @TestFactory - fun `Dependency Proto Per Flavor Codegen`() = runGrpcTest(versionsPredicate = { !isAgp9 }) { - // armProto declared on the arm flavor — must reach armDebug/armRelease via - // extendsFrom but NOT x86Debug/x86Release. - - fun runForArm(sourceSet: SSets) { - val result = runForSet(sourceSet) - - result.assertTaskExecuted( - sourceSet = sourceSet, - protoFiles = listOf( - Path("some.proto"), - Path("armDep.proto"), - ), - importProtoFiles = emptyList(), - generatedFiles = listOf( - Path("Some.kt"), - Path("Some.ext.kt"), - Path(RPC_INTERNAL, "Some.kt"), - Path("dependency", "ArmDep.kt"), - Path("dependency", "ArmDep.ext.kt"), - Path("dependency", RPC_INTERNAL, "ArmDep.kt"), - ), - notExecuted = emptyList(), - ) - } - - fun runForX86(sourceSet: SSets) { - val result = runForSet(sourceSet) - - result.assertTaskExecuted( - sourceSet = sourceSet, - protoFiles = listOf( - Path("some.proto"), - ), - importProtoFiles = emptyList(), - generatedFiles = listOf( - Path("Some.kt"), - Path("Some.ext.kt"), - Path(RPC_INTERNAL, "Some.kt"), - ), - notExecuted = emptyList(), - ) - } - - runForArm(SSetsAndroid.Flavors.armDebug) - runForArm(SSetsAndroid.Flavors.armRelease) - runForX86(SSetsAndroid.Flavors.x86Debug) - runForX86(SSetsAndroid.Flavors.x86Release) + fun `Dependency Configurations And Tasks No KGP`() = runGrpcTest(versionsPredicate = { isAgp9 }) { + runGradle("test_tasks", "--no-configuration-cache") } @TestFactory diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt index f9bb99607..937e50294 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt @@ -9,6 +9,9 @@ import kotlinx.rpc.protoc.PlatformOption import org.gradle.testkit.runner.TaskOutcome import org.junit.jupiter.api.TestFactory import org.junit.jupiter.api.TestInstance +import java.nio.file.Files +import java.util.zip.ZipEntry +import java.util.zip.ZipOutputStream import kotlin.io.path.Path import kotlin.io.path.appendText import kotlin.test.assertEquals @@ -40,6 +43,8 @@ class GrpcJvmProjectTest : GrpcBaseTest() { result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonMain) result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, extractProtoCommonMain) + result.assertOutcome(TaskOutcome.NO_SOURCE, extractProtoImportCommonMain) // dependency.proto should be in the proto dir (codegen), not import dir assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto"), Path("dependency.proto")) @@ -48,13 +53,10 @@ class GrpcJvmProjectTest : GrpcBaseTest() { assertSourceCodeGenerated( mainSourceSet, Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), - ) - - // dependency.proto is in the "dependency" package, generated under a subdirectory - assertSourceCodeGenerated( - mainSourceSet, Path("dependency", "Dependency.kt"), + Path("dependency", "Dependency.ext.kt"), Path("dependency", RPC_INTERNAL, "Dependency.kt"), ) @@ -69,6 +71,8 @@ class GrpcJvmProjectTest : GrpcBaseTest() { result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonMain) result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonMain) + result.assertOutcome(TaskOutcome.NO_SOURCE, extractProtoCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, extractProtoImportCommonMain) // dependency.proto should be in the import dir (import-only), not proto dir assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto")) @@ -78,6 +82,7 @@ class GrpcJvmProjectTest : GrpcBaseTest() { assertSourceCodeGenerated( mainSourceSet, Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ) @@ -90,6 +95,12 @@ class GrpcJvmProjectTest : GrpcBaseTest() { result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonTest) result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFiles) + result.assertOutcome(TaskOutcome.NO_SOURCE, processCommonTestProtoFilesImports) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonTest) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonTest) + result.assertOutcome(TaskOutcome.SUCCESS, extractProtoCommonTest) + result.assertOutcome(TaskOutcome.NO_SOURCE, extractProtoImportCommonTest) + // testDep proto reaches the test source set as codegen assertWorkspaceProtoFilesCopied(testSourceSet, Path("some.proto"), Path("testDep.proto")) @@ -101,8 +112,10 @@ class GrpcJvmProjectTest : GrpcBaseTest() { assertSourceCodeGenerated( testSourceSet, Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), Path("dependency", "TestDep.kt"), + Path("dependency", "TestDep.ext.kt"), Path("dependency", RPC_INTERNAL, "TestDep.kt"), ) @@ -116,6 +129,11 @@ class GrpcJvmProjectTest : GrpcBaseTest() { result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonTest) result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFiles) result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFilesImports) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonTest) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonTest) + result.assertOutcome(TaskOutcome.NO_SOURCE, extractProtoCommonTest) + result.assertOutcome(TaskOutcome.SUCCESS, extractProtoImportCommonTest) + // testImportDep proto reaches test as import only assertWorkspaceProtoFilesCopied(testSourceSet, Path("some.proto")) @@ -129,6 +147,7 @@ class GrpcJvmProjectTest : GrpcBaseTest() { assertSourceCodeGenerated( testSourceSet, Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ) @@ -137,30 +156,27 @@ class GrpcJvmProjectTest : GrpcBaseTest() { @TestFactory fun `Dependency Proto Extract Tasks Are Cached Properly`() = runGrpcTest { - val extractProtoMain = "extractProtoMain" - val extractProtoImportMain = "extractProtoImportMain" - - val firstRun = runGradle(extractProtoMain, extractProtoImportMain) - assertEquals(TaskOutcome.SUCCESS, firstRun.protoTaskOutcome(extractProtoMain)) - assertEquals(TaskOutcome.SUCCESS, firstRun.protoTaskOutcome(extractProtoImportMain)) + val firstRun = runGradle(extractProtoCommonMain, extractProtoImportCommonMain) + assertEquals(TaskOutcome.SUCCESS, firstRun.protoTaskOutcome(extractProtoCommonMain)) + assertEquals(TaskOutcome.SUCCESS, firstRun.protoTaskOutcome(extractProtoImportCommonMain)) - val secondRun = runGradle(extractProtoMain, extractProtoImportMain) - assertEquals(TaskOutcome.UP_TO_DATE, secondRun.protoTaskOutcome(extractProtoMain)) - assertEquals(TaskOutcome.UP_TO_DATE, secondRun.protoTaskOutcome(extractProtoImportMain)) + val secondRun = runGradle(extractProtoCommonMain, extractProtoImportCommonMain) + assertEquals(TaskOutcome.UP_TO_DATE, secondRun.protoTaskOutcome(extractProtoCommonMain)) + assertEquals(TaskOutcome.UP_TO_DATE, secondRun.protoTaskOutcome(extractProtoImportCommonMain)) cleanProtoBuildDir() // Sync isn't a cacheable task, so a clean output dir means re-execute → SUCCESS, // not FROM_CACHE. UP_TO_DATE detection relies on the persisted output state. - val thirdRun = runGradle(extractProtoMain, extractProtoImportMain) - assertEquals(TaskOutcome.SUCCESS, thirdRun.protoTaskOutcome(extractProtoMain)) - assertEquals(TaskOutcome.SUCCESS, thirdRun.protoTaskOutcome(extractProtoImportMain)) + val thirdRun = runGradle(extractProtoCommonMain, extractProtoImportCommonMain) + assertEquals(TaskOutcome.SUCCESS, thirdRun.protoTaskOutcome(extractProtoCommonMain)) + assertEquals(TaskOutcome.SUCCESS, thirdRun.protoTaskOutcome(extractProtoImportCommonMain)) // rewrite the codegen zip with different content — must invalidate extractProtoMain // but NOT extractProtoImportMain, which reads a separate zip. val codegenZip = projectDir.resolve("main-dependency.zip") - java.util.zip.ZipOutputStream(java.nio.file.Files.newOutputStream(codegenZip)).use { zos -> - zos.putNextEntry(java.util.zip.ZipEntry("mainDep.proto")) + ZipOutputStream(Files.newOutputStream(codegenZip)).use { zos -> + zos.putNextEntry(ZipEntry("mainDep.proto")) zos.write( """ syntax = "proto3"; @@ -176,9 +192,9 @@ class GrpcJvmProjectTest : GrpcBaseTest() { zos.closeEntry() } - val fourthRun = runGradle(extractProtoMain, extractProtoImportMain) - assertEquals(TaskOutcome.SUCCESS, fourthRun.protoTaskOutcome(extractProtoMain)) - assertEquals(TaskOutcome.UP_TO_DATE, fourthRun.protoTaskOutcome(extractProtoImportMain)) + val fourthRun = runGradle(extractProtoCommonMain, extractProtoImportCommonMain) + assertEquals(TaskOutcome.SUCCESS, fourthRun.protoTaskOutcome(extractProtoCommonMain)) + assertEquals(TaskOutcome.UP_TO_DATE, fourthRun.protoTaskOutcome(extractProtoImportCommonMain)) } @TestFactory diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt index be9a5feb7..bdc06be7e 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt @@ -5,7 +5,6 @@ package kotlinx.rpc import kotlinx.rpc.base.GrpcBaseTest -import kotlinx.rpc.base.KtVersion import kotlinx.rpc.base.isAgp9 import kotlinx.rpc.base.versionsWhereAndroidKmpLibExist import kotlinx.rpc.protoc.PlatformOption @@ -39,6 +38,10 @@ class GrpcKmpProjectTest : GrpcBaseTest() { result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonMain) result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonMain) + result.assertOutcome(TaskOutcome.NO_SOURCE, extractProtoCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, extractProtoImportCommonMain) assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto")) assertWorkspaceImportProtoFilesCopied(mainSourceSet, Path("dependency.proto")) @@ -46,6 +49,7 @@ class GrpcKmpProjectTest : GrpcBaseTest() { assertSourceCodeGenerated( mainSourceSet, Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ) @@ -60,6 +64,8 @@ class GrpcKmpProjectTest : GrpcBaseTest() { result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonMain) result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonMain) + result.assertOutcome(TaskOutcome.NO_SOURCE, extractProtoCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, extractProtoImportCommonMain) assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto")) assertWorkspaceImportProtoFilesCopied(mainSourceSet, Path("dependency.proto")) @@ -67,6 +73,7 @@ class GrpcKmpProjectTest : GrpcBaseTest() { assertSourceCodeGenerated( mainSourceSet, Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ) @@ -79,6 +86,10 @@ class GrpcKmpProjectTest : GrpcBaseTest() { result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonMain) result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, extractProtoCommonMain) + result.assertOutcome(TaskOutcome.NO_SOURCE, extractProtoImportCommonMain) // dependency proto reaches commonMain as codegen assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto"), Path("dependency.proto")) @@ -102,6 +113,10 @@ class GrpcKmpProjectTest : GrpcBaseTest() { result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonMain) result.assertOutcome(TaskOutcome.SUCCESS, processCommonMainProtoFiles) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufYamlCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, generateBufGenYamlCommonMain) + result.assertOutcome(TaskOutcome.SUCCESS, extractProtoCommonMain) + result.assertOutcome(TaskOutcome.NO_SOURCE, extractProtoImportCommonMain) assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto"), Path("commonMainDep.proto")) @@ -119,59 +134,7 @@ class GrpcKmpProjectTest : GrpcBaseTest() { } @TestFactory - fun `Dependency Proto Per Source Set KMP DSL`() = runGrpcTest { - val result = runGradle(bufGenerateCommonTest) - - result.assertOutcome(TaskOutcome.SUCCESS, bufGenerateCommonTest) - result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFiles) - result.assertOutcome(TaskOutcome.SUCCESS, processCommonTestProtoFilesImports) - - // protoImport on commonTest only — not visible to commonMain - // commonTest extends commonMain, so its imports include the zip's commonTestImportDep.proto - // plus commonMain's protos (some.proto) propagated via the source set hierarchy. - assertWorkspaceImportProtoFilesCopied(testSourceSet, Path("commonTestImportDep.proto"), Path("some.proto")) - assertWorkspaceImportProtoFilesCopied(mainSourceSet) - - assertWorkspaceProtoFilesCopied(testSourceSet, Path("other.proto")) - // commonMain has its own some.proto and inherits nothing extra - assertWorkspaceProtoFilesCopied(mainSourceSet, Path("some.proto")) - } - - @TestFactory - fun `Dependency Proto KMP Hierarchy Propagation`() = runGrpcTest { - // protoImport declared on commonMain must propagate to platform leaves - // (jvmMain, macosArm64Main) via extendsFrom — the explicit transitivity claim. - // Platform leaves also inherit commonMain's own protos (some.proto) as imports - // through the source set hierarchy. - - runGradle("processJvmMainProtoFilesImports") - assertWorkspaceImportProtoFilesCopied( - SSetsKmp.Default.jvmMain, - Path("commonMainImportDep.proto"), - Path("some.proto"), - ) - - runGradle("processMacosArm64MainProtoFilesImports") - assertWorkspaceImportProtoFilesCopied( - SSetsKmp.Default.macosArm64Main, - Path("commonMainImportDep.proto"), - Path("some.proto"), - ) - - // Source of truth — commonMain itself only sees the zip's commonMainImportDep.proto; - // its own some.proto stays in the proto dir, not the import dir. - runGradle(processCommonMainProtoFiles) - runGradle("processCommonMainProtoFilesImports") - assertWorkspaceImportProtoFilesCopied(mainSourceSet, Path("commonMainImportDep.proto")) - } - - @TestFactory - fun `Imports From Provider Source Set`() = runGrpcTest { - // Exercises ProtoSourceSet.importsFrom(Provider) which is the - // only public path that calls extendsFromLazy. Asserts both branches: - // - the imported source set's local protos appear as imports (common2.proto) - // - the imported source set's protoImport configuration is also pulled in - // transitively via extendsFromLazy (common2ImportDep.proto from the zip) + fun `Dependency Imports From Provider Source Set`() = runGrpcTest { runGradle(processCommonMainProtoFiles) runGradle("processCommonMainProtoFilesImports") @@ -278,66 +241,70 @@ class GrpcKmpProjectTest : GrpcBaseTest() { } @TestFactory - fun `KMP Hierarchy`() = runGrpcTest { - runAndCheckFiles( + fun `Dependency KMP Hierarchy`() = runGrpcTest { + runAndCheckZipFiles( SSetsKmp.Default.commonMain, ) - - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.commonTest, SSetsKmp.Default.commonMain, ) - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.nativeMain, SSetsKmp.Default.commonMain, ) - - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.nativeTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.commonTest, ) - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.jvmMain, SSetsKmp.Default.commonMain, ) - - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.jvmTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.jvmMain, SSetsKmp.Default.commonTest, ) - runAndCheckFiles( - SSetsKmp.Default.jsMain, + runAndCheckZipFiles( + SSetsKmp.Default.webMain, + SSetsKmp.Default.commonMain, + ) + runAndCheckZipFiles( + SSetsKmp.Default.webTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.webMain, + SSetsKmp.Default.commonTest, ) - runAndCheckFiles( + runAndCheckZipFiles( + SSetsKmp.Default.jsMain, + SSetsKmp.Default.commonMain, SSetsKmp.Default.webMain, + ) + runAndCheckZipFiles( SSetsKmp.Default.jsTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.webMain, SSetsKmp.Default.jsMain, - SSetsKmp.Default.commonTest, SSetsKmp.Default.webTest + SSetsKmp.Default.commonTest, SSetsKmp.Default.webTest, ) - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.appleMain, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, ) - - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.appleTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.appleMain, - SSetsKmp.Default.commonTest, SSetsKmp.Default.nativeTest + SSetsKmp.Default.commonTest, SSetsKmp.Default.nativeTest, ) - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.macosMain, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.appleMain, ) - - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.macosTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, @@ -345,18 +312,17 @@ class GrpcKmpProjectTest : GrpcBaseTest() { SSetsKmp.Default.macosMain, SSetsKmp.Default.commonTest, SSetsKmp.Default.nativeTest, - SSetsKmp.Default.appleTest + SSetsKmp.Default.appleTest, ) - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.macosArm64Main, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.appleMain, SSetsKmp.Default.macosMain, ) - - runAndCheckFiles( + runAndCheckZipFiles( SSetsKmp.Default.macosArm64Test, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, @@ -371,75 +337,347 @@ class GrpcKmpProjectTest : GrpcBaseTest() { } @TestFactory - fun `Dependency Proto Per Source Set Hierarchy`() = runGrpcTest( - // webMain/webTest source sets only exist on Kotlin 2.2.20+; the build script - // declares Proto/ProtoImport configs for them, which only resolve when - // the corresponding source sets exist. - versionsPredicate = { kotlinSemver >= KtVersion.v2_2_20 }, + fun `Dependency KMP Hierarchy Android KMP Library`() = runGrpcTest { + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.commonTest, + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.jvmMain, + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.jvmTest, + SSetsKmp.AndroidKmpLib.commonMain, SSetsKmp.AndroidKmpLib.jvmMain, + SSetsKmp.AndroidKmpLib.commonTest, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.androidMain, + SSetsKmp.AndroidKmpLib.commonMain, + ) + } + + @TestFactory + fun `Dependency KMP Hierarchy Android KMP Library With Test Tasks`() = runGrpcTest( + versionsPredicate = { versionsWhereAndroidKmpLibExist() }, + ) { + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.commonTest, + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.jvmMain, + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.jvmTest, + SSetsKmp.AndroidKmpLib.commonMain, SSetsKmp.AndroidKmpLib.jvmMain, + SSetsKmp.AndroidKmpLib.commonTest, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.androidMain, + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.androidHostTest, + SSetsKmp.AndroidKmpLib.commonMain, SSetsKmp.AndroidKmpLib.commonTest, + SSetsKmp.AndroidKmpLib.androidMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.androidDeviceTest, + SSetsKmp.AndroidKmpLib.commonMain, SSetsKmp.AndroidKmpLib.commonTest, + SSetsKmp.AndroidKmpLib.androidMain, + ) + } + + @TestFactory + fun `Dependency KMP Hierarchy Android KMP Library With Test Tasks Not Wired`() = runGrpcTest( + versionsPredicate = { versionsWhereAndroidKmpLibExist() }, + ) { + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.commonTest, + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.jvmMain, + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.jvmTest, + SSetsKmp.AndroidKmpLib.commonMain, SSetsKmp.AndroidKmpLib.jvmMain, + SSetsKmp.AndroidKmpLib.commonTest, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.androidMain, + SSetsKmp.AndroidKmpLib.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.androidHostTest, + SSetsKmp.AndroidKmpLib.commonMain, SSetsKmp.AndroidKmpLib.commonTest, + SSetsKmp.AndroidKmpLib.androidMain, + ) + + runAndCheckZipFiles( + SSetsKmp.AndroidKmpLib.androidDeviceTest, + SSetsKmp.AndroidKmpLib.commonMain, SSetsKmp.AndroidKmpLib.androidMain, + ) + } + + @TestFactory + fun `Dependency KMP Hierarchy Legacy Android`() = runGrpcTest( + versionsPredicate = { !isAgp9 }, + ) { + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.commonTest, + SSetsKmp.LegacyAndroid.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.jvmMain, + SSetsKmp.LegacyAndroid.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.jvmTest, + SSetsKmp.LegacyAndroid.commonMain, SSetsKmp.LegacyAndroid.jvmMain, + SSetsKmp.LegacyAndroid.commonTest, + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidDebug, + SSetsKmp.LegacyAndroid.commonMain, + extended = listOf( + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, + SSetsKmp.LegacyAndroid.debug, + ), + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidRelease, + SSetsKmp.LegacyAndroid.commonMain, + extended = listOf( + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, + SSetsKmp.LegacyAndroid.release, + ) + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidUnitTestDebug, + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, SSetsKmp.LegacyAndroid.commonMain, + SSetsKmp.LegacyAndroid.debug, SSetsKmp.LegacyAndroid.androidDebug, + SSetsKmp.LegacyAndroid.commonTest, + extended = listOf( + SSetsKmp.LegacyAndroid.test, + SSetsKmp.LegacyAndroid.androidUnitTest, + SSetsKmp.LegacyAndroid.testDebug, + SSetsKmp.LegacyAndroid.testFixtures, + SSetsKmp.LegacyAndroid.testFixturesDebug, + ) + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidUnitTestRelease, + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, SSetsKmp.LegacyAndroid.commonMain, + SSetsKmp.LegacyAndroid.release, SSetsKmp.LegacyAndroid.androidRelease, + SSetsKmp.LegacyAndroid.commonTest, + extended = listOf( + SSetsKmp.LegacyAndroid.test, + SSetsKmp.LegacyAndroid.androidUnitTest, + SSetsKmp.LegacyAndroid.testRelease, + SSetsKmp.LegacyAndroid.testFixtures, + SSetsKmp.LegacyAndroid.testFixturesRelease, + ) + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidInstrumentedTestDebug, + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, SSetsKmp.LegacyAndroid.commonMain, + SSetsKmp.LegacyAndroid.debug, SSetsKmp.LegacyAndroid.androidDebug, + SSetsKmp.LegacyAndroid.commonTest, + extended = listOf( + SSetsKmp.LegacyAndroid.androidTest, + SSetsKmp.LegacyAndroid.androidInstrumentedTest, + SSetsKmp.LegacyAndroid.androidTestDebug, + SSetsKmp.LegacyAndroid.testFixtures, + SSetsKmp.LegacyAndroid.testFixturesDebug, + ) + ) + } + + @TestFactory + fun `Dependency KMP Hierarchy Legacy Android Not Wired`() = runGrpcTest( + versionsPredicate = { !isAgp9 }, ) { - // Each of the 16 KMP source sets in the Default hierarchy declares its OWN - // Proto zip with Dep.proto message dependency.Dep - // ProtoImport zip with ImportDep.proto message dependency.ImportDep - // - // Verifies (mirrors the structure of the `KMP Hierarchy` test method): - // - Each source set's bufGenerate task processes ONLY its own Dep.proto - // (KMP source-set hierarchy is wired via importsAllFrom, NOT extendsFrom — - // parent's Proto zip stays in parent only). - // - Each source set's import workspace contains its own ImportDep.proto - // plus every ancestor's ImportDep.proto (importsAllFrom propagates - // parent's protoImport configuration to child's import workspace). - // - For test source sets, the corresponding main set's ImportDep.proto - // also propagates (importsAllFrom corresponding-main mechanism). - - assertZipSourceSet(SSetsKmp.Default.commonMain) - assertZipSourceSet(SSetsKmp.Default.commonTest, SSetsKmp.Default.commonMain) - - assertZipSourceSet(SSetsKmp.Default.nativeMain, SSetsKmp.Default.commonMain) - assertZipSourceSet( + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.commonTest, + SSetsKmp.LegacyAndroid.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.jvmMain, + SSetsKmp.LegacyAndroid.commonMain, + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.jvmTest, + SSetsKmp.LegacyAndroid.commonMain, SSetsKmp.LegacyAndroid.jvmMain, + SSetsKmp.LegacyAndroid.commonTest, + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidDebug, + SSetsKmp.LegacyAndroid.commonMain, + extended = listOf( + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, + SSetsKmp.LegacyAndroid.debug, + ), + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidRelease, + SSetsKmp.LegacyAndroid.commonMain, + extended = listOf( + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, + SSetsKmp.LegacyAndroid.release, + ) + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidUnitTestDebug, + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, SSetsKmp.LegacyAndroid.commonMain, + SSetsKmp.LegacyAndroid.debug, SSetsKmp.LegacyAndroid.androidDebug, + SSetsKmp.LegacyAndroid.commonTest, + extended = listOf( + SSetsKmp.LegacyAndroid.test, + SSetsKmp.LegacyAndroid.androidUnitTest, + SSetsKmp.LegacyAndroid.testDebug, + SSetsKmp.LegacyAndroid.testFixtures, + SSetsKmp.LegacyAndroid.testFixturesDebug, + ) + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidUnitTestRelease, + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, SSetsKmp.LegacyAndroid.commonMain, + SSetsKmp.LegacyAndroid.release, SSetsKmp.LegacyAndroid.androidRelease, + SSetsKmp.LegacyAndroid.commonTest, + extended = listOf( + SSetsKmp.LegacyAndroid.test, + SSetsKmp.LegacyAndroid.androidUnitTest, + SSetsKmp.LegacyAndroid.testRelease, + SSetsKmp.LegacyAndroid.testFixtures, + SSetsKmp.LegacyAndroid.testFixturesRelease, + ) + ) + + runAndCheckZipFiles( + SSetsKmp.LegacyAndroid.androidInstrumentedTestDebug, + SSetsKmp.LegacyAndroid.main, SSetsKmp.LegacyAndroid.androidMain, SSetsKmp.LegacyAndroid.commonMain, + SSetsKmp.LegacyAndroid.debug, SSetsKmp.LegacyAndroid.androidDebug, + extended = listOf( + SSetsKmp.LegacyAndroid.androidTest, + SSetsKmp.LegacyAndroid.androidInstrumentedTest, + SSetsKmp.LegacyAndroid.androidTestDebug, + SSetsKmp.LegacyAndroid.testFixtures, + SSetsKmp.LegacyAndroid.testFixturesDebug, + ) + ) + } + + + @TestFactory + fun `KMP Hierarchy`() = runGrpcTest { + runAndCheckFiles( + SSetsKmp.Default.commonMain, + ) + + runAndCheckFiles( + SSetsKmp.Default.commonTest, + SSetsKmp.Default.commonMain, + ) + + runAndCheckFiles( + SSetsKmp.Default.nativeMain, + SSetsKmp.Default.commonMain, + ) + + runAndCheckFiles( SSetsKmp.Default.nativeTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.commonTest, ) - assertZipSourceSet(SSetsKmp.Default.jvmMain, SSetsKmp.Default.commonMain) - assertZipSourceSet( - SSetsKmp.Default.jvmTest, - SSetsKmp.Default.commonMain, SSetsKmp.Default.jvmMain, - SSetsKmp.Default.commonTest, + runAndCheckFiles( + SSetsKmp.Default.jvmMain, + SSetsKmp.Default.commonMain, ) - assertZipSourceSet(SSetsKmp.Default.webMain, SSetsKmp.Default.commonMain) - assertZipSourceSet( - SSetsKmp.Default.webTest, - SSetsKmp.Default.commonMain, SSetsKmp.Default.webMain, + runAndCheckFiles( + SSetsKmp.Default.jvmTest, + SSetsKmp.Default.commonMain, SSetsKmp.Default.jvmMain, SSetsKmp.Default.commonTest, ) - assertZipSourceSet( + runAndCheckFiles( SSetsKmp.Default.jsMain, SSetsKmp.Default.commonMain, SSetsKmp.Default.webMain, ) - assertZipSourceSet( + + runAndCheckFiles( SSetsKmp.Default.jsTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.webMain, SSetsKmp.Default.jsMain, - SSetsKmp.Default.commonTest, SSetsKmp.Default.webTest, + SSetsKmp.Default.commonTest, SSetsKmp.Default.webTest ) - assertZipSourceSet( + runAndCheckFiles( SSetsKmp.Default.appleMain, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, ) - assertZipSourceSet( + + runAndCheckFiles( SSetsKmp.Default.appleTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.appleMain, - SSetsKmp.Default.commonTest, SSetsKmp.Default.nativeTest, + SSetsKmp.Default.commonTest, SSetsKmp.Default.nativeTest ) - assertZipSourceSet( + runAndCheckFiles( SSetsKmp.Default.macosMain, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.appleMain, ) - assertZipSourceSet( + + runAndCheckFiles( SSetsKmp.Default.macosTest, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, @@ -447,17 +685,18 @@ class GrpcKmpProjectTest : GrpcBaseTest() { SSetsKmp.Default.macosMain, SSetsKmp.Default.commonTest, SSetsKmp.Default.nativeTest, - SSetsKmp.Default.appleTest, + SSetsKmp.Default.appleTest ) - assertZipSourceSet( + runAndCheckFiles( SSetsKmp.Default.macosArm64Main, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, SSetsKmp.Default.appleMain, SSetsKmp.Default.macosMain, ) - assertZipSourceSet( + + runAndCheckFiles( SSetsKmp.Default.macosArm64Test, SSetsKmp.Default.commonMain, SSetsKmp.Default.nativeMain, diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt index aa1897ff8..db73eadcb 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/base/GrpcBaseTest.kt @@ -9,10 +9,12 @@ package kotlinx.rpc.base import kotlinx.rpc.base.GrpcBaseTest.PluginMode import kotlinx.rpc.base.GrpcBaseTest.SSets import org.gradle.testkit.runner.BuildResult +import org.gradle.testkit.runner.BuildTask import org.gradle.testkit.runner.TaskOutcome import org.intellij.lang.annotations.Language import org.junit.jupiter.api.DynamicTest import org.junit.jupiter.api.TestInstance +import java.io.BufferedReader import java.nio.file.Path import java.util.stream.Stream import kotlin.io.path.* @@ -94,6 +96,9 @@ abstract class GrpcBaseTest : BaseTest() { "File '${file}' in '$dir' does not exist" } } + + // todo check no tests are broken + assertSourceCodeNotGeneratedExcept(sourceSet, *files) } fun assertSourceCodeNotGenerated(sourceSet: SSets, vararg files: Path) { @@ -106,7 +111,7 @@ abstract class GrpcBaseTest : BaseTest() { } } - fun assertSourceCodeNotGeneratedExcept(sourceSet: SSets, vararg files: Path) { + private fun assertSourceCodeNotGeneratedExcept(sourceSet: SSets, vararg files: Path) { val dir = protoBuildDirGenerated.resolve(sourceSet.name).resolve(KOTLIN_MULTIPLATFORM_DIR) fun Path.doAssert() { @@ -314,7 +319,6 @@ abstract class GrpcBaseTest : BaseTest() { assertOutcome(TaskOutcome.SUCCESS, generateBufGenYaml(sourceSet)) assertSourceCodeGenerated(sourceSet, *generatedFiles.toTypedArray()) - assertSourceCodeNotGeneratedExcept(sourceSet, *generatedFiles.toTypedArray()) assertWorkspaceProtoFilesCopied(sourceSet, *protoFiles.toTypedArray()) assertWorkspaceImportProtoFilesCopied(sourceSet, *importProtoFiles.toTypedArray()) @@ -324,9 +328,23 @@ abstract class GrpcBaseTest : BaseTest() { assertProtoTaskNotExecuted(processProtoFilesImports(it)) assertProtoTaskNotExecuted(generateBufYaml(it)) assertProtoTaskNotExecuted(generateBufGenYaml(it)) + assertProtoTaskNotExecuted(extractProto(it)) + assertProtoTaskNotExecuted(extractProtoImport(it)) } } + fun GrpcTestEnv.runAndCheckZipFiles( + sourceSet: SSets, + vararg imports: SSets, + extended: List = emptyList(), + ) { + cleanProtoBuildDir() + + runForSet(sourceSet).assertZipSourceSet(sourceSet, *imports, extendedProto = extended) + + dryRunCompilation(sourceSet) + } + fun GrpcTestEnv.runAndCheckFiles( sourceSet: SSets, vararg imports: SSets, @@ -360,31 +378,17 @@ abstract class GrpcBaseTest : BaseTest() { } fun GrpcTestEnv.runForSet(sourceSet: SSets): BuildResult { + if (!sourceSet.applicable()) { + return SkipBuild + } + return runGradle(bufGenerate(sourceSet)) } - /** - * Asserts the workspace state for a source set whose proto files come ONLY from - * `Proto` / `ProtoImport` zip dependencies (one pair per source set). - * - * Each source set's zip contains a single proto file: - * -dependency.zip -> Dep.proto message Dep - * -import-dependency.zip -> ImportDep.proto message ImportDep - * - * Mirrors [assertSourceSet]'s shape but with the zip-based naming convention: - * - Codegen workspace = each `extendedProto` set + the source set itself, one - * `Dep.proto` each (extendsFrom propagates parent's `Proto` zip into - * child's codegen). - * - Import workspace = the codegen sets above PLUS each `imports` set, one - * `ImportDep.proto` each (extendsFrom propagates parent's `ProtoImport`, - * and importsAllFrom/importsFrom propagate the import config too). - * - Generated files = `dependency/Dep.kt`, `dependency/Dep.ext.kt`, - * `dependency/_rpc_internal/Dep.kt` for each codegen set. - */ - fun GrpcTestEnv.assertZipSourceSet( + private fun BuildResult.assertZipSourceSet( sourceSet: SSets, vararg imports: SSets, - extendedProto: List = emptyList(), + extendedProto: List, ) { if (!sourceSet.applicable()) { println( @@ -394,9 +398,7 @@ abstract class GrpcBaseTest : BaseTest() { return } - cleanProtoBuildDir() - - val applicableImports = imports + val importsSet = imports .onEach { if (!it.applicable()) { println( @@ -408,16 +410,15 @@ abstract class GrpcBaseTest : BaseTest() { .filter { it.applicable() } .toSet() - val codegenSets = extendedProto.filter { it.applicable() } + sourceSet - val importDepSets = codegenSets + applicableImports.toList() + val generateFor = extendedProto.filter { it.applicable() } + sourceSet + // because every sset has import dependency too for these tests + val fullImports = importsSet + generateFor - val result = runForSet(sourceSet) - - result.assertTaskExecuted( + assertTaskExecuted( sourceSet = sourceSet, - protoFiles = codegenSets.map { Path("${it.name}Dep.proto") }, - importProtoFiles = importDepSets.map { Path("${it.name}ImportDep.proto") }, - generatedFiles = codegenSets.flatMap { + protoFiles = generateFor.map { Path("${it.name}Dep.proto") }, + importProtoFiles = fullImports.map { Path("${it.name}ImportDep.proto") }, + generatedFiles = generateFor.flatMap { val pascal = it.capital listOf( Path("dependency", "${pascal}Dep.kt"), @@ -425,11 +426,11 @@ abstract class GrpcBaseTest : BaseTest() { Path("dependency", RPC_INTERNAL, "${pascal}Dep.kt"), ) }, - notExecuted = sourceSet.all().filter { it != sourceSet && it !in applicableImports }, + notExecuted = sourceSet.all().filter { it != sourceSet && it !in fullImports }, ) } - fun BuildResult.assertSourceSet( + private fun BuildResult.assertSourceSet( sourceSet: SSets, vararg imports: SSets, extendedProto: List, @@ -454,7 +455,7 @@ abstract class GrpcBaseTest : BaseTest() { .filter { it.applicable() } .toSet() - val generateFor = extendedProto + sourceSet + val generateFor = extendedProto.filter { it.applicable() } + sourceSet assertTaskExecuted( sourceSet = sourceSet, @@ -538,6 +539,10 @@ inputs: val generateBufYamlCommonTest = generateBufYaml(testSourceSet) val generateBufGenYamlCommonMain = generateBufGenYaml(mainSourceSet) val generateBufGenYamlCommonTest = generateBufGenYaml(testSourceSet) + val extractProtoCommonMain = extractProto(mainSourceSet) + val extractProtoCommonTest = extractProto(testSourceSet) + val extractProtoImportCommonMain = extractProtoImport(mainSourceSet) + val extractProtoImportCommonTest = extractProtoImport(testSourceSet) val protoBuildDir: Path by lazy { projectDir @@ -875,3 +880,13 @@ private fun SSets.preBuildTaskName(mode: PluginMode): String? { } } } + +private object SkipBuild : BuildResult { + override fun getOutput(): String = "" + @Suppress("UnstableApiUsage") + override fun getOutputReader(): BufferedReader? = null + override fun getTasks(): List = emptyList() + override fun tasks(outcome: TaskOutcome?): List = emptyList() + override fun taskPaths(outcome: TaskOutcome?): List = emptyList() + override fun task(taskPath: String?): BuildTask? = null +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/build.gradle.kts similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/build.gradle.kts rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/build.gradle.kts diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/dependency-protos.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/dependency-protos.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/dependency-protos.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/build.gradle.kts new file mode 100644 index 000000000..264637441 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/build.gradle.kts @@ -0,0 +1,157 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.api.GradleException +import org.gradle.kotlin.dsl.version + +plugins { + id("com.android.application") version "" +// kotlin("android") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +rpc { + protoc() +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 + + flavorDimensions += listOf("abi", "version") + + productFlavors { + create("freeapp") { + dimension = "version" + } + create("retailapp") { + dimension = "version" + } + create("x86") { + dimension = "abi" + } + create("arm") { + dimension = "abi" + } + } +} + +dependencies { + protoImport(files("dependency-protos.zip")) +} + +fun assertConfigurationExists(name: String) { + configurations.findByName(name) + ?: throw GradleException("Configuration '$name' does not exist") +} + +fun assertTaskExists(name: String) { + tasks.findByName(name) + ?: throw GradleException("Task '$name' does not exist") +} + +tasks.register("test_tasks") { + doLast { + // Verify proto and protoImport configurations exist for root source sets + assertConfigurationExists("proto") // main + assertConfigurationExists("protoImport") // main + assertConfigurationExists("testProto") // test + assertConfigurationExists("testProtoImport") // test + assertConfigurationExists("androidTestProto") + assertConfigurationExists("androidTestProtoImport") + + // Verify proto configurations exist for flavor source sets + assertConfigurationExists("armProto") + assertConfigurationExists("armProtoImport") + assertConfigurationExists("x86Proto") + assertConfigurationExists("x86ProtoImport") + assertConfigurationExists("freeappProto") + assertConfigurationExists("freeappProtoImport") + assertConfigurationExists("retailappProto") + assertConfigurationExists("retailappProtoImport") + + // Verify proto configurations exist for combined flavor source sets + assertConfigurationExists("armFreeappProto") + assertConfigurationExists("armFreeappProtoImport") + assertConfigurationExists("armRetailappProto") + assertConfigurationExists("armRetailappProtoImport") + assertConfigurationExists("x86FreeappProto") + assertConfigurationExists("x86FreeappProtoImport") + assertConfigurationExists("x86RetailappProto") + assertConfigurationExists("x86RetailappProtoImport") + + // Verify proto configurations exist for build type source sets + assertConfigurationExists("debugProto") + assertConfigurationExists("debugProtoImport") + assertConfigurationExists("releaseProto") + assertConfigurationExists("releaseProtoImport") + + // Verify proto configurations for variant source sets + assertConfigurationExists("armFreeappDebugProto") + assertConfigurationExists("armFreeappDebugProtoImport") + assertConfigurationExists("armFreeappReleaseProto") + assertConfigurationExists("armFreeappReleaseProtoImport") + assertConfigurationExists("armRetailappDebugProto") + assertConfigurationExists("armRetailappDebugProtoImport") + assertConfigurationExists("armRetailappReleaseProto") + assertConfigurationExists("armRetailappReleaseProtoImport") + assertConfigurationExists("x86FreeappDebugProto") + assertConfigurationExists("x86FreeappDebugProtoImport") + assertConfigurationExists("x86FreeappReleaseProto") + assertConfigurationExists("x86FreeappReleaseProtoImport") + assertConfigurationExists("x86RetailappDebugProto") + assertConfigurationExists("x86RetailappDebugProtoImport") + assertConfigurationExists("x86RetailappReleaseProto") + assertConfigurationExists("x86RetailappReleaseProtoImport") + + // Verify proto configurations for test variant source sets + assertConfigurationExists("testArmFreeappDebugProto") + assertConfigurationExists("testArmFreeappDebugProtoImport") + assertConfigurationExists("testX86FreeappDebugProto") + assertConfigurationExists("testX86FreeappDebugProtoImport") + + // Verify proto configurations for androidTest variant source sets + assertConfigurationExists("androidTestArmFreeappDebugProto") + assertConfigurationExists("androidTestArmFreeappDebugProtoImport") + assertConfigurationExists("androidTestX86FreeappDebugProto") + assertConfigurationExists("androidTestX86FreeappDebugProtoImport") + + // Verify extract tasks exist for main variants + assertTaskExists("extractProtoArmFreeappDebug") + assertTaskExists("extractProtoImportArmFreeappDebug") + assertTaskExists("extractProtoArmFreeappRelease") + assertTaskExists("extractProtoImportArmFreeappRelease") + assertTaskExists("extractProtoArmRetailappDebug") + assertTaskExists("extractProtoImportArmRetailappDebug") + assertTaskExists("extractProtoArmRetailappRelease") + assertTaskExists("extractProtoImportArmRetailappRelease") + assertTaskExists("extractProtoX86FreeappDebug") + assertTaskExists("extractProtoImportX86FreeappDebug") + assertTaskExists("extractProtoX86FreeappRelease") + assertTaskExists("extractProtoImportX86FreeappRelease") + assertTaskExists("extractProtoX86RetailappDebug") + assertTaskExists("extractProtoImportX86RetailappDebug") + assertTaskExists("extractProtoX86RetailappRelease") + assertTaskExists("extractProtoImportX86RetailappRelease") + + // Verify extract tasks exist for test variants + assertTaskExists("extractProtoTestArmFreeappDebug") + assertTaskExists("extractProtoImportTestArmFreeappDebug") + assertTaskExists("extractProtoTestX86FreeappDebug") + assertTaskExists("extractProtoImportTestX86FreeappDebug") + + // Verify extract tasks exist for androidTest variants + assertTaskExists("extractProtoAndroidTestArmFreeappDebug") + assertTaskExists("extractProtoImportAndroidTestArmFreeappDebug") + assertTaskExists("extractProtoAndroidTestX86FreeappDebug") + assertTaskExists("extractProtoImportAndroidTestX86FreeappDebug") + + // Verify the protoImport configuration on main has the dependency + val protoImportConfig = configurations.getByName("protoImport") + val depCount = protoImportConfig.dependencies.size + if (depCount != 1) { + throw GradleException("Expected 1 dependency on protoImport, got $depCount") + } + } +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/dependency-protos.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors/dependency-protos.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/dependency-protos.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/build.gradle.kts deleted file mode 100644 index 4fb86457b..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/build.gradle.kts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. - */ - -import org.gradle.kotlin.dsl.version - -plugins { - id("com.android.application") version "" - kotlin("android") version "" - id("org.jetbrains.kotlinx.rpc.plugin") version "" -} - -rpc { - protoc() -} - -android { - namespace = "com.example.myapp" - compileSdk = 34 -} - -dependencies { - proto(files("main-dependency.zip")) -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/main-dependency.zip deleted file mode 100644 index dc19f447fb295861be91f94b2b0f20d8bbebe3a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmWIWW@Zs#U|`^2m^5ic%=+XBF8)AXAQ1Bcac*K}o=a+hUO`cQNxt^FGuobO0ycyO zXlb0%KWQGe>DePK51(^>KK`K|p1K}qy*dT?OJW F004;+Hb(#e diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/src/main/proto/some.proto deleted file mode 100644 index 5347bc655..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_codegen/src/main/proto/some.proto +++ /dev/null @@ -1,8 +0,0 @@ -syntax = "proto3"; - -import "mainDep.proto"; - -message Some { - string content = 1; - dependency.MainDep dep = 2; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/build.gradle.kts deleted file mode 100644 index a74739bce..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/build.gradle.kts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. - */ - -import org.gradle.kotlin.dsl.version - -plugins { - id("com.android.application") version "" - kotlin("android") version "" - id("org.jetbrains.kotlinx.rpc.plugin") version "" -} - -rpc { - protoc() -} - -android { - namespace = "com.example.myapp" - compileSdk = 34 -} - -dependencies { - protoImport(files("dependency-protos.zip")) -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/src/main/proto/some.proto deleted file mode 100644 index c0b46f49a..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import/src/main/proto/some.proto +++ /dev/null @@ -1,8 +0,0 @@ -syntax = "proto3"; - -import "dependency.proto"; - -message Some { - string content = 1; - dependency.DependencyMessage dep = 2; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/build.gradle.kts deleted file mode 100644 index 9180d6f6c..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/build.gradle.kts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. - */ - -import org.gradle.kotlin.dsl.version - -plugins { - id("com.android.application") version "" - kotlin("android") version "" - id("org.jetbrains.kotlinx.rpc.plugin") version "" -} - -rpc { - protoc() -} - -android { - namespace = "com.example.myapp" - compileSdk = 34 - - flavorDimensions("abi") - - productFlavors { - create("arm") { - dimension = "abi" - } - create("x86") { - dimension = "abi" - } - } -} - -dependencies { - // protoImport on main — inherited by all variants (debug, release, arm*, x86*) - protoImport(files("dependency-protos.zip")) -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/dependency-protos.zip deleted file mode 100644 index e612110d1ead403b410ac2ac526a82ca0cfdc681..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmWIWW@Zs#U|`^2s9oF_BiPj3=>z0N1F-;u3`0t4L26z~YF=`sUO`cQNq%SuCj+x? z`@KvMF0J5ZU}X8m$iTn?RL-Ei?u@qQnt%!V4F&g>~^-E?HmrH}=QZP#M9#xMkUGcw6B p<8qe-$T|j~y$nklK`cyHvO-*m=E4APRyL4&Mj#9W($hd31_1a^NOS-I diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/src/main/proto/some.proto deleted file mode 100644 index c0b46f49a..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_import_flavors_codegen/src/main/proto/some.proto +++ /dev/null @@ -1,8 +0,0 @@ -syntax = "proto3"; - -import "dependency.proto"; - -message Some { - string content = 1; - dependency.DependencyMessage dep = 2; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/arm-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/arm-dependency.zip deleted file mode 100644 index ef4ecca164f8bfa6a44a27702fc59efe8fcd684e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmWIWW@Zs#U|`^2m^5icOvML@Eq*{=01)#4abi)fOKO2$K~a85zV^B^+Ma6yHiQOf zX`IqOX&$!e*&{6vpL2db{-GY8x*lh}JycQ6<;l4WC-wPWD;S" - kotlin("android") version "" - id("org.jetbrains.kotlinx.rpc.plugin") version "" -} - -rpc { - protoc() -} - -android { - namespace = "com.example.myapp" - compileSdk = 34 - - flavorDimensions("abi") - - productFlavors { - create("arm") { - dimension = "abi" - } - create("x86") { - dimension = "abi" - } - } -} - -dependencies { - // proto (codegen) scoped to "arm" flavor only — must NOT propagate to x86. - // String accessor — `arm` flavor is declared in this script, so no precompiled - // Kotlin DSL accessor is generated for `armProto` on older Gradle/AGP combos. - "armProto"(files("arm-dependency.zip")) -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/src/main/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/src/main/proto/some.proto deleted file mode 100644 index 9ce4a4156..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_flavor_codegen/src/main/proto/some.proto +++ /dev/null @@ -1,5 +0,0 @@ -syntax = "proto3"; - -message Some { - string content = 1; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts index 6128959ea..a5e46cb87 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts @@ -19,45 +19,37 @@ android { compileSdk = 34 } -// Each Android source set declares its own pair of zip dependencies: -// Proto — codegen, propagates via Android variant extendsFrom wiring -// (debug extends main; testDebug extends test/testFixtures/testFixturesDebug; etc.) -// ProtoImport — import-only, propagates as imports via extendsFrom and importsFrom -// (testDebug.importsFrom(debug) → debug's imports become testDebug's imports) -// -// The `main` source set's configurations are named `proto` / `protoImport` (not -// `mainProto` / `mainProtoImport`) — see protoConfigurationName / protoImportConfigurationName. dependencies { - "proto"(files("main-dependency.zip")) - "protoImport"(files("main-import-dependency.zip")) + proto(files("main-dependency.zip")) + protoImport(files("main-import-dependency.zip")) - "testProto"(files("test-dependency.zip")) - "testProtoImport"(files("test-import-dependency.zip")) + testProto(files("test-dependency.zip")) + testProtoImport(files("test-import-dependency.zip")) - "testFixturesProto"(files("test-fixtures-dependency.zip")) - "testFixturesProtoImport"(files("test-fixtures-import-dependency.zip")) + testFixturesProto(files("test-fixtures-dependency.zip")) + testFixturesProtoImport(files("test-fixtures-import-dependency.zip")) - "testFixturesDebugProto"(files("test-fixtures-debug-dependency.zip")) - "testFixturesDebugProtoImport"(files("test-fixtures-debug-import-dependency.zip")) + testFixturesDebugProto(files("test-fixtures-debug-dependency.zip")) + testFixturesDebugProtoImport(files("test-fixtures-debug-import-dependency.zip")) - "testFixturesReleaseProto"(files("test-fixtures-release-dependency.zip")) - "testFixturesReleaseProtoImport"(files("test-fixtures-release-import-dependency.zip")) + testFixturesReleaseProto(files("test-fixtures-release-dependency.zip")) + testFixturesReleaseProtoImport(files("test-fixtures-release-import-dependency.zip")) - "androidTestProto"(files("android-test-dependency.zip")) - "androidTestProtoImport"(files("android-test-import-dependency.zip")) + androidTestProto(files("android-test-dependency.zip")) + androidTestProtoImport(files("android-test-import-dependency.zip")) - "debugProto"(files("debug-dependency.zip")) - "debugProtoImport"(files("debug-import-dependency.zip")) + debugProto(files("debug-dependency.zip")) + debugProtoImport(files("debug-import-dependency.zip")) - "releaseProto"(files("release-dependency.zip")) - "releaseProtoImport"(files("release-import-dependency.zip")) + releaseProto(files("release-dependency.zip")) + releaseProtoImport(files("release-import-dependency.zip")) - "testDebugProto"(files("test-debug-dependency.zip")) - "testDebugProtoImport"(files("test-debug-import-dependency.zip")) + testDebugProto(files("test-debug-dependency.zip")) + testDebugProtoImport(files("test-debug-import-dependency.zip")) - "testReleaseProto"(files("test-release-dependency.zip")) - "testReleaseProtoImport"(files("test-release-import-dependency.zip")) + testReleaseProto(files("test-release-dependency.zip")) + testReleaseProtoImport(files("test-release-import-dependency.zip")) - "androidTestDebugProto"(files("android-test-debug-dependency.zip")) - "androidTestDebugProtoImport"(files("android-test-debug-import-dependency.zip")) + androidTestDebugProto(files("android-test-debug-dependency.zip")) + androidTestDebugProtoImport(files("android-test-debug-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts index 5161622b5..c5108acda 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts @@ -19,49 +19,37 @@ android { compileSdk = 34 } -// Each Android source set declares its own pair of zip dependencies: -// Proto — codegen, propagates via Android variant extendsFrom wiring -// (debug extends main; testDebug extends test/testFixtures/testFixturesDebug; etc.) -// ProtoImport — import-only, propagates as imports via extendsFrom and importsFrom -// (testDebug.importsFrom(debug) → debug's imports become testDebug's imports) -// -// AGP 9.0 built-in Kotlin only creates unit test compilation for testBuildType (debug), -// so testRelease has no compile task — testRelease deps are still declared, but the -// test method skips assertions for testRelease in this fixture. -// -// The `main` source set's configurations are named `proto` / `protoImport` (not -// `mainProto` / `mainProtoImport`) — see protoConfigurationName / protoImportConfigurationName. dependencies { - "proto"(files("main-dependency.zip")) - "protoImport"(files("main-import-dependency.zip")) + proto(files("main-dependency.zip")) + protoImport(files("main-import-dependency.zip")) - "testProto"(files("test-dependency.zip")) - "testProtoImport"(files("test-import-dependency.zip")) + testProto(files("test-dependency.zip")) + testProtoImport(files("test-import-dependency.zip")) - "testFixturesProto"(files("test-fixtures-dependency.zip")) - "testFixturesProtoImport"(files("test-fixtures-import-dependency.zip")) + testFixturesProto(files("test-fixtures-dependency.zip")) + testFixturesProtoImport(files("test-fixtures-import-dependency.zip")) - "testFixturesDebugProto"(files("test-fixtures-debug-dependency.zip")) - "testFixturesDebugProtoImport"(files("test-fixtures-debug-import-dependency.zip")) + testFixturesDebugProto(files("test-fixtures-debug-dependency.zip")) + testFixturesDebugProtoImport(files("test-fixtures-debug-import-dependency.zip")) - "testFixturesReleaseProto"(files("test-fixtures-release-dependency.zip")) - "testFixturesReleaseProtoImport"(files("test-fixtures-release-import-dependency.zip")) + testFixturesReleaseProto(files("test-fixtures-release-dependency.zip")) + testFixturesReleaseProtoImport(files("test-fixtures-release-import-dependency.zip")) - "androidTestProto"(files("android-test-dependency.zip")) - "androidTestProtoImport"(files("android-test-import-dependency.zip")) + androidTestProto(files("android-test-dependency.zip")) + androidTestProtoImport(files("android-test-import-dependency.zip")) - "debugProto"(files("debug-dependency.zip")) - "debugProtoImport"(files("debug-import-dependency.zip")) + debugProto(files("debug-dependency.zip")) + debugProtoImport(files("debug-import-dependency.zip")) - "releaseProto"(files("release-dependency.zip")) - "releaseProtoImport"(files("release-import-dependency.zip")) + releaseProto(files("release-dependency.zip")) + releaseProtoImport(files("release-import-dependency.zip")) - "testDebugProto"(files("test-debug-dependency.zip")) - "testDebugProtoImport"(files("test-debug-import-dependency.zip")) + testDebugProto(files("test-debug-dependency.zip")) + testDebugProtoImport(files("test-debug-import-dependency.zip")) - "testReleaseProto"(files("test-release-dependency.zip")) - "testReleaseProtoImport"(files("test-release-import-dependency.zip")) + testReleaseProto(files("test-release-dependency.zip")) + testReleaseProtoImport(files("test-release-import-dependency.zip")) - "androidTestDebugProto"(files("android-test-debug-dependency.zip")) - "androidTestDebugProtoImport"(files("android-test-debug-import-dependency.zip")) + androidTestDebugProto(files("android-test-debug-dependency.zip")) + androidTestDebugProtoImport(files("android-test-debug-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/build.gradle.kts deleted file mode 100644 index 25c899f6b..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/build.gradle.kts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. - */ - -import org.gradle.kotlin.dsl.version - -plugins { - id("com.android.application") version "" - kotlin("android") version "" - id("org.jetbrains.kotlinx.rpc.plugin") version "" -} - -rpc { - protoc() -} - -android { - namespace = "com.example.myapp" - compileSdk = 34 -} - -dependencies { - // protoImport scoped to debug build type only — must NOT be visible to release. - debugProtoImport(files("debug-import-dependency.zip")) -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/debug-import-dependency.zip deleted file mode 100644 index f6ac8650a67ef4f7789bae89c79b4a6d6501424f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmWIWW@Zs#U|`^2m^5ic%Om z*Py_|aAEKAj2(@IDtS6`i=CW%n0V!t4e!Oq-2dR!KQ%8Vz|+t4tQRxK&1Rd$$q!#x z+_Ez$(6pDjH!Hq*NenNyT|-3Hy~W47&mBviWwPf3V}Lg!lL#|zhXCCI1`UiL3Y)V6 Syjj^ma*ROe1f<(R90mYJAwx_6 diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/debug/proto/debug.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/debug/proto/debug.proto deleted file mode 100644 index 328dcafc2..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/debug/proto/debug.proto +++ /dev/null @@ -1,8 +0,0 @@ -syntax = "proto3"; - -import "debugImportDep.proto"; - -message Debug { - string content = 1; - dependency.DebugImportDep dep = 2; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/main/proto/main.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/main/proto/main.proto deleted file mode 100644 index 588046d54..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/main/proto/main.proto +++ /dev/null @@ -1,5 +0,0 @@ -syntax = "proto3"; - -message Main { - string content = 1; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/release/proto/release.proto b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/release/proto/release.proto deleted file mode 100644 index c3d9a0bc4..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_variant_import/src/release/proto/release.proto +++ /dev/null @@ -1,5 +0,0 @@ -syntax = "proto3"; - -message Release { - string content = 1; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts index 2be2e0adf..e658d6ec8 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts @@ -14,10 +14,6 @@ rpc { } dependencies { - // Per-source-set / per-configuration zips: distinct content for each - // archive so a regression that wires extractProtoMain and - // extractProtoImportMain to the same source would surface as the wrong - // proto file landing in the wrong workspace dir. proto(files("main-dependency.zip")) protoImport(files("main-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/build.gradle.kts similarity index 60% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/build.gradle.kts rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/build.gradle.kts index b4650daa0..66b13f8a3 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/build.gradle.kts @@ -3,7 +3,6 @@ */ import org.gradle.kotlin.dsl.version -import kotlinx.rpc.protoc.* plugins { kotlin("multiplatform") version "" @@ -12,16 +11,21 @@ plugins { kotlin { jvm() - sourceSets { - commonTest { - dependencies { - protoImport(files("common-test-import-dependency.zip")) - } - } + create("common2") } } rpc { protoc() } + +protoSourceSets { + named("commonMain") { + importsFrom(project.provider { protoSourceSets.getByName("common2") }) + } +} + +dependencies { + "common2ProtoImport"(files("common-2-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/common-2-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/common-2-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/common-2-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/common-2-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/src/common2/proto/common2.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/src/common2/proto/common2.proto similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/src/common2/proto/common2.proto rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/src/common2/proto/common2.proto diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/src/commonMain/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/src/commonMain/proto/some.proto similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/src/commonMain/proto/some.proto rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/src/commonMain/proto/some.proto diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/apple-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/build.gradle.kts new file mode 100644 index 000000000..5ed9e39c1 --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/build.gradle.kts @@ -0,0 +1,103 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version +import kotlinx.rpc.protoc.* + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" +} + +kotlin { + jvm() + js { + nodejs() + } + macosArm64() + + sourceSets { + commonMain.dependencies { + proto(files("common-main-dependency.zip")) + protoImport(files("common-main-import-dependency.zip")) + } + commonTest.dependencies { + proto(files("common-test-dependency.zip")) + protoImport(files("common-test-import-dependency.zip")) + } + + nativeMain.dependencies { + proto(files("native-main-dependency.zip")) + protoImport(files("native-main-import-dependency.zip")) + } + nativeTest.dependencies { + proto(files("native-test-dependency.zip")) + protoImport(files("native-test-import-dependency.zip")) + } + + appleMain.dependencies { + proto(files("apple-main-dependency.zip")) + protoImport(files("apple-main-import-dependency.zip")) + } + appleTest.dependencies { + proto(files("apple-test-dependency.zip")) + protoImport(files("apple-test-import-dependency.zip")) + } + + macosMain.dependencies { + proto(files("macos-main-dependency.zip")) + protoImport(files("macos-main-import-dependency.zip")) + } + macosTest.dependencies { + proto(files("macos-test-dependency.zip")) + protoImport(files("macos-test-import-dependency.zip")) + } + + macosArm64Main.dependencies { + proto(files("macos-arm64-main-dependency.zip")) + protoImport(files("macos-arm64-main-import-dependency.zip")) + } + macosArm64Test.dependencies { + proto(files("macos-arm64-test-dependency.zip")) + protoImport(files("macos-arm64-test-import-dependency.zip")) + } + + jvmMain.dependencies { + proto(files("jvm-main-dependency.zip")) + protoImport(files("jvm-main-import-dependency.zip")) + } + jvmTest.dependencies { + proto(files("jvm-test-dependency.zip")) + protoImport(files("jvm-test-import-dependency.zip")) + } + + jsMain.dependencies { + proto(files("js-main-dependency.zip")) + protoImport(files("js-main-import-dependency.zip")) + } + jsTest.dependencies { + proto(files("js-test-dependency.zip")) + protoImport(files("js-test-import-dependency.zip")) + } + + if ("" >= "2.2.20") { + configureEach { + if (name == "webMain") dependencies { + proto(files("web-main-dependency.zip")) + protoImport(files("web-main-import-dependency.zip")) + } + } + configureEach { + if (name == "webTest") dependencies { + proto(files("web-test-dependency.zip")) + protoImport(files("web-test-import-dependency.zip")) + } + } + } + } +} + +rpc { + protoc() +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/common-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/js-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/jvm-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-arm64-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/macos-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/native-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/web-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/android-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/android-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..1b8be941356deff6266b98c3d878765914b03ce7 GIT binary patch literal 223 zcmWIWW@Zs#U|`^2I5c@}%;KNk<)J`c1Q3Hn6Z2Av@-tI>6EpK%QVaA7it5g^qWsJh-^9#3&)kCiq7s+X0=" + id("org.jetbrains.kotlinx.rpc.plugin") version "" + id("com.android.kotlin.multiplatform.library") version "" +} + +kotlin { + jvm() + androidLibrary { + namespace = "com.example.namespace" + compileSdk = 34 + } + + sourceSets { + commonMain.dependencies { + proto(files("common-main-dependency.zip")) + protoImport(files("common-main-import-dependency.zip")) + } + commonTest.dependencies { + proto(files("common-test-dependency.zip")) + protoImport(files("common-test-import-dependency.zip")) + } + + jvmMain.dependencies { + proto(files("jvm-main-dependency.zip")) + protoImport(files("jvm-main-import-dependency.zip")) + } + jvmTest.dependencies { + proto(files("jvm-test-dependency.zip")) + protoImport(files("jvm-test-import-dependency.zip")) + } + + androidMain.dependencies { + proto(files("android-main-dependency.zip")) + protoImport(files("android-main-import-dependency.zip")) + } + } +} + +rpc { + protoc() +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..226ba49341e3778eb233074df6a07492be93f2f4 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}j8cKQX9$oN4#dJhoSdJVo1f>Kn3?C2TA)`@lwXoBdd85i zL4k+iz~1#4KN<^F{C557V3Ts1GL1p1^W*zhRfn(Y_3F*J@MMv%dorWZ&R(X)&(A!H zjQMX+xYqvMtVyT50>#c%Fel}zdL5Yjt$BaOh7Sk01H2iTM3`|q1LzVkXkY|USR57L S&B_LnVgy1*Al(Y$FaQ8xVMGuB literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..d7ce64fc953e2be4c4cbbbaca060cf4d88795991 GIT binary patch literal 237 zcmWIWW@Zs#U|`^2I5c@}OmfiQ`;kCiED%cqadLicZhoF`VrHIaZb5!giA!pMUO`cQ zNxtYAL#_q`9)<(9>pA{5T69g;Gj10F c9R&srj35f9`vSaK*+2>yfzTaDPXKWk00mM?$N&HU literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..fafff5890d4216f76f76e19d843dec57ee68bd65 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}Oz))n#UVgmI1md1adLicZhl@!YH^86YJpxsQGQ9j=ov%4 z1_d651AEtJ{Aesx@%zPM@3278EtAt#+3;U%Ouj{K%-vq$SusmaW#~AR)s;^)2vFlY zvai%<$*;#cnw;yGlrHSySIE+pcHeWSFsPr6TfZj2n~_O`8MiZlE&+oEMi7O?Q32kp QY#=E{Aan%Mtso8q075)JJpcdz literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..4f463794b1e270b50cd3fefbad6bf3fda3643e75 GIT binary patch literal 236 zcmWIWW@Zs#U|`^2I5c@}jI%@8{0JZ~7KkN*I5|HzH$N{VwYbDHw;;c$#3i*rub?Qu zBwzH5Ay8JR?waXSd; cCNOAV1W`Dh7vRmx22#KXgziAPAH-n*0R6p5^8f$< literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..90644d21f278903ff6714ca83576785607a3fe15 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}jAveKXAqDV0>lD9oK=?Vo0ysBl3JiwP?TSiuf6V!w&$9F z4WR*A8mIJ6nul$A_DIXa=bWF9f2fD2uE$w#&$Hg^Sh$`o6BBP{*?X#}R@nG+Oc1xo zs+}StUEW)iHYPc>CP_s}&UwSOdHnnM9azI|k?;Flb-| XQP`ap;LXYgl4S%!7a-jY;xGUJ8xKM@ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..6ffba262909823e9f163f75f36ef1b5927c95760 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}%(EWRf literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3437c1f460e27592750d266df208f2087a653cfc GIT binary patch literal 229 zcmWIWW@Zs#U|`^2I5c@}jGXww=ixwJ6cCF6aaLJwNNRD3XKq1$QHe`xfnGsTeo4OQ z8AHAX1s;Y2d)H_DXe?C8)3f@`$kc1dWwJ%8^W*zRRfj!&U**YMC^$K*I+^jt&%0|| z8fOG8c#?hCL&^SJc#KC$*PQOYBR?1xW!${fHQm}TD?I&SD}R7DBa;X-ZpQ%K0|pI@ XAPT$F0=!w-K(dTL=mMm>K^z7E?(s}OeG!1U^?Xo}i-MiqdAK=Z%B*Ki_ eNkCVDK?5U*!tKBSZ&o&t3PvFG0MZjd90mXiB1~lf literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-device-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-device-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..0f5ce47c1cc6a38ec804fc3194396af02a216702 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2I5c@}Ov{l+9tl8R3J@y*abjLdQGRBMOKMqWa%xCwafxScL4Hw* zOKO2$K~a85zUUc4uEPdAtQTUJ3+!|}kzpmWDdjwC&tJo3ojN+ECR6V0efg^`eR;*7 z56$dv&)zm+QR;mu%5CASC^_kzboq?GA2oMwpOr3Sn%MetQ}$~+=bzqZp6&H|sGOI7 s=e5L(Me+gOj7%cTxZMYIA{aCr0NI3Br~m)} literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..8bd5d6b103c592c241ec3c772131566914f3508d GIT binary patch literal 235 zcmWIWW@Zs#U|`^2I5c@}Og?|CZ6uHv1H=+QoS2tVl%JX6kzZUAl3HBil3JiwP?TSi zFM7t1tHFSW;ehRWj=zl-V(bSGvj1pIa@Nd>nx!H3@%^>0ZIe&E%9FY9WRl6(V@xUA z^YjF&P92$7v6h!#=x1R{e9)I-p;(WSMLqlqUDHl5>TjQaW!t$!-0}h5j7%cTxE%y^ b6Bslwf+$?h3-D%T1IaT2p&O9y2XPnxPgqDS literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..c36cfcb2dc25a1871093d92f75a07666fe896405 GIT binary patch literal 250 zcmWIWW@Zs#U|`^2I5c@}jLPd<0x>{d5)jJ)abjLdQGRBMM}BchNNRD3XKq1$QHe`x zfnGsTeo4OQnT>o74m=DO_QqfQ!ED&&n3V9HdHQZQmfT`p#Yguy?t6IisGMKUh6_4+ zp@Ga99o{oIgf$D5`mVQ2&-{C%=#6EpK%QVaA7it5g^qWsJh-^9#3&)kCiq7s+X0=" + id("org.jetbrains.kotlinx.rpc.plugin") version "" + id("com.android.kotlin.multiplatform.library") version "" +} + +kotlin { + jvm() + androidLibrary { + namespace = "com.example.namespace" + compileSdk = 34 + + withDeviceTestBuilder { + sourceSetTreeName = "test" + } + + withHostTestBuilder { + sourceSetTreeName = "test" + } + } + + sourceSets { + commonMain.dependencies { + proto(files("common-main-dependency.zip")) + protoImport(files("common-main-import-dependency.zip")) + } + commonTest.dependencies { + proto(files("common-test-dependency.zip")) + protoImport(files("common-test-import-dependency.zip")) + } + + jvmMain.dependencies { + proto(files("jvm-main-dependency.zip")) + protoImport(files("jvm-main-import-dependency.zip")) + } + jvmTest.dependencies { + proto(files("jvm-test-dependency.zip")) + protoImport(files("jvm-test-import-dependency.zip")) + } + + androidMain.dependencies { + proto(files("android-main-dependency.zip")) + protoImport(files("android-main-import-dependency.zip")) + } + + named("androidHostTest").dependencies { + proto(files("android-host-test-dependency.zip")) + protoImport(files("android-host-test-import-dependency.zip")) + } + + named("androidDeviceTest").dependencies { + proto(files("android-device-test-dependency.zip")) + protoImport(files("android-device-test-import-dependency.zip")) + } + } +} + +rpc { + protoc() +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..226ba49341e3778eb233074df6a07492be93f2f4 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}j8cKQX9$oN4#dJhoSdJVo1f>Kn3?C2TA)`@lwXoBdd85i zL4k+iz~1#4KN<^F{C557V3Ts1GL1p1^W*zhRfn(Y_3F*J@MMv%dorWZ&R(X)&(A!H zjQMX+xYqvMtVyT50>#c%Fel}zdL5Yjt$BaOh7Sk01H2iTM3`|q1LzVkXkY|USR57L S&B_LnVgy1*Al(Y$FaQ8xVMGuB literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..d7ce64fc953e2be4c4cbbbaca060cf4d88795991 GIT binary patch literal 237 zcmWIWW@Zs#U|`^2I5c@}OmfiQ`;kCiED%cqadLicZhoF`VrHIaZb5!giA!pMUO`cQ zNxtYAL#_q`9)<(9>pA{5T69g;Gj10F c9R&srj35f9`vSaK*+2>yfzTaDPXKWk00mM?$N&HU literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..fafff5890d4216f76f76e19d843dec57ee68bd65 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}Oz))n#UVgmI1md1adLicZhl@!YH^86YJpxsQGQ9j=ov%4 z1_d651AEtJ{Aesx@%zPM@3278EtAt#+3;U%Ouj{K%-vq$SusmaW#~AR)s;^)2vFlY zvai%<$*;#cnw;yGlrHSySIE+pcHeWSFsPr6TfZj2n~_O`8MiZlE&+oEMi7O?Q32kp QY#=E{Aan%Mtso8q075)JJpcdz literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..4f463794b1e270b50cd3fefbad6bf3fda3643e75 GIT binary patch literal 236 zcmWIWW@Zs#U|`^2I5c@}jI%@8{0JZ~7KkN*I5|HzH$N{VwYbDHw;;c$#3i*rub?Qu zBwzH5Ay8JR?waXSd; cCNOAV1W`Dh7vRmx22#KXgziAPAH-n*0R6p5^8f$< literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..90644d21f278903ff6714ca83576785607a3fe15 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}jAveKXAqDV0>lD9oK=?Vo0ysBl3JiwP?TSiuf6V!w&$9F z4WR*A8mIJ6nul$A_DIXa=bWF9f2fD2uE$w#&$Hg^Sh$`o6BBP{*?X#}R@nG+Oc1xo zs+}StUEW)iHYPc>CP_s}&UwSOdHnnM9azI|k?;Flb-| XQP`ap;LXYgl4S%!7a-jY;xGUJ8xKM@ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..6ffba262909823e9f163f75f36ef1b5927c95760 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}%(EWRf literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3437c1f460e27592750d266df208f2087a653cfc GIT binary patch literal 229 zcmWIWW@Zs#U|`^2I5c@}jGXww=ixwJ6cCF6aaLJwNNRD3XKq1$QHe`xfnGsTeo4OQ z8AHAX1s;Y2d)H_DXe?C8)3f@`$kc1dWwJ%8^W*zRRfj!&U**YMC^$K*I+^jt&%0|| z8fOG8c#?hCL&^SJc#KC$*PQOYBR?1xW!${fHQm}TD?I&SD}R7DBa;X-ZpQ%K0|pI@ XAPT$F0=!w-K(dTL=mMm>K^z7E?(s}OeG!1U^?Xo}i-MiqdAK=Z%B*Ki_ eNkCVDK?5U*!tKBSZ&o&t3PvFG0MZjd90mXiB1~lf literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-device-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-device-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..0f5ce47c1cc6a38ec804fc3194396af02a216702 GIT binary patch literal 258 zcmWIWW@Zs#U|`^2I5c@}Ov{l+9tl8R3J@y*abjLdQGRBMOKMqWa%xCwafxScL4Hw* zOKO2$K~a85zUUc4uEPdAtQTUJ3+!|}kzpmWDdjwC&tJo3ojN+ECR6V0efg^`eR;*7 z56$dv&)zm+QR;mu%5CASC^_kzboq?GA2oMwpOr3Sn%MetQ}$~+=bzqZp6&H|sGOI7 s=e5L(Me+gOj7%cTxZMYIA{aCr0NI3Br~m)} literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..8bd5d6b103c592c241ec3c772131566914f3508d GIT binary patch literal 235 zcmWIWW@Zs#U|`^2I5c@}Og?|CZ6uHv1H=+QoS2tVl%JX6kzZUAl3HBil3JiwP?TSi zFM7t1tHFSW;ehRWj=zl-V(bSGvj1pIa@Nd>nx!H3@%^>0ZIe&E%9FY9WRl6(V@xUA z^YjF&P92$7v6h!#=x1R{e9)I-p;(WSMLqlqUDHl5>TjQaW!t$!-0}h5j7%cTxE%y^ b6Bslwf+$?h3-D%T1IaT2p&O9y2XPnxPgqDS literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..c36cfcb2dc25a1871093d92f75a07666fe896405 GIT binary patch literal 250 zcmWIWW@Zs#U|`^2I5c@}jLPd<0x>{d5)jJ)abjLdQGRBMM}BchNNRD3XKq1$QHe`x zfnGsTeo4OQnT>o74m=DO_QqfQ!ED&&n3V9HdHQZQmfT`p#Yguy?t6IisGMKUh6_4+ zp@Ga99o{oIgf$D5`mVQ2&-{C%=#6EpK%QVaA7it5g^qWsJh-^9#3&)kCiq7s+X0=" + id("org.jetbrains.kotlinx.rpc.plugin") version "" + id("com.android.kotlin.multiplatform.library") version "" +} + +kotlin { + jvm() + androidLibrary { + namespace = "com.example.namespace" + compileSdk = 34 + + withDeviceTestBuilder { } + + withHostTestBuilder { } + } + + sourceSets { + commonMain.dependencies { + proto(files("common-main-dependency.zip")) + protoImport(files("common-main-import-dependency.zip")) + } + commonTest.dependencies { + proto(files("common-test-dependency.zip")) + protoImport(files("common-test-import-dependency.zip")) + } + + jvmMain.dependencies { + proto(files("jvm-main-dependency.zip")) + protoImport(files("jvm-main-import-dependency.zip")) + } + jvmTest.dependencies { + proto(files("jvm-test-dependency.zip")) + protoImport(files("jvm-test-import-dependency.zip")) + } + + androidMain.dependencies { + proto(files("android-main-dependency.zip")) + protoImport(files("android-main-import-dependency.zip")) + } + + named("androidHostTest").dependencies { + proto(files("android-host-test-dependency.zip")) + protoImport(files("android-host-test-import-dependency.zip")) + } + + named("androidDeviceTest").dependencies { + proto(files("android-device-test-dependency.zip")) + protoImport(files("android-device-test-import-dependency.zip")) + } + } +} + +rpc { + protoc() +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..226ba49341e3778eb233074df6a07492be93f2f4 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}j8cKQX9$oN4#dJhoSdJVo1f>Kn3?C2TA)`@lwXoBdd85i zL4k+iz~1#4KN<^F{C557V3Ts1GL1p1^W*zhRfn(Y_3F*J@MMv%dorWZ&R(X)&(A!H zjQMX+xYqvMtVyT50>#c%Fel}zdL5Yjt$BaOh7Sk01H2iTM3`|q1LzVkXkY|USR57L S&B_LnVgy1*Al(Y$FaQ8xVMGuB literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..d7ce64fc953e2be4c4cbbbaca060cf4d88795991 GIT binary patch literal 237 zcmWIWW@Zs#U|`^2I5c@}OmfiQ`;kCiED%cqadLicZhoF`VrHIaZb5!giA!pMUO`cQ zNxtYAL#_q`9)<(9>pA{5T69g;Gj10F c9R&srj35f9`vSaK*+2>yfzTaDPXKWk00mM?$N&HU literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..fafff5890d4216f76f76e19d843dec57ee68bd65 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}Oz))n#UVgmI1md1adLicZhl@!YH^86YJpxsQGQ9j=ov%4 z1_d651AEtJ{Aesx@%zPM@3278EtAt#+3;U%Ouj{K%-vq$SusmaW#~AR)s;^)2vFlY zvai%<$*;#cnw;yGlrHSySIE+pcHeWSFsPr6TfZj2n~_O`8MiZlE&+oEMi7O?Q32kp QY#=E{Aan%Mtso8q075)JJpcdz literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..4f463794b1e270b50cd3fefbad6bf3fda3643e75 GIT binary patch literal 236 zcmWIWW@Zs#U|`^2I5c@}jI%@8{0JZ~7KkN*I5|HzH$N{VwYbDHw;;c$#3i*rub?Qu zBwzH5Ay8JR?waXSd; cCNOAV1W`Dh7vRmx22#KXgziAPAH-n*0R6p5^8f$< literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..90644d21f278903ff6714ca83576785607a3fe15 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}jAveKXAqDV0>lD9oK=?Vo0ysBl3JiwP?TSiuf6V!w&$9F z4WR*A8mIJ6nul$A_DIXa=bWF9f2fD2uE$w#&$Hg^Sh$`o6BBP{*?X#}R@nG+Oc1xo zs+}StUEW)iHYPc>CP_s}&UwSOdHnnM9azI|k?;Flb-| XQP`ap;LXYgl4S%!7a-jY;xGUJ8xKM@ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..6ffba262909823e9f163f75f36ef1b5927c95760 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}%(EWRf literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3437c1f460e27592750d266df208f2087a653cfc GIT binary patch literal 229 zcmWIWW@Zs#U|`^2I5c@}jGXww=ixwJ6cCF6aaLJwNNRD3XKq1$QHe`xfnGsTeo4OQ z8AHAX1s;Y2d)H_DXe?C8)3f@`$kc1dWwJ%8^W*zRRfj!&U**YMC^$K*I+^jt&%0|| z8fOG8c#?hCL&^SJc#KC$*PQOYBR?1xW!${fHQm}TD?I&SD}R7DBa;X-ZpQ%K0|pI@ XAPT$F0=!w-K(dTL=mMm>K^z7E?(sX>F(lp1V_vAP z`0dC#ew&q3uj7%cTxZMeKDi|~{f+(U~9pKH%22#ujguy_18HmFG0PGc7 A=Kufz literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..e4797ea35f1eb95ec5bfb86cccbe04022e545247 GIT binary patch literal 287 zcmWIWW@Zs#U|`^2I5c@}jFm;PPdbp755(F)oS2tVl%JX6nO9s=RGOQbSCX0%l3HBi zlA2VS?wMPVUj$?p=oJ*@m*k7~I&v`?^0ZhbNed;XnnOFAYX8iyHGY1^*u}2s*7bx$26tGxMjm<5SjNkx2Zb z`0QF(><^#cjo<3Nd|4_V;LXS+!i?LYK(~TH10#qc&e;LptZX3Fj6fIyq?dy@3;_Pf BU?%_o literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..1b8be941356deff6266b98c3d878765914b03ce7 GIT binary patch literal 223 zcmWIWW@Zs#U|`^2I5c@}%;KNk<)J`c1Q3Hn6Z2Av@-tI>6EpK%QVaA7it5g^qWsJh-^9#3&)kCiq7s+X0=5g^qWsL1pwyhy#Nt$!)B?SNqWqG4 z(K81*8w_|@FH|q%$WxH(W1|;BAvRa zk}?w(GQL{RZ$9I%MTSNur?Aoy1EtTtXTnY|GL{!AuZev9Vxf3|HzSh>Gj7)a9Rvmq Yj35e!+XB2<*+9~aKHq)$ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-release-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..ea2377613d3435e64f77bef2d8a34504d2424a3d GIT binary patch literal 247 zcmWIWW@Zs#U|`^2I5c@}OwP=`qR~KJA`r`h=)9Do{LGY~)ST4B;#AMvg8ZTqm(&8i zf};GAe9<$8d=3r*tQYG13=5e9yPOtX+;#BCzm9~mO`BUfb}z0y`q_K)oI3@Hn$IFc zO(&k*ae{@5g^qWsL1kksN5m(--vbeGfuy@I0r zl6=uK8#x;c1XwTpTV`>`L8rNOf?$k-+I)pqs!tYaJbIV)yKDLMkn*DQzIrQ{tuu7F z`SYl2fkPWh$9}sz3w}LTSh&Qp=R%g@+lxw{ea}Rl)|tq^{oRjU*Dg5g2Y53wi7?}K e5ztX!(7*_yaJnzRo0ScufDs7Yf%F6rhXDY*&`>@A literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..09462b160ad8350ade17eb05b015cc741a3bca80 GIT binary patch literal 254 zcmWIWW@Zs#U|`^2I5c@}4DYt>2jhUeWFVFY;>5g^qWsL1kksN5m(--vbkE#^{30N; zK(C-Eza(Guj3HNp0guB)+vObh9AvtiA3S=;nkC(parr_>;E~p|g6gGDS Sc(byB5-v_01ZYzPg|(m17m(mZU_vqxGUKIi;={6jrFbv@2{d!F@P$HMh&nV5Jp zi|ps1u206nPM?juor1c(V}d4oU5*Xn7Fo4ZM5N2R%jokZ(NjXjUcrrSQc=ZMix?RK lycwB9m~p!e=sYlJU<6TkT^iuc$_7%z2!!51dKQSo006N)ONIad literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..8e3d505abb61156a548f9cefdbe45f7be76e508e GIT binary patch literal 267 zcmWIWW@Zs#U|`^2I5c@}Oww-`>trA=9f*~II597!C_ghLG%vFxB(=E2B{iuu-7~i! zzX-@I&?_j)FUi+lcShTDO~8iG047PA&&NO1!&BGetheV`?{zF( z&z6aaH?zoo4(j@39PISj$lEEX+dC#`ve#wXV(w4f4QH5Iv-DV7A5B_xW=~1$rXzDM wg)BJOb}eRW3`2l7Ba;X-ZdU>w3I+{~Ac_b#2Y9oxfs`@=VIYuR0^%?L0I)Dt#sB~S literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..23ca25887d13d7ebaeab2f20e56864debfb54f1d GIT binary patch literal 234 zcmWIWW@Zs#U|`^2I5c@}%**1-u@OLC3=m5IabjLdQGRAhXkKPXNNRD3OKO2$K~a85 zzUUc4t_A}hh6A?iIsP_Uh_N43f5F_vyL3fn=Awur`=hT*`)RG-UFa~``_dI@?g@8y z?R0pdDO~+%tC@|*lj9R>Jum9Zl&W3qG_q^Zh*DzTbEhuowiUO2O@KEelL#|z_W+#) a1`UiL3YY5wyjj^m@{B;}2BiBy90mYV4oD3E literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..5f4122220bd7ed074bb3571b6e4576435ac0621e GIT binary patch literal 250 zcmWIWW@Zs#U|`^2I5c@}47;?$!WbYg35ex@I597!C_ghLG%vFxB(=E2Gq)hWsKh0; zK(C-Eza(Guj3HNp0T06g+w~m(9AvtiA3R#euVLm9c=>`$;F0~&*QNdP&FT}or#?wp zxl*R#N99-ULDBLpfN?UBuws|b_4k4!}irf4x3$V;)*RKii kW@Hj!#_ckoB`sQ>@~ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..0908c3d717801f255195a50c15709ca000143aa5 GIT binary patch literal 255 zcmWIWW@Zs#U|`^2I5c@}3}f6o*?1r?8HnY9I597!C_ghLG%vFxB(=CCC^aWFu{hNw zwLq_+D8D3M^o%1{vw;BXg}-x>KCnG9+M!X=6vS^Zqo3uiO3E@<&3k(be~X>>E48e6 zvhK>8$`?$56H_OP$^yzQOK~3pYL!N%#HN^i$aSh{3`S{WH#HUz)mqQ~iZY qb{Aah1H2iTM3`~A4(LEIXkY|U1l$_n&B_K+#t4MIKza^{!vFx!t5r+@ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..1e4c446f2fc235afd99f4e830719e8e63713c8a1 GIT binary patch literal 272 zcmWIWW@Zs#U|`^2I5c@}%)=vh1yX>#OdwVT;>5g^qWsL1(7eo&kksOmpwyhy#Nt%X z+=Bd~5|`8hy@I0rl6=uKhFr}K0<0J6{0u9YH%<|0G|6n1ODM44v|{t&b1E)Jb|2re zzG7eYiRt-wB6I_HEmJp|DK_&UC!6nu%>4z;zvbW0$~u{OMTXfXE<&;IdD_xr%*WUb ztFNpvu1~3byz2Hmzh8_2-i%Bl%(xv2bSoG%FoGzeoE_lJ$_7%*2!z2vdO3*0004*P BTg(6e literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/build.gradle.kts new file mode 100644 index 000000000..06e5e9aea --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/build.gradle.kts @@ -0,0 +1,130 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version +import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree +import kotlinx.rpc.protoc.* + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" + id("com.android.application") version "" +} + +kotlin { + jvm() + + androidTarget { + instrumentedTestVariant { + sourceSetTree.set(KotlinSourceSetTree.test) + } + + unitTestVariant { + sourceSetTree.set(KotlinSourceSetTree.test) + } + } + + sourceSets { + commonMain.dependencies { + proto(files("common-main-dependency.zip")) + protoImport(files("common-main-import-dependency.zip")) + } + commonTest.dependencies { + proto(files("common-test-dependency.zip")) + protoImport(files("common-test-import-dependency.zip")) + } + + jvmMain.dependencies { + proto(files("jvm-main-dependency.zip")) + protoImport(files("jvm-main-import-dependency.zip")) + } + jvmTest.dependencies { + proto(files("jvm-test-dependency.zip")) + protoImport(files("jvm-test-import-dependency.zip")) + } + } +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 +} + +rpc { + protoc() +} + +configurations.all { + if (name.endsWith("Proto") || name.endsWith("ProtoImport")) { + println("configuration: $name") + } +} + +dependencies { + // KMP android non-executable + "androidMainProto"(files("android-main-dependency.zip")) + "androidMainProtoImport"(files("android-main-import-dependency.zip")) + + "androidTestProto"(files("android-test-dependency.zip")) + "androidTestProtoImport"(files("android-test-import-dependency.zip")) + + "androidUnitTestProto"(files("android-unit-test-dependency.zip")) + "androidUnitTestProtoImport"(files("android-unit-test-import-dependency.zip")) + + "androidInstrumentedTestProto"(files("android-instrumented-test-dependency.zip")) + "androidInstrumentedTestProtoImport"(files("android-instrumented-test-import-dependency.zip")) + + // KMP android executable (these are created in a wierd way and probably are not used in real life anyway) + afterEvaluate { + "androidDebugProto"(files("android-debug-dependency.zip")) + "androidDebugProtoImport"(files("android-debug-import-dependency.zip")) + + "androidReleaseProto"(files("android-release-dependency.zip")) + "androidReleaseProtoImport"(files("android-release-import-dependency.zip")) + + "androidUnitTestDebugProto"(files("android-unit-test-debug-dependency.zip")) + "androidUnitTestDebugProtoImport"(files("android-unit-test-debug-import-dependency.zip")) + + "androidUnitTestReleaseProto"(files("android-unit-test-release-dependency.zip")) + "androidUnitTestReleaseProtoImport"(files("android-unit-test-release-import-dependency.zip")) + + "androidInstrumentedTestDebugProto"(files("android-instrumented-test-debug-dependency.zip")) + "androidInstrumentedTestDebugProtoImport"(files("android-instrumented-test-debug-import-dependency.zip")) + } + + // legacy android non-executable + proto(files("main-dependency.zip")) + protoImport(files("main-import-dependency.zip")) + + testProto(files("test-dependency.zip")) + testProtoImport(files("test-import-dependency.zip")) + + testFixturesProto(files("test-fixtures-dependency.zip")) + testFixturesProtoImport(files("test-fixtures-import-dependency.zip")) + + testFixturesDebugProto(files("test-fixtures-debug-dependency.zip")) + testFixturesDebugProtoImport(files("test-fixtures-debug-import-dependency.zip")) + + testFixturesReleaseProto(files("test-fixtures-release-dependency.zip")) + testFixturesReleaseProtoImport(files("test-fixtures-release-import-dependency.zip")) + + androidTestProto(files("android-test-dependency.zip")) + androidTestProtoImport(files("android-test-import-dependency.zip")) + + // legacy android variants + debugProto(files("debug-dependency.zip")) + debugProtoImport(files("debug-import-dependency.zip")) + + releaseProto(files("release-dependency.zip")) + releaseProtoImport(files("release-import-dependency.zip")) + + testDebugProto(files("test-debug-dependency.zip")) + testDebugProtoImport(files("test-debug-import-dependency.zip")) + + testReleaseProto(files("test-release-dependency.zip")) + testReleaseProtoImport(files("test-release-import-dependency.zip")) + + androidTestDebugProto(files("android-test-debug-dependency.zip")) + androidTestDebugProtoImport(files("android-test-debug-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..226ba49341e3778eb233074df6a07492be93f2f4 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}j8cKQX9$oN4#dJhoSdJVo1f>Kn3?C2TA)`@lwXoBdd85i zL4k+iz~1#4KN<^F{C557V3Ts1GL1p1^W*zhRfn(Y_3F*J@MMv%dorWZ&R(X)&(A!H zjQMX+xYqvMtVyT50>#c%Fel}zdL5Yjt$BaOh7Sk01H2iTM3`|q1LzVkXkY|USR57L S&B_LnVgy1*Al(Y$FaQ8xVMGuB literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..d7ce64fc953e2be4c4cbbbaca060cf4d88795991 GIT binary patch literal 237 zcmWIWW@Zs#U|`^2I5c@}OmfiQ`;kCiED%cqadLicZhoF`VrHIaZb5!giA!pMUO`cQ zNxtYAL#_q`9)<(9>pA{5T69g;Gj10F c9R&srj35f9`vSaK*+2>yfzTaDPXKWk00mM?$N&HU literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..fafff5890d4216f76f76e19d843dec57ee68bd65 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}Oz))n#UVgmI1md1adLicZhl@!YH^86YJpxsQGQ9j=ov%4 z1_d651AEtJ{Aesx@%zPM@3278EtAt#+3;U%Ouj{K%-vq$SusmaW#~AR)s;^)2vFlY zvai%<$*;#cnw;yGlrHSySIE+pcHeWSFsPr6TfZj2n~_O`8MiZlE&+oEMi7O?Q32kp QY#=E{Aan%Mtso8q075)JJpcdz literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..4f463794b1e270b50cd3fefbad6bf3fda3643e75 GIT binary patch literal 236 zcmWIWW@Zs#U|`^2I5c@}jI%@8{0JZ~7KkN*I5|HzH$N{VwYbDHw;;c$#3i*rub?Qu zBwzH5Ay8JR?waXSd; cCNOAV1W`Dh7vRmx22#KXgziAPAH-n*0R6p5^8f$< literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..86bb2e511b4f51ba8639d2d6367e01f5f5c11d61 GIT binary patch literal 206 zcmWIWW@Zs#U|`^2I5c@}jKI}zJ^?^p5D@bLaY|}ZX}U{lfnGsTeo4Oex-;6IYXUZe z254!V(m!b)w&~d;Ef1e_em?%89-g`$XT3eodaq;QdbUhVyqP67XtLMk*dT6^RXasQ zy1cuLK3@_&B~ZGdzQ Hh{FH?{$4oD literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..e255a48153132171e764cb78fd25cb31970b88b9 GIT binary patch literal 223 zcmWIWW@Zs#U|`^2I5c@}%Om z*Py_|aAEKAj2(@IDtS6`i=CW%n0V!t4e!Oq-2dR!KQ%8Vz|+t4tQRxK&1Rd$$q!#x z+_Ez$(6pDjH!Hq*NenNyT|-3Hy~W47&mBviWwPf3V}Lg!lL#|zhXCCI1`UiL3Y)V6 Syjj^ma*ROe1f<(R90mY`0YkU| literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..90644d21f278903ff6714ca83576785607a3fe15 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}jAveKXAqDV0>lD9oK=?Vo0ysBl3JiwP?TSiuf6V!w&$9F z4WR*A8mIJ6nul$A_DIXa=bWF9f2fD2uE$w#&$Hg^Sh$`o6BBP{*?X#}R@nG+Oc1xo zs+}StUEW)iHYPc>CP_s}&UwSOdHnnM9azI|k?;Flb-| XQP`ap;LXYgl4S%!7a-jY;xGUJ8xKM@ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..6ffba262909823e9f163f75f36ef1b5927c95760 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}%(EWRf literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3437c1f460e27592750d266df208f2087a653cfc GIT binary patch literal 229 zcmWIWW@Zs#U|`^2I5c@}jGXww=ixwJ6cCF6aaLJwNNRD3XKq1$QHe`xfnGsTeo4OQ z8AHAX1s;Y2d)H_DXe?C8)3f@`$kc1dWwJ%8^W*zRRfj!&U**YMC^$K*I+^jt&%0|| z8fOG8c#?hCL&^SJc#KC$*PQOYBR?1xW!${fHQm}TD?I&SD}R7DBa;X-ZpQ%K0|pI@ XAPT$F0=!w-K(dTL=mMm>K^z7E?(sDePK51(^>KK`K|p1K}qy*dT?OJW F006*1HnRW# literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..970e9315820332df54fd1cc257ec842643e7c483 GIT binary patch literal 221 zcmWIWW@Zs#U|`^2I5c@}%nh#ZO`$+uI1md1ac*K}o@Z`Beo=`_YJpxsQGQ9j_PR6L zo@)X&ga&A7oYFsO9=7S(BP|b~bACSlp&p*P9%sEh&w8(8;d-`AOuU(;R@nHnO)>YU zZm*aiZjn_xMMS#1yNo_x5=oR|CK*+HwTO`+z?+dtgc-LxfKCB}21XEt#Z>{` RtZX1DMj&(q(rq9P0|1n%KMMc= literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/release-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..e7b3feb6e7eed74907b97c3ab0a148e81a3e6486 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}Ojr=-gdiX<1c(KIxF|IzHL*C=CAC1WpeVm2UwhpdZO=6U z8$tuLG*0QCG!NVK?2(p-&pAII|4FTPKKXqX|Hn7$JJ*Z zFu3w`?5o>x_|0)n=_3a3W)(>;s1e>gb?Fp>d;1SQXc0}L7%K@_Hw0=!w- PKr)O#=m4afK^z7EVjMxw literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f15b2172185e866032e15f111b581e247241e8cb GIT binary patch literal 234 zcmWIWW@Zs#U|`^2I5c@}%!KVG4G}sE4Pn$60UBv)=1ixSlN&6K`g54(j%f z37YJ6*|wPbQ+LA|rq(Py*49Up7MiDePK51(^>KK`K|p1K}qy*AAs8!6{0 zclKEF$4w9rYuQ;>;qc_R;G)A-nI{FhS5|Z%F*odfW?Er)H||62+J)_L0p5&EBFwm* e1auV`G%$iF+zt%zW@Q7ZU<5)BAUzSpVE_OfnM|bs literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3da5dd47d4cd77f139487520f4af4b2e20c8e2b7 GIT binary patch literal 255 zcmWIWW@Zs#U|`^2I5c@}%%>P_)mR`e1&9@ZxFof>#4WR;q_ilt*d;ZoG~F||Ait=@ zCAC1WpeVm2U-XP2SAzi$>jm589QPb#j{35c>j!)dcFA>~+@*9cHunC9FI><3@^(xR z(G7F;RmqE*%YI&TGX literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..0c2cda598d7cc20520abf845165cfad44e768feb GIT binary patch literal 226 zcmWIWW@Zs#U|`^2I5c@}jN6-bmoOkN5{N~CxFof>#4WR;q_ilt*d?_hs%)eY>5AbGW5@E*e6rgLspn(xY WVRcx5H!B-Rk`V}zEMD4JP=C*aY<@%iCbnxNoi4Pv1e{Ueo=`_YJpxs zQGQ9j=ov$<1_K_}3%1KS?m5VG&*pd+x8RDu;8tE=5!XGtckO%la_X7+cZyV1qw}=f zRqS-^n$$TiwTP_aH(&A3!fEY%|J&RpH&n!5E7S;Yj+z<#1Yqs;W+ ztuBtwV#7W(G3-BZe&++mtMckAc%wIIJGonQEOLL)KI7`6XW{#f#%d(rz2q$);LXS+ h!i?KhK!<@r10#sS=f(hURyL3tMj-S8(o;Yj1^_ySPg(!~ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-release-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..2f22a97de4dc1b615f0d0aa3679ba0638d2d8714 GIT binary patch literal 259 zcmWIWW@Zs#U|`^2I5c@}%>6Vy%~&8W4TzP1xFof>#4WR;q_iltI4CtIHL*C=Gq)hW zsKh0;K(C-Eza(Guj3bvrfB@TrzjKm`m?Ka5oeI-4_^AGH@5{3SC+}|jD>gs&;L|5v z#=aMmCr)+II;p|g6k*2(c(byBR5Ai#0Fa&w;xGUJW=B|m literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..c35ced988980e6e6b4e7557fafbd2d4db53b3aef GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}%nym0Lm@z3I1md1aY<@%iDzy>eo=`_YJpxsQGQ9j=ov%4 z1_d651AEtJ{Aesx$csw~i)n)pTrLTN?_!YXY>ALT^QyA3G#;soy;LXS+!i?J)K$n0)10#sS;-~;` RRyL3nBM>?Q=~fVj0RV5ML#F@$ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-release-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f3eb69927613a617506e91872ec2a7db756fcea9 GIT binary patch literal 222 zcmWIWW@Zs#U|`^2I5c@}On+~`K?sl+0mLBDlGNgopwyhy#Nt$!)B?SNqWqG4(K81* z8w_|@FH|q%xa(lkWv(tD&hb@w(X|UM8#{KdzFuAtHtFBq%i}HL*C=Gq)hWsKh0;K(C-E zza(Guj3J+cg8=J=IzPig=D;q$#iHUfJ}5WcJ$X(*y0Co9`ig1Ir;qZA&subR)r!uL zW1(puSX^fa9Q*T-Z?io6jPExT+VZZ?*wgyS_sp|QPUHETWPj}2w5&ZYz?+dtgc-Ms dfQ|x#21XEt+kFAvtZX0^j6moCq$hwl3;>0lOnm?V literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-debug-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..170ca4c65461e91bb1c64d90bbbe556fd7ea4645 GIT binary patch literal 225 zcmWIWW@Zs#U|`^2I5c@}%tEJP*H9oY5{N~CI597!C_gjBB{iuu-6gd^ub?QuBwzH5 zH&=s#0KX>F(lp1V_vAP z`0dC#ew&q3uj7%cTxZMeKDi|~{f+(U~9pKH%22#ujguy_18HmFG0PGc7 A=Kufz literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..e4797ea35f1eb95ec5bfb86cccbe04022e545247 GIT binary patch literal 287 zcmWIWW@Zs#U|`^2I5c@}jFm;PPdbp755(F)oS2tVl%JX6nO9s=RGOQbSCX0%l3HBi zlA2VS?wMPVUj$?p=oJ*@m*k7~I&v`?^0ZhbNed;XnnOFAYX8iyHGY1^*u}2s*7bx$26tGxMjm<5SjNkx2Zb z`0QF(><^#cjo<3Nd|4_V;LXS+!i?LYK(~TH10#qc&e;LptZX3Fj6fIyq?dy@3;_Pf BU?%_o literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..1b8be941356deff6266b98c3d878765914b03ce7 GIT binary patch literal 223 zcmWIWW@Zs#U|`^2I5c@}%;KNk<)J`c1Q3Hn6Z2Av@-tI>6EpK%QVaA7it5g^qWsJh-^9#3&)kCiq7s+X0=5g^qWsL1pwyhy#Nt$!)B?SNqWqG4 z(K81*8w_|@FH|q%$WxH(W1|;BAvRa zk}?w(GQL{RZ$9I%MTSNur?Aoy1EtTtXTnY|GL{!AuZev9Vxf3|HzSh>Gj7)a9Rvmq Yj35e!+XB2<*+9~aKHq)$ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-release-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..ea2377613d3435e64f77bef2d8a34504d2424a3d GIT binary patch literal 247 zcmWIWW@Zs#U|`^2I5c@}OwP=`qR~KJA`r`h=)9Do{LGY~)ST4B;#AMvg8ZTqm(&8i zf};GAe9<$8d=3r*tQYG13=5e9yPOtX+;#BCzm9~mO`BUfb}z0y`q_K)oI3@Hn$IFc zO(&k*ae{@5g^qWsL1kksN5m(--vbeGfuy@I0r zl6=uK8#x;c1XwTpTV`>`L8rNOf?$k-+I)pqs!tYaJbIV)yKDLMkn*DQzIrQ{tuu7F z`SYl2fkPWh$9}sz3w}LTSh&Qp=R%g@+lxw{ea}Rl)|tq^{oRjU*Dg5g2Y53wi7?}K e5ztX!(7*_yaJnzRo0ScufDs7Yf%F6rhXDY*&`>@A literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..09462b160ad8350ade17eb05b015cc741a3bca80 GIT binary patch literal 254 zcmWIWW@Zs#U|`^2I5c@}4DYt>2jhUeWFVFY;>5g^qWsL1kksN5m(--vbkE#^{30N; zK(C-Eza(Guj3HNp0guB)+vObh9AvtiA3S=;nkC(parr_>;E~p|g6gGDS Sc(byB5-v_01ZYzPg|(m17m(mZU_vqxGUKIi;={6jrFbv@2{d!F@P$HMh&nV5Jp zi|ps1u206nPM?juor1c(V}d4oU5*Xn7Fo4ZM5N2R%jokZ(NjXjUcrrSQc=ZMix?RK lycwB9m~p!e=sYlJU<6TkT^iuc$_7%z2!!51dKQSo006N)ONIad literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..8e3d505abb61156a548f9cefdbe45f7be76e508e GIT binary patch literal 267 zcmWIWW@Zs#U|`^2I5c@}Oww-`>trA=9f*~II597!C_ghLG%vFxB(=E2B{iuu-7~i! zzX-@I&?_j)FUi+lcShTDO~8iG047PA&&NO1!&BGetheV`?{zF( z&z6aaH?zoo4(j@39PISj$lEEX+dC#`ve#wXV(w4f4QH5Iv-DV7A5B_xW=~1$rXzDM wg)BJOb}eRW3`2l7Ba;X-ZdU>w3I+{~Ac_b#2Y9oxfs`@=VIYuR0^%?L0I)Dt#sB~S literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..23ca25887d13d7ebaeab2f20e56864debfb54f1d GIT binary patch literal 234 zcmWIWW@Zs#U|`^2I5c@}%**1-u@OLC3=m5IabjLdQGRAhXkKPXNNRD3OKO2$K~a85 zzUUc4t_A}hh6A?iIsP_Uh_N43f5F_vyL3fn=Awur`=hT*`)RG-UFa~``_dI@?g@8y z?R0pdDO~+%tC@|*lj9R>Jum9Zl&W3qG_q^Zh*DzTbEhuowiUO2O@KEelL#|z_W+#) a1`UiL3YY5wyjj^m@{B;}2BiBy90mYV4oD3E literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..5f4122220bd7ed074bb3571b6e4576435ac0621e GIT binary patch literal 250 zcmWIWW@Zs#U|`^2I5c@}47;?$!WbYg35ex@I597!C_ghLG%vFxB(=E2Gq)hWsKh0; zK(C-Eza(Guj3HNp0T06g+w~m(9AvtiA3R#euVLm9c=>`$;F0~&*QNdP&FT}or#?wp zxl*R#N99-ULDBLpfN?UBuws|b_4k4!}irf4x3$V;)*RKii kW@Hj!#_ckoB`sQ>@~ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..0908c3d717801f255195a50c15709ca000143aa5 GIT binary patch literal 255 zcmWIWW@Zs#U|`^2I5c@}3}f6o*?1r?8HnY9I597!C_ghLG%vFxB(=CCC^aWFu{hNw zwLq_+D8D3M^o%1{vw;BXg}-x>KCnG9+M!X=6vS^Zqo3uiO3E@<&3k(be~X>>E48e6 zvhK>8$`?$56H_OP$^yzQOK~3pYL!N%#HN^i$aSh{3`S{WH#HUz)mqQ~iZY qb{Aah1H2iTM3`~A4(LEIXkY|U1l$_n&B_K+#t4MIKza^{!vFx!t5r+@ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..1e4c446f2fc235afd99f4e830719e8e63713c8a1 GIT binary patch literal 272 zcmWIWW@Zs#U|`^2I5c@}%)=vh1yX>#OdwVT;>5g^qWsL1(7eo&kksOmpwyhy#Nt%X z+=Bd~5|`8hy@I0rl6=uKhFr}K0<0J6{0u9YH%<|0G|6n1ODM44v|{t&b1E)Jb|2re zzG7eYiRt-wB6I_HEmJp|DK_&UC!6nu%>4z;zvbW0$~u{OMTXfXE<&;IdD_xr%*WUb ztFNpvu1~3byz2Hmzh8_2-i%Bl%(xv2bSoG%FoGzeoE_lJ$_7%*2!z2vdO3*0004*P BTg(6e literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/build.gradle.kts new file mode 100644 index 000000000..6783666db --- /dev/null +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/build.gradle.kts @@ -0,0 +1,115 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +import org.gradle.kotlin.dsl.version +import kotlinx.rpc.protoc.* + +plugins { + kotlin("multiplatform") version "" + id("org.jetbrains.kotlinx.rpc.plugin") version "" + id("com.android.application") version "" +} + +kotlin { + jvm() + + androidTarget { } + + sourceSets { + commonMain.dependencies { + proto(files("common-main-dependency.zip")) + protoImport(files("common-main-import-dependency.zip")) + } + commonTest.dependencies { + proto(files("common-test-dependency.zip")) + protoImport(files("common-test-import-dependency.zip")) + } + + jvmMain.dependencies { + proto(files("jvm-main-dependency.zip")) + protoImport(files("jvm-main-import-dependency.zip")) + } + jvmTest.dependencies { + proto(files("jvm-test-dependency.zip")) + protoImport(files("jvm-test-import-dependency.zip")) + } + } +} + +android { + namespace = "com.example.myapp" + compileSdk = 34 +} + +rpc { + protoc() +} + +dependencies { + // KMP android non-executable + "androidMainProto"(files("android-main-dependency.zip")) + "androidMainProtoImport"(files("android-main-import-dependency.zip")) + + "androidTestProto"(files("android-test-dependency.zip")) + "androidTestProtoImport"(files("android-test-import-dependency.zip")) + + "androidUnitTestProto"(files("android-unit-test-dependency.zip")) + "androidUnitTestProtoImport"(files("android-unit-test-import-dependency.zip")) + + "androidInstrumentedTestProto"(files("android-instrumented-test-dependency.zip")) + "androidInstrumentedTestProtoImport"(files("android-instrumented-test-import-dependency.zip")) + + // KMP android executable (these are created in a wierd way and probably are not used in real life anyway) + afterEvaluate { + "androidDebugProto"(files("android-debug-dependency.zip")) + "androidDebugProtoImport"(files("android-debug-import-dependency.zip")) + + "androidReleaseProto"(files("android-release-dependency.zip")) + "androidReleaseProtoImport"(files("android-release-import-dependency.zip")) + + "androidUnitTestDebugProto"(files("android-unit-test-debug-dependency.zip")) + "androidUnitTestDebugProtoImport"(files("android-unit-test-debug-import-dependency.zip")) + + "androidUnitTestReleaseProto"(files("android-unit-test-release-dependency.zip")) + "androidUnitTestReleaseProtoImport"(files("android-unit-test-release-import-dependency.zip")) + + "androidInstrumentedTestDebugProto"(files("android-instrumented-test-debug-dependency.zip")) + "androidInstrumentedTestDebugProtoImport"(files("android-instrumented-test-debug-import-dependency.zip")) + } + + // legacy android non-executable + proto(files("main-dependency.zip")) + protoImport(files("main-import-dependency.zip")) + + testProto(files("test-dependency.zip")) + testProtoImport(files("test-import-dependency.zip")) + + testFixturesProto(files("test-fixtures-dependency.zip")) + testFixturesProtoImport(files("test-fixtures-import-dependency.zip")) + + testFixturesDebugProto(files("test-fixtures-debug-dependency.zip")) + testFixturesDebugProtoImport(files("test-fixtures-debug-import-dependency.zip")) + + testFixturesReleaseProto(files("test-fixtures-release-dependency.zip")) + testFixturesReleaseProtoImport(files("test-fixtures-release-import-dependency.zip")) + + androidTestProto(files("android-test-dependency.zip")) + androidTestProtoImport(files("android-test-import-dependency.zip")) + + // legacy android variants + debugProto(files("debug-dependency.zip")) + debugProtoImport(files("debug-import-dependency.zip")) + + releaseProto(files("release-dependency.zip")) + releaseProtoImport(files("release-import-dependency.zip")) + + testDebugProto(files("test-debug-dependency.zip")) + testDebugProtoImport(files("test-debug-import-dependency.zip")) + + testReleaseProto(files("test-release-dependency.zip")) + testReleaseProtoImport(files("test-release-import-dependency.zip")) + + androidTestDebugProto(files("android-test-debug-dependency.zip")) + androidTestDebugProtoImport(files("android-test-debug-import-dependency.zip")) +} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..226ba49341e3778eb233074df6a07492be93f2f4 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}j8cKQX9$oN4#dJhoSdJVo1f>Kn3?C2TA)`@lwXoBdd85i zL4k+iz~1#4KN<^F{C557V3Ts1GL1p1^W*zhRfn(Y_3F*J@MMv%dorWZ&R(X)&(A!H zjQMX+xYqvMtVyT50>#c%Fel}zdL5Yjt$BaOh7Sk01H2iTM3`|q1LzVkXkY|USR57L S&B_LnVgy1*Al(Y$FaQ8xVMGuB literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..d7ce64fc953e2be4c4cbbbaca060cf4d88795991 GIT binary patch literal 237 zcmWIWW@Zs#U|`^2I5c@}OmfiQ`;kCiED%cqadLicZhoF`VrHIaZb5!giA!pMUO`cQ zNxtYAL#_q`9)<(9>pA{5T69g;Gj10F c9R&srj35f9`vSaK*+2>yfzTaDPXKWk00mM?$N&HU literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..fafff5890d4216f76f76e19d843dec57ee68bd65 GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}Oz))n#UVgmI1md1adLicZhl@!YH^86YJpxsQGQ9j=ov%4 z1_d651AEtJ{Aesx@%zPM@3278EtAt#+3;U%Ouj{K%-vq$SusmaW#~AR)s;^)2vFlY zvai%<$*;#cnw;yGlrHSySIE+pcHeWSFsPr6TfZj2n~_O`8MiZlE&+oEMi7O?Q32kp QY#=E{Aan%Mtso8q075)JJpcdz literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..4f463794b1e270b50cd3fefbad6bf3fda3643e75 GIT binary patch literal 236 zcmWIWW@Zs#U|`^2I5c@}jI%@8{0JZ~7KkN*I5|HzH$N{VwYbDHw;;c$#3i*rub?Qu zBwzH5Ay8JR?waXSd; cCNOAV1W`Dh7vRmx22#KXgziAPAH-n*0R6p5^8f$< literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..86bb2e511b4f51ba8639d2d6367e01f5f5c11d61 GIT binary patch literal 206 zcmWIWW@Zs#U|`^2I5c@}jKI}zJ^?^p5D@bLaY|}ZX}U{lfnGsTeo4Oex-;6IYXUZe z254!V(m!b)w&~d;Ef1e_em?%89-g`$XT3eodaq;QdbUhVyqP67XtLMk*dT6^RXasQ zy1cuLK3@_&B~ZGdzQ Hh{FH?{$4oD literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..e255a48153132171e764cb78fd25cb31970b88b9 GIT binary patch literal 223 zcmWIWW@Zs#U|`^2I5c@}%Om z*Py_|aAEKAj2(@IDtS6`i=CW%n0V!t4e!Oq-2dR!KQ%8Vz|+t4tQRxK&1Rd$$q!#x z+_Ez$(6pDjH!Hq*NenNyT|-3Hy~W47&mBviWwPf3V}Lg!lL#|zhXCCI1`UiL3Y)V6 Syjj^ma*ROe1f<(R90mY`0YkU| literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-main-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..90644d21f278903ff6714ca83576785607a3fe15 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}jAveKXAqDV0>lD9oK=?Vo0ysBl3JiwP?TSiuf6V!w&$9F z4WR*A8mIJ6nul$A_DIXa=bWF9f2fD2uE$w#&$Hg^Sh$`o6BBP{*?X#}R@nG+Oc1xo zs+}StUEW)iHYPc>CP_s}&UwSOdHnnM9azI|k?;Flb-| XQP`ap;LXYgl4S%!7a-jY;xGUJ8xKM@ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..6ffba262909823e9f163f75f36ef1b5927c95760 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}%(EWRf literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3437c1f460e27592750d266df208f2087a653cfc GIT binary patch literal 229 zcmWIWW@Zs#U|`^2I5c@}jGXww=ixwJ6cCF6aaLJwNNRD3XKq1$QHe`xfnGsTeo4OQ z8AHAX1s;Y2d)H_DXe?C8)3f@`$kc1dWwJ%8^W*zRRfj!&U**YMC^$K*I+^jt&%0|| z8fOG8c#?hCL&^SJc#KC$*PQOYBR?1xW!${fHQm}TD?I&SD}R7DBa;X-ZpQ%K0|pI@ XAPT$F0=!w-K(dTL=mMm>K^z7E?(sDePK51(^>KK`K|p1K}qy*dT?OJW F006*1HnRW# literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/main-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..970e9315820332df54fd1cc257ec842643e7c483 GIT binary patch literal 221 zcmWIWW@Zs#U|`^2I5c@}%nh#ZO`$+uI1md1ac*K}o@Z`Beo=`_YJpxsQGQ9j_PR6L zo@)X&ga&A7oYFsO9=7S(BP|b~bACSlp&p*P9%sEh&w8(8;d-`AOuU(;R@nHnO)>YU zZm*aiZjn_xMMS#1yNo_x5=oR|CK*+HwTO`+z?+dtgc-LxfKCB}21XEt#Z>{` RtZX1DMj&(q(rq9P0|1n%KMMc= literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/release-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..e7b3feb6e7eed74907b97c3ab0a148e81a3e6486 GIT binary patch literal 212 zcmWIWW@Zs#U|`^2I5c@}Ojr=-gdiX<1c(KIxF|IzHL*C=CAC1WpeVm2UwhpdZO=6U z8$tuLG*0QCG!NVK?2(p-&pAII|4FTPKKXqX|Hn7$JJ*Z zFu3w`?5o>x_|0)n=_3a3W)(>;s1e>gb?Fp>d;1SQXc0}L7%K@_Hw0=!w- PKr)O#=m4afK^z7EVjMxw literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f15b2172185e866032e15f111b581e247241e8cb GIT binary patch literal 234 zcmWIWW@Zs#U|`^2I5c@}%!KVG4G}sE4Pn$60UBv)=1ixSlN&6K`g54(j%f z37YJ6*|wPbQ+LA|rq(Py*49Up7MiDePK51(^>KK`K|p1K}qy*AAs8!6{0 zclKEF$4w9rYuQ;>;qc_R;G)A-nI{FhS5|Z%F*odfW?Er)H||62+J)_L0p5&EBFwm* e1auV`G%$iF+zt%zW@Q7ZU<5)BAUzSpVE_OfnM|bs literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-debug-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..3da5dd47d4cd77f139487520f4af4b2e20c8e2b7 GIT binary patch literal 255 zcmWIWW@Zs#U|`^2I5c@}%%>P_)mR`e1&9@ZxFof>#4WR;q_ilt*d;ZoG~F||Ait=@ zCAC1WpeVm2U-XP2SAzi$>jm589QPb#j{35c>j!)dcFA>~+@*9cHunC9FI><3@^(xR z(G7F;RmqE*%YI&TGX literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..0c2cda598d7cc20520abf845165cfad44e768feb GIT binary patch literal 226 zcmWIWW@Zs#U|`^2I5c@}jN6-bmoOkN5{N~CxFof>#4WR;q_ilt*d?_hs%)eY>5AbGW5@E*e6rgLspn(xY WVRcx5H!B-Rk`V}zEMD4JP=C*aY<@%iCbnxNoi4Pv1e{Ueo=`_YJpxs zQGQ9j=ov$<1_K_}3%1KS?m5VG&*pd+x8RDu;8tE=5!XGtckO%la_X7+cZyV1qw}=f zRqS-^n$$TiwTP_aH(&A3!fEY%|J&RpH&n!5E7S;Yj+z<#1Yqs;W+ ztuBtwV#7W(G3-BZe&++mtMckAc%wIIJGonQEOLL)KI7`6XW{#f#%d(rz2q$);LXS+ h!i?KhK!<@r10#sS=f(hURyL3tMj-S8(o;Yj1^_ySPg(!~ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-release-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..2f22a97de4dc1b615f0d0aa3679ba0638d2d8714 GIT binary patch literal 259 zcmWIWW@Zs#U|`^2I5c@}%>6Vy%~&8W4TzP1xFof>#4WR;q_iltI4CtIHL*C=Gq)hW zsKh0;K(C-Eza(Guj3bvrfB@TrzjKm`m?Ka5oeI-4_^AGH@5{3SC+}|jD>gs&;L|5v z#=aMmCr)+II;p|g6k*2(c(byBR5Ai#0Fa&w;xGUJW=B|m literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-import-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..c35ced988980e6e6b4e7557fafbd2d4db53b3aef GIT binary patch literal 220 zcmWIWW@Zs#U|`^2I5c@}%nym0Lm@z3I1md1aY<@%iDzy>eo=`_YJpxsQGQ9j=ov%4 z1_d651AEtJ{Aesx$csw~i)n)pTrLTN?_!YXY>ALT^QyA3G#;soy;LXS+!i?J)K$n0)10#sS;-~;` RRyL3nBM>?Q=~fVj0RV5ML#F@$ literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-release-dependency.zip new file mode 100644 index 0000000000000000000000000000000000000000..f3eb69927613a617506e91872ec2a7db756fcea9 GIT binary patch literal 222 zcmWIWW@Zs#U|`^2I5c@}On+~`K?sl+0mLBDlGNgopwyhy#Nt$!)B?SNqWqG4(K81* z8w_|@FH|q%xa(lkWv(tD&hb@w(X|UM8#{KdzFuAtHtFBq%i}HL*C=Gq)hWsKh0;K(C-E zza(Guj3J+cg8=J=IzPig=D;q$#iHUfJ}5WcJ$X(*y0Co9`ig1Ir;qZA&subR)r!uL zW1(puSX^fa9Q*T-Z?io6jPExT+VZZ?*wgyS_sp|QPUHETWPj}2w5&ZYz?+dtgc-Ms dfQ|x#21XEt+kFAvtZX0^j6moCq$hwl3;>0lOnm?V literal 0 HcmV?d00001 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/build.gradle.kts deleted file mode 100644 index 7d332f946..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/build.gradle.kts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. - */ - -import org.gradle.kotlin.dsl.version - -plugins { - kotlin("multiplatform") version "" - id("org.jetbrains.kotlinx.rpc.plugin") version "" -} - -kotlin { - jvm() - macosArm64() -} - -rpc { - protoc() -} - -dependencies { - // Declared on commonMain only. Must propagate to jvmMain and macosArm64Main - // via extendsFrom — the entire point of "configurations are transitive". - commonMainProtoImport(files("common-main-import-dependency.zip")) -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/common-main-import-dependency.zip deleted file mode 100644 index d94f39c29f07e415b0b4fd0cb4643c8eef100892..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmWIWW@Zs#U|`^2m^5icOmfiQ`;kCiED%cqadLicZhoF`VrHIaZb5!giA!pMUO`cQ zNxtYAL#_q`9)<(9>pA{5T69g;Gj10F c9R&srj35f9`vSaK*+2>yfzTaDPXKWk0K{QRTmS$7 diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/src/commonMain/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/src/commonMain/proto/some.proto deleted file mode 100644 index f7e4bfa3f..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_kmp_hierarchy_propagation/src/commonMain/proto/some.proto +++ /dev/null @@ -1,8 +0,0 @@ -syntax = "proto3"; - -import "commonMainImportDep.proto"; - -message Some { - string content = 1; - dependency.CommonMainImportDep dep = 2; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/build.gradle.kts deleted file mode 100644 index 3f57b2203..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_hierarchy/build.gradle.kts +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. - */ - -import org.gradle.kotlin.dsl.version - -plugins { - kotlin("multiplatform") version "" - id("org.jetbrains.kotlinx.rpc.plugin") version "" -} - -kotlin { - jvm() - js { - nodejs() - } - macosArm64() - - // Explicitly apply the default hierarchy template to materialize intermediate source sets - // (nativeMain/Test, appleMain/Test, macosMain/Test, webMain/Test) synchronously. Without - // this call the template would auto-apply only at the end of evaluation, and the matching - // Proto/ProtoImport configurations wouldn't exist when the top-level - // `dependencies { }` block below evaluates. - applyDefaultHierarchyTemplate() -} - -rpc { - protoc() -} - -// Each source set declares its own pair of zip dependencies: -// Proto — codegen, propagates to descendants as codegen via extendsFrom -// ProtoImport — import-only, propagates to descendants as imports via extendsFrom -dependencies { - "commonMainProto"(files("common-main-dependency.zip")) - "commonMainProtoImport"(files("common-main-import-dependency.zip")) - "commonTestProto"(files("common-test-dependency.zip")) - "commonTestProtoImport"(files("common-test-import-dependency.zip")) - - "nativeMainProto"(files("native-main-dependency.zip")) - "nativeMainProtoImport"(files("native-main-import-dependency.zip")) - "nativeTestProto"(files("native-test-dependency.zip")) - "nativeTestProtoImport"(files("native-test-import-dependency.zip")) - - "appleMainProto"(files("apple-main-dependency.zip")) - "appleMainProtoImport"(files("apple-main-import-dependency.zip")) - "appleTestProto"(files("apple-test-dependency.zip")) - "appleTestProtoImport"(files("apple-test-import-dependency.zip")) - - "macosMainProto"(files("macos-main-dependency.zip")) - "macosMainProtoImport"(files("macos-main-import-dependency.zip")) - "macosTestProto"(files("macos-test-dependency.zip")) - "macosTestProtoImport"(files("macos-test-import-dependency.zip")) - - "macosArm64MainProto"(files("macos-arm64-main-dependency.zip")) - "macosArm64MainProtoImport"(files("macos-arm64-main-import-dependency.zip")) - "macosArm64TestProto"(files("macos-arm64-test-dependency.zip")) - "macosArm64TestProtoImport"(files("macos-arm64-test-import-dependency.zip")) - - "jvmMainProto"(files("jvm-main-dependency.zip")) - "jvmMainProtoImport"(files("jvm-main-import-dependency.zip")) - "jvmTestProto"(files("jvm-test-dependency.zip")) - "jvmTestProtoImport"(files("jvm-test-import-dependency.zip")) - - "webMainProto"(files("web-main-dependency.zip")) - "webMainProtoImport"(files("web-main-import-dependency.zip")) - "webTestProto"(files("web-test-dependency.zip")) - "webTestProtoImport"(files("web-test-import-dependency.zip")) - - "jsMainProto"(files("js-main-dependency.zip")) - "jsMainProtoImport"(files("js-main-import-dependency.zip")) - "jsTestProto"(files("js-test-dependency.zip")) - "jsTestProtoImport"(files("js-test-import-dependency.zip")) -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/common-test-import-dependency.zip deleted file mode 100644 index 0cf4e81c65ef9941887383e644936277f1939f4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmWIWW@Zs#U|`^2m^5icjI%@8{0JZ~7KkN*I5|HzH$N{VwYbDHw;;c$#3i*rub?Qu zBwzH5Ay8JR?waXSd; cCNOAV1W`Dh7vRmx22#KXgziAPAH-n*0KE}OhX4Qo diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonMain/proto/some.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonMain/proto/some.proto deleted file mode 100644 index 9ce4a4156..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonMain/proto/some.proto +++ /dev/null @@ -1,5 +0,0 @@ -syntax = "proto3"; - -message Some { - string content = 1; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonTest/proto/other.proto b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonTest/proto/other.proto deleted file mode 100644 index 6c5d99cbd..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_per_source_set_kmp_dsl/src/commonTest/proto/other.proto +++ /dev/null @@ -1,8 +0,0 @@ -syntax = "proto3"; - -import "commonTestImportDep.proto"; - -message Other { - string content = 1; - dependency.CommonTestImportDep dep = 2; -} diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/build.gradle.kts deleted file mode 100644 index e0faa03dc..000000000 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/imports_from_provider_source_set/build.gradle.kts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. - */ - -import org.gradle.kotlin.dsl.version - -plugins { - kotlin("multiplatform") version "" - id("org.jetbrains.kotlinx.rpc.plugin") version "" -} - -kotlin { - jvm() - sourceSets { - create("common2") - } -} - -rpc { - protoc() -} - -protoSourceSets { - named("commonMain") { - importsFrom(project.provider { protoSourceSets.getByName("common2") }) - } -} - -dependencies { - // Exercises ConfigurationCompat.extendsFromLazy through the public - // importsFrom(Provider) path. On Gradle 9.4+ this uses - // Configuration.extendsFrom(Provider); on 8.8–9.3 it falls back to the - // legacy ListProperty plumbing in DefaultProtoSourceSet. - // String accessor — common2 source set is declared in this script, - // so no precompiled Kotlin DSL accessor is generated. - "common2ProtoImport"(files("common-2-import-dependency.zip")) -} From 8df9d8875ee7abd2c0f9a32a6d155ccef7de1c51 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Wed, 13 May 2026 21:45:30 +0200 Subject: [PATCH 8/9] Move zips into subdirs --- .../kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt | 2 +- .../build.gradle.kts | 2 +- .../{ => zip}/dependency-protos.zip | Bin .../build.gradle.kts | 2 +- .../{ => zip}/dependency-protos.zip | Bin .../build.gradle.kts | 44 ++++---- .../android-test-debug-dependency.zip | Bin .../android-test-debug-import-dependency.zip | Bin .../{ => zip}/android-test-dependency.zip | Bin .../android-test-import-dependency.zip | Bin .../{ => zip}/debug-dependency.zip | Bin .../{ => zip}/debug-import-dependency.zip | Bin .../{ => zip}/main-dependency.zip | Bin .../{ => zip}/main-import-dependency.zip | Bin .../{ => zip}/release-dependency.zip | Bin .../{ => zip}/release-import-dependency.zip | Bin .../{ => zip}/test-debug-dependency.zip | Bin .../test-debug-import-dependency.zip | Bin .../{ => zip}/test-dependency.zip | Bin .../test-fixtures-debug-dependency.zip | Bin .../test-fixtures-debug-import-dependency.zip | Bin .../{ => zip}/test-fixtures-dependency.zip | Bin .../test-fixtures-import-dependency.zip | Bin .../test-fixtures-release-dependency.zip | Bin ...est-fixtures-release-import-dependency.zip | Bin .../{ => zip}/test-import-dependency.zip | Bin .../{ => zip}/test-release-dependency.zip | Bin .../test-release-import-dependency.zip | Bin .../build.gradle.kts | 44 ++++---- .../android-test-debug-dependency.zip | Bin .../android-test-debug-import-dependency.zip | Bin .../{ => zip}/android-test-dependency.zip | Bin .../android-test-import-dependency.zip | Bin .../{ => zip}/debug-dependency.zip | Bin .../{ => zip}/debug-import-dependency.zip | Bin .../{ => zip}/main-dependency.zip | Bin .../{ => zip}/main-import-dependency.zip | Bin .../{ => zip}/release-dependency.zip | Bin .../{ => zip}/release-import-dependency.zip | Bin .../{ => zip}/test-debug-dependency.zip | Bin .../test-debug-import-dependency.zip | Bin .../{ => zip}/test-dependency.zip | Bin .../test-fixtures-debug-dependency.zip | Bin .../test-fixtures-debug-import-dependency.zip | Bin .../{ => zip}/test-fixtures-dependency.zip | Bin .../test-fixtures-import-dependency.zip | Bin .../test-fixtures-release-dependency.zip | Bin ...est-fixtures-release-import-dependency.zip | Bin .../{ => zip}/test-import-dependency.zip | Bin .../{ => zip}/test-release-dependency.zip | Bin .../test-release-import-dependency.zip | Bin .../dependency_proto_codegen/build.gradle.kts | 2 +- .../{ => zip}/dependency-protos.zip | Bin .../build.gradle.kts | 4 +- .../{ => zip}/main-dependency.zip | Bin .../{ => zip}/main-import-dependency.zip | Bin .../dependency_proto_import/build.gradle.kts | 2 +- .../{ => zip}/dependency-protos.zip | Bin .../build.gradle.kts | 2 +- .../{ => zip}/test-dependency.zip | Bin .../build.gradle.kts | 2 +- .../{ => zip}/test-import-dependency.zip | Bin .../build.gradle.kts | 2 +- .../{ => zip}/common-2-import-dependency.zip | Bin .../dependency_kmp_hierarchy/build.gradle.kts | 64 ++++++------ .../{ => zip}/apple-main-dependency.zip | Bin .../apple-main-import-dependency.zip | Bin .../{ => zip}/apple-test-dependency.zip | Bin .../apple-test-import-dependency.zip | Bin .../{ => zip}/common-main-dependency.zip | Bin .../common-main-import-dependency.zip | Bin .../{ => zip}/common-test-dependency.zip | Bin .../common-test-import-dependency.zip | Bin .../{ => zip}/js-main-dependency.zip | Bin .../{ => zip}/js-main-import-dependency.zip | Bin .../{ => zip}/js-test-dependency.zip | Bin .../{ => zip}/js-test-import-dependency.zip | Bin .../{ => zip}/jvm-main-dependency.zip | Bin .../{ => zip}/jvm-main-import-dependency.zip | Bin .../{ => zip}/jvm-test-dependency.zip | Bin .../{ => zip}/jvm-test-import-dependency.zip | Bin .../{ => zip}/macos-arm64-main-dependency.zip | Bin .../macos-arm64-main-import-dependency.zip | Bin .../{ => zip}/macos-arm64-test-dependency.zip | Bin .../macos-arm64-test-import-dependency.zip | Bin .../{ => zip}/macos-main-dependency.zip | Bin .../macos-main-import-dependency.zip | Bin .../{ => zip}/macos-test-dependency.zip | Bin .../macos-test-import-dependency.zip | Bin .../{ => zip}/native-main-dependency.zip | Bin .../native-main-import-dependency.zip | Bin .../{ => zip}/native-test-dependency.zip | Bin .../native-test-import-dependency.zip | Bin .../{ => zip}/web-main-dependency.zip | Bin .../{ => zip}/web-main-import-dependency.zip | Bin .../{ => zip}/web-test-dependency.zip | Bin .../{ => zip}/web-test-import-dependency.zip | Bin .../build.gradle.kts | 20 ++-- .../{ => zip}/android-main-dependency.zip | Bin .../android-main-import-dependency.zip | Bin .../{ => zip}/common-main-dependency.zip | Bin .../common-main-import-dependency.zip | Bin .../{ => zip}/common-test-dependency.zip | Bin .../common-test-import-dependency.zip | Bin .../{ => zip}/jvm-main-dependency.zip | Bin .../{ => zip}/jvm-main-import-dependency.zip | Bin .../{ => zip}/jvm-test-dependency.zip | Bin .../{ => zip}/jvm-test-import-dependency.zip | Bin .../build.gradle.kts | 28 ++--- .../android-device-test-dependency.zip | Bin .../android-device-test-import-dependency.zip | Bin .../android-host-test-dependency.zip | Bin .../android-host-test-import-dependency.zip | Bin .../{ => zip}/android-main-dependency.zip | Bin .../android-main-import-dependency.zip | Bin .../{ => zip}/common-main-dependency.zip | Bin .../common-main-import-dependency.zip | Bin .../{ => zip}/common-test-dependency.zip | Bin .../common-test-import-dependency.zip | Bin .../{ => zip}/jvm-main-dependency.zip | Bin .../{ => zip}/jvm-main-import-dependency.zip | Bin .../{ => zip}/jvm-test-dependency.zip | Bin .../{ => zip}/jvm-test-import-dependency.zip | Bin .../build.gradle.kts | 28 ++--- .../android-device-test-dependency.zip | Bin .../android-device-test-import-dependency.zip | Bin .../android-host-test-dependency.zip | Bin .../android-host-test-import-dependency.zip | Bin .../{ => zip}/android-main-dependency.zip | Bin .../android-main-import-dependency.zip | Bin .../{ => zip}/common-main-dependency.zip | Bin .../common-main-import-dependency.zip | Bin .../{ => zip}/common-test-dependency.zip | Bin .../common-test-import-dependency.zip | Bin .../{ => zip}/jvm-main-dependency.zip | Bin .../{ => zip}/jvm-main-import-dependency.zip | Bin .../{ => zip}/jvm-test-dependency.zip | Bin .../{ => zip}/jvm-test-import-dependency.zip | Bin .../build.gradle.kts | 96 +++++++++--------- .../{ => zip}/android-debug-dependency.zip | Bin .../android-debug-import-dependency.zip | Bin ...oid-instrumented-test-debug-dependency.zip | Bin ...trumented-test-debug-import-dependency.zip | Bin .../android-instrumented-test-dependency.zip | Bin ...id-instrumented-test-import-dependency.zip | Bin .../{ => zip}/android-main-dependency.zip | Bin .../android-main-import-dependency.zip | Bin .../{ => zip}/android-release-dependency.zip | Bin .../android-release-import-dependency.zip | Bin .../android-test-debug-dependency.zip | Bin .../android-test-debug-import-dependency.zip | Bin .../{ => zip}/android-test-dependency.zip | Bin .../android-test-import-dependency.zip | Bin .../android-unit-test-debug-dependency.zip | Bin ...roid-unit-test-debug-import-dependency.zip | Bin .../android-unit-test-dependency.zip | Bin .../android-unit-test-import-dependency.zip | Bin .../android-unit-test-release-dependency.zip | Bin ...id-unit-test-release-import-dependency.zip | Bin .../{ => zip}/common-main-dependency.zip | Bin .../common-main-import-dependency.zip | Bin .../{ => zip}/common-test-dependency.zip | Bin .../common-test-import-dependency.zip | Bin .../{ => zip}/debug-dependency.zip | Bin .../{ => zip}/debug-import-dependency.zip | Bin .../{ => zip}/jvm-main-dependency.zip | Bin .../{ => zip}/jvm-main-import-dependency.zip | Bin .../{ => zip}/jvm-test-dependency.zip | Bin .../{ => zip}/jvm-test-import-dependency.zip | Bin .../{ => zip}/main-dependency.zip | Bin .../{ => zip}/main-import-dependency.zip | Bin .../{ => zip}/release-dependency.zip | Bin .../{ => zip}/release-import-dependency.zip | Bin .../{ => zip}/test-debug-dependency.zip | Bin .../test-debug-import-dependency.zip | Bin .../{ => zip}/test-dependency.zip | Bin .../test-fixtures-debug-dependency.zip | Bin .../test-fixtures-debug-import-dependency.zip | Bin .../{ => zip}/test-fixtures-dependency.zip | Bin .../test-fixtures-import-dependency.zip | Bin .../test-fixtures-release-dependency.zip | Bin ...est-fixtures-release-import-dependency.zip | Bin .../{ => zip}/test-import-dependency.zip | Bin .../{ => zip}/test-release-dependency.zip | Bin .../test-release-import-dependency.zip | Bin .../build.gradle.kts | 96 +++++++++--------- .../{ => zip}/android-debug-dependency.zip | Bin .../android-debug-import-dependency.zip | Bin ...oid-instrumented-test-debug-dependency.zip | Bin ...trumented-test-debug-import-dependency.zip | Bin .../android-instrumented-test-dependency.zip | Bin ...id-instrumented-test-import-dependency.zip | Bin .../{ => zip}/android-main-dependency.zip | Bin .../android-main-import-dependency.zip | Bin .../{ => zip}/android-release-dependency.zip | Bin .../android-release-import-dependency.zip | Bin .../android-test-debug-dependency.zip | Bin .../android-test-debug-import-dependency.zip | Bin .../{ => zip}/android-test-dependency.zip | Bin .../android-test-import-dependency.zip | Bin .../android-unit-test-debug-dependency.zip | Bin ...roid-unit-test-debug-import-dependency.zip | Bin .../android-unit-test-dependency.zip | Bin .../android-unit-test-import-dependency.zip | Bin .../android-unit-test-release-dependency.zip | Bin ...id-unit-test-release-import-dependency.zip | Bin .../{ => zip}/common-main-dependency.zip | Bin .../common-main-import-dependency.zip | Bin .../{ => zip}/common-test-dependency.zip | Bin .../common-test-import-dependency.zip | Bin .../{ => zip}/debug-dependency.zip | Bin .../{ => zip}/debug-import-dependency.zip | Bin .../{ => zip}/jvm-main-dependency.zip | Bin .../{ => zip}/jvm-main-import-dependency.zip | Bin .../{ => zip}/jvm-test-dependency.zip | Bin .../{ => zip}/jvm-test-import-dependency.zip | Bin .../{ => zip}/main-dependency.zip | Bin .../{ => zip}/main-import-dependency.zip | Bin .../{ => zip}/release-dependency.zip | Bin .../{ => zip}/release-import-dependency.zip | Bin .../{ => zip}/test-debug-dependency.zip | Bin .../test-debug-import-dependency.zip | Bin .../{ => zip}/test-dependency.zip | Bin .../test-fixtures-debug-dependency.zip | Bin .../test-fixtures-debug-import-dependency.zip | Bin .../{ => zip}/test-fixtures-dependency.zip | Bin .../test-fixtures-import-dependency.zip | Bin .../test-fixtures-release-dependency.zip | Bin ...est-fixtures-release-import-dependency.zip | Bin .../{ => zip}/test-import-dependency.zip | Bin .../{ => zip}/test-release-dependency.zip | Bin .../test-release-import-dependency.zip | Bin .../dependency_proto_codegen/build.gradle.kts | 2 +- .../{ => zip}/dependency-protos.zip | Bin .../build.gradle.kts | 2 +- .../{ => zip}/common-main-dependency.zip | Bin .../dependency_proto_import/build.gradle.kts | 2 +- .../{ => zip}/dependency-protos.zip | Bin .../build.gradle.kts | 2 +- .../{ => zip}/dependency-protos.zip | Bin 240 files changed, 224 insertions(+), 224 deletions(-) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/{ => zip}/dependency-protos.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/{ => zip}/dependency-protos.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/android-test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/android-test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/android-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/android-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-fixtures-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-fixtures-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-fixtures-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-fixtures-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-fixtures-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-fixtures-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/{ => zip}/test-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/android-test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/android-test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/android-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/android-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-fixtures-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-fixtures-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-fixtures-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-fixtures-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-fixtures-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-fixtures-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/{ => zip}/test-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/{ => zip}/dependency-protos.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/{ => zip}/main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/{ => zip}/main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/{ => zip}/dependency-protos.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/{ => zip}/test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/{ => zip}/test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/{ => zip}/common-2-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/apple-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/apple-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/apple-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/apple-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/common-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/common-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/common-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/common-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/js-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/js-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/js-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/js-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/jvm-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/jvm-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/jvm-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/jvm-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/macos-arm64-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/macos-arm64-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/macos-arm64-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/macos-arm64-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/macos-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/macos-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/macos-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/macos-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/native-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/native-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/native-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/native-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/web-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/web-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/web-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/{ => zip}/web-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/android-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/android-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/common-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/common-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/common-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/common-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/jvm-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/jvm-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/jvm-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/{ => zip}/jvm-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/android-device-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/android-device-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/android-host-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/android-host-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/android-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/android-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/common-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/common-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/common-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/common-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/jvm-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/jvm-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/jvm-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/{ => zip}/jvm-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/android-device-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/android-device-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/android-host-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/android-host-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/android-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/android-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/common-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/common-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/common-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/common-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/jvm-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/jvm-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/jvm-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/{ => zip}/jvm-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-instrumented-test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-instrumented-test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-instrumented-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-instrumented-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-unit-test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-unit-test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-unit-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-unit-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-unit-test-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/android-unit-test-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/common-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/common-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/common-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/common-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/jvm-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/jvm-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/jvm-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/jvm-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-fixtures-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-fixtures-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-fixtures-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-fixtures-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-fixtures-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-fixtures-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/{ => zip}/test-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-instrumented-test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-instrumented-test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-instrumented-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-instrumented-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-unit-test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-unit-test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-unit-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-unit-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-unit-test-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/android-unit-test-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/common-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/common-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/common-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/common-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/jvm-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/jvm-main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/jvm-test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/jvm-test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/main-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-fixtures-debug-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-fixtures-debug-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-fixtures-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-fixtures-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-fixtures-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-fixtures-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-release-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/{ => zip}/test-release-import-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/{ => zip}/dependency-protos.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/{ => zip}/common-main-dependency.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/{ => zip}/dependency-protos.zip (100%) rename gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/{ => zip}/dependency-protos.zip (100%) diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt index 937e50294..808213197 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt @@ -174,7 +174,7 @@ class GrpcJvmProjectTest : GrpcBaseTest() { // rewrite the codegen zip with different content — must invalidate extractProtoMain // but NOT extractProtoImportMain, which reads a separate zip. - val codegenZip = projectDir.resolve("main-dependency.zip") + val codegenZip = projectDir.resolve("zip/main-dependency.zip") ZipOutputStream(Files.newOutputStream(codegenZip)).use { zos -> zos.putNextEntry(ZipEntry("mainDep.proto")) zos.write( diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/build.gradle.kts index 743340571..5a323c513 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/build.gradle.kts @@ -38,7 +38,7 @@ android { } dependencies { - protoImport(files("dependency-protos.zip")) + protoImport(files("zip/dependency-protos.zip")) } fun assertConfigurationExists(name: String) { diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/zip/dependency-protos.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/dependency-protos.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks/zip/dependency-protos.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/build.gradle.kts index 264637441..57b2d65db 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/build.gradle.kts @@ -38,7 +38,7 @@ android { } dependencies { - protoImport(files("dependency-protos.zip")) + protoImport(files("zip/dependency-protos.zip")) } fun assertConfigurationExists(name: String) { diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/zip/dependency-protos.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/dependency-protos.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_configurations_and_tasks_no_kgp/zip/dependency-protos.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts index a5e46cb87..ad3063760 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/build.gradle.kts @@ -20,36 +20,36 @@ android { } dependencies { - proto(files("main-dependency.zip")) - protoImport(files("main-import-dependency.zip")) + proto(files("zip/main-dependency.zip")) + protoImport(files("zip/main-import-dependency.zip")) - testProto(files("test-dependency.zip")) - testProtoImport(files("test-import-dependency.zip")) + testProto(files("zip/test-dependency.zip")) + testProtoImport(files("zip/test-import-dependency.zip")) - testFixturesProto(files("test-fixtures-dependency.zip")) - testFixturesProtoImport(files("test-fixtures-import-dependency.zip")) + testFixturesProto(files("zip/test-fixtures-dependency.zip")) + testFixturesProtoImport(files("zip/test-fixtures-import-dependency.zip")) - testFixturesDebugProto(files("test-fixtures-debug-dependency.zip")) - testFixturesDebugProtoImport(files("test-fixtures-debug-import-dependency.zip")) + testFixturesDebugProto(files("zip/test-fixtures-debug-dependency.zip")) + testFixturesDebugProtoImport(files("zip/test-fixtures-debug-import-dependency.zip")) - testFixturesReleaseProto(files("test-fixtures-release-dependency.zip")) - testFixturesReleaseProtoImport(files("test-fixtures-release-import-dependency.zip")) + testFixturesReleaseProto(files("zip/test-fixtures-release-dependency.zip")) + testFixturesReleaseProtoImport(files("zip/test-fixtures-release-import-dependency.zip")) - androidTestProto(files("android-test-dependency.zip")) - androidTestProtoImport(files("android-test-import-dependency.zip")) + androidTestProto(files("zip/android-test-dependency.zip")) + androidTestProtoImport(files("zip/android-test-import-dependency.zip")) - debugProto(files("debug-dependency.zip")) - debugProtoImport(files("debug-import-dependency.zip")) + debugProto(files("zip/debug-dependency.zip")) + debugProtoImport(files("zip/debug-import-dependency.zip")) - releaseProto(files("release-dependency.zip")) - releaseProtoImport(files("release-import-dependency.zip")) + releaseProto(files("zip/release-dependency.zip")) + releaseProtoImport(files("zip/release-import-dependency.zip")) - testDebugProto(files("test-debug-dependency.zip")) - testDebugProtoImport(files("test-debug-import-dependency.zip")) + testDebugProto(files("zip/test-debug-dependency.zip")) + testDebugProtoImport(files("zip/test-debug-import-dependency.zip")) - testReleaseProto(files("test-release-dependency.zip")) - testReleaseProtoImport(files("test-release-import-dependency.zip")) + testReleaseProto(files("zip/test-release-dependency.zip")) + testReleaseProtoImport(files("zip/test-release-import-dependency.zip")) - androidTestDebugProto(files("android-test-debug-dependency.zip")) - androidTestDebugProtoImport(files("android-test-debug-import-dependency.zip")) + androidTestDebugProto(files("zip/android-test-debug-dependency.zip")) + androidTestDebugProtoImport(files("zip/android-test-debug-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/android-test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/android-test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/android-test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/android-test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/android-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/android-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/android-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/android-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/android-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-fixtures-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-fixtures-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/test-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants/zip/test-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts index c5108acda..974266e81 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/build.gradle.kts @@ -20,36 +20,36 @@ android { } dependencies { - proto(files("main-dependency.zip")) - protoImport(files("main-import-dependency.zip")) + proto(files("zip/main-dependency.zip")) + protoImport(files("zip/main-import-dependency.zip")) - testProto(files("test-dependency.zip")) - testProtoImport(files("test-import-dependency.zip")) + testProto(files("zip/test-dependency.zip")) + testProtoImport(files("zip/test-import-dependency.zip")) - testFixturesProto(files("test-fixtures-dependency.zip")) - testFixturesProtoImport(files("test-fixtures-import-dependency.zip")) + testFixturesProto(files("zip/test-fixtures-dependency.zip")) + testFixturesProtoImport(files("zip/test-fixtures-import-dependency.zip")) - testFixturesDebugProto(files("test-fixtures-debug-dependency.zip")) - testFixturesDebugProtoImport(files("test-fixtures-debug-import-dependency.zip")) + testFixturesDebugProto(files("zip/test-fixtures-debug-dependency.zip")) + testFixturesDebugProtoImport(files("zip/test-fixtures-debug-import-dependency.zip")) - testFixturesReleaseProto(files("test-fixtures-release-dependency.zip")) - testFixturesReleaseProtoImport(files("test-fixtures-release-import-dependency.zip")) + testFixturesReleaseProto(files("zip/test-fixtures-release-dependency.zip")) + testFixturesReleaseProtoImport(files("zip/test-fixtures-release-import-dependency.zip")) - androidTestProto(files("android-test-dependency.zip")) - androidTestProtoImport(files("android-test-import-dependency.zip")) + androidTestProto(files("zip/android-test-dependency.zip")) + androidTestProtoImport(files("zip/android-test-import-dependency.zip")) - debugProto(files("debug-dependency.zip")) - debugProtoImport(files("debug-import-dependency.zip")) + debugProto(files("zip/debug-dependency.zip")) + debugProtoImport(files("zip/debug-import-dependency.zip")) - releaseProto(files("release-dependency.zip")) - releaseProtoImport(files("release-import-dependency.zip")) + releaseProto(files("zip/release-dependency.zip")) + releaseProtoImport(files("zip/release-import-dependency.zip")) - testDebugProto(files("test-debug-dependency.zip")) - testDebugProtoImport(files("test-debug-import-dependency.zip")) + testDebugProto(files("zip/test-debug-dependency.zip")) + testDebugProtoImport(files("zip/test-debug-import-dependency.zip")) - testReleaseProto(files("test-release-dependency.zip")) - testReleaseProtoImport(files("test-release-import-dependency.zip")) + testReleaseProto(files("zip/test-release-dependency.zip")) + testReleaseProtoImport(files("zip/test-release-import-dependency.zip")) - androidTestDebugProto(files("android-test-debug-dependency.zip")) - androidTestDebugProtoImport(files("android-test-debug-import-dependency.zip")) + androidTestDebugProto(files("zip/android-test-debug-dependency.zip")) + androidTestDebugProtoImport(files("zip/android-test-debug-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/android-test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/android-test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/android-test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/android-test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/android-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/android-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/android-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/android-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/android-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-fixtures-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-fixtures-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/test-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcAndroidProjectTest/dependency_proto_per_source_set_all_variants_no_kgp/zip/test-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/build.gradle.kts index 5801169ad..ae7b0dfbb 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/build.gradle.kts @@ -14,5 +14,5 @@ rpc { } dependencies { - proto(files("dependency-protos.zip")) + proto(files("zip/dependency-protos.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/zip/dependency-protos.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/dependency-protos.zip rename to gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_codegen/zip/dependency-protos.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts index e658d6ec8..d07d5ad80 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/build.gradle.kts @@ -14,6 +14,6 @@ rpc { } dependencies { - proto(files("main-dependency.zip")) - protoImport(files("main-import-dependency.zip")) + proto(files("zip/main-dependency.zip")) + protoImport(files("zip/main-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/zip/main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/zip/main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/zip/main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_extract_tasks_are_cached_properly/zip/main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/build.gradle.kts index a6288493f..c11c79d31 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/build.gradle.kts @@ -14,5 +14,5 @@ rpc { } dependencies { - protoImport(files("dependency-protos.zip")) + protoImport(files("zip/dependency-protos.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/zip/dependency-protos.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/dependency-protos.zip rename to gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_import/zip/dependency-protos.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/build.gradle.kts index f00d99bb3..e632ff09d 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/build.gradle.kts @@ -14,5 +14,5 @@ rpc { } dependencies { - testProto(files("test-dependency.zip")) + testProto(files("zip/test-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/zip/test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_codegen/zip/test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/build.gradle.kts index 51393c29d..aae1251b6 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/build.gradle.kts @@ -14,5 +14,5 @@ rpc { } dependencies { - testProtoImport(files("test-import-dependency.zip")) + testProtoImport(files("zip/test-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/zip/test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcJvmProjectTest/dependency_proto_test_import/zip/test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/build.gradle.kts index 66b13f8a3..0357e9c4a 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/build.gradle.kts @@ -27,5 +27,5 @@ protoSourceSets { } dependencies { - "common2ProtoImport"(files("common-2-import-dependency.zip")) + "common2ProtoImport"(files("zip/common-2-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/common-2-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/zip/common-2-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/common-2-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_imports_from_provider_source_set/zip/common-2-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/build.gradle.kts index 5ed9e39c1..263f5b862 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/build.gradle.kts @@ -19,79 +19,79 @@ kotlin { sourceSets { commonMain.dependencies { - proto(files("common-main-dependency.zip")) - protoImport(files("common-main-import-dependency.zip")) + proto(files("zip/common-main-dependency.zip")) + protoImport(files("zip/common-main-import-dependency.zip")) } commonTest.dependencies { - proto(files("common-test-dependency.zip")) - protoImport(files("common-test-import-dependency.zip")) + proto(files("zip/common-test-dependency.zip")) + protoImport(files("zip/common-test-import-dependency.zip")) } nativeMain.dependencies { - proto(files("native-main-dependency.zip")) - protoImport(files("native-main-import-dependency.zip")) + proto(files("zip/native-main-dependency.zip")) + protoImport(files("zip/native-main-import-dependency.zip")) } nativeTest.dependencies { - proto(files("native-test-dependency.zip")) - protoImport(files("native-test-import-dependency.zip")) + proto(files("zip/native-test-dependency.zip")) + protoImport(files("zip/native-test-import-dependency.zip")) } appleMain.dependencies { - proto(files("apple-main-dependency.zip")) - protoImport(files("apple-main-import-dependency.zip")) + proto(files("zip/apple-main-dependency.zip")) + protoImport(files("zip/apple-main-import-dependency.zip")) } appleTest.dependencies { - proto(files("apple-test-dependency.zip")) - protoImport(files("apple-test-import-dependency.zip")) + proto(files("zip/apple-test-dependency.zip")) + protoImport(files("zip/apple-test-import-dependency.zip")) } macosMain.dependencies { - proto(files("macos-main-dependency.zip")) - protoImport(files("macos-main-import-dependency.zip")) + proto(files("zip/macos-main-dependency.zip")) + protoImport(files("zip/macos-main-import-dependency.zip")) } macosTest.dependencies { - proto(files("macos-test-dependency.zip")) - protoImport(files("macos-test-import-dependency.zip")) + proto(files("zip/macos-test-dependency.zip")) + protoImport(files("zip/macos-test-import-dependency.zip")) } macosArm64Main.dependencies { - proto(files("macos-arm64-main-dependency.zip")) - protoImport(files("macos-arm64-main-import-dependency.zip")) + proto(files("zip/macos-arm64-main-dependency.zip")) + protoImport(files("zip/macos-arm64-main-import-dependency.zip")) } macosArm64Test.dependencies { - proto(files("macos-arm64-test-dependency.zip")) - protoImport(files("macos-arm64-test-import-dependency.zip")) + proto(files("zip/macos-arm64-test-dependency.zip")) + protoImport(files("zip/macos-arm64-test-import-dependency.zip")) } jvmMain.dependencies { - proto(files("jvm-main-dependency.zip")) - protoImport(files("jvm-main-import-dependency.zip")) + proto(files("zip/jvm-main-dependency.zip")) + protoImport(files("zip/jvm-main-import-dependency.zip")) } jvmTest.dependencies { - proto(files("jvm-test-dependency.zip")) - protoImport(files("jvm-test-import-dependency.zip")) + proto(files("zip/jvm-test-dependency.zip")) + protoImport(files("zip/jvm-test-import-dependency.zip")) } jsMain.dependencies { - proto(files("js-main-dependency.zip")) - protoImport(files("js-main-import-dependency.zip")) + proto(files("zip/js-main-dependency.zip")) + protoImport(files("zip/js-main-import-dependency.zip")) } jsTest.dependencies { - proto(files("js-test-dependency.zip")) - protoImport(files("js-test-import-dependency.zip")) + proto(files("zip/js-test-dependency.zip")) + protoImport(files("zip/js-test-import-dependency.zip")) } if ("" >= "2.2.20") { configureEach { if (name == "webMain") dependencies { - proto(files("web-main-dependency.zip")) - protoImport(files("web-main-import-dependency.zip")) + proto(files("zip/web-main-dependency.zip")) + protoImport(files("zip/web-main-import-dependency.zip")) } } configureEach { if (name == "webTest") dependencies { - proto(files("web-test-dependency.zip")) - protoImport(files("web-test-import-dependency.zip")) + proto(files("zip/web-test-dependency.zip")) + protoImport(files("zip/web-test-import-dependency.zip")) } } } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/apple-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/apple-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/apple-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/apple-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/apple-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/apple-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/apple-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/apple-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/apple-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/common-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/common-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/common-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/common-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/common-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/common-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/common-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/common-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/common-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/js-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/js-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/js-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/js-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/js-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/js-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/js-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/js-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/js-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/jvm-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/jvm-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/jvm-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/jvm-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/jvm-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/jvm-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/jvm-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/jvm-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/jvm-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-arm64-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-arm64-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-arm64-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-arm64-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-arm64-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-arm64-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-arm64-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-arm64-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-arm64-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/macos-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/macos-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/native-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/native-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/native-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/native-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/native-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/native-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/native-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/native-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/native-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/web-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/web-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/web-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/web-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/web-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/web-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/web-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/web-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy/zip/web-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/build.gradle.kts index 22d770256..2cc582d00 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/build.gradle.kts @@ -20,26 +20,26 @@ kotlin { sourceSets { commonMain.dependencies { - proto(files("common-main-dependency.zip")) - protoImport(files("common-main-import-dependency.zip")) + proto(files("zip/common-main-dependency.zip")) + protoImport(files("zip/common-main-import-dependency.zip")) } commonTest.dependencies { - proto(files("common-test-dependency.zip")) - protoImport(files("common-test-import-dependency.zip")) + proto(files("zip/common-test-dependency.zip")) + protoImport(files("zip/common-test-import-dependency.zip")) } jvmMain.dependencies { - proto(files("jvm-main-dependency.zip")) - protoImport(files("jvm-main-import-dependency.zip")) + proto(files("zip/jvm-main-dependency.zip")) + protoImport(files("zip/jvm-main-import-dependency.zip")) } jvmTest.dependencies { - proto(files("jvm-test-dependency.zip")) - protoImport(files("jvm-test-import-dependency.zip")) + proto(files("zip/jvm-test-dependency.zip")) + protoImport(files("zip/jvm-test-import-dependency.zip")) } androidMain.dependencies { - proto(files("android-main-dependency.zip")) - protoImport(files("android-main-import-dependency.zip")) + proto(files("zip/android-main-dependency.zip")) + protoImport(files("zip/android-main-import-dependency.zip")) } } } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/android-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/android-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/android-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/android-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/android-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/android-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/android-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/android-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/common-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/common-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/common-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/common-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/common-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/common-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/common-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/common-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/common-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/jvm-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/jvm-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/jvm-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/jvm-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/jvm-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/jvm-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/jvm-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/jvm-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library/zip/jvm-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/build.gradle.kts index dbc0c964e..e6c764e5f 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/build.gradle.kts @@ -28,36 +28,36 @@ kotlin { sourceSets { commonMain.dependencies { - proto(files("common-main-dependency.zip")) - protoImport(files("common-main-import-dependency.zip")) + proto(files("zip/common-main-dependency.zip")) + protoImport(files("zip/common-main-import-dependency.zip")) } commonTest.dependencies { - proto(files("common-test-dependency.zip")) - protoImport(files("common-test-import-dependency.zip")) + proto(files("zip/common-test-dependency.zip")) + protoImport(files("zip/common-test-import-dependency.zip")) } jvmMain.dependencies { - proto(files("jvm-main-dependency.zip")) - protoImport(files("jvm-main-import-dependency.zip")) + proto(files("zip/jvm-main-dependency.zip")) + protoImport(files("zip/jvm-main-import-dependency.zip")) } jvmTest.dependencies { - proto(files("jvm-test-dependency.zip")) - protoImport(files("jvm-test-import-dependency.zip")) + proto(files("zip/jvm-test-dependency.zip")) + protoImport(files("zip/jvm-test-import-dependency.zip")) } androidMain.dependencies { - proto(files("android-main-dependency.zip")) - protoImport(files("android-main-import-dependency.zip")) + proto(files("zip/android-main-dependency.zip")) + protoImport(files("zip/android-main-import-dependency.zip")) } named("androidHostTest").dependencies { - proto(files("android-host-test-dependency.zip")) - protoImport(files("android-host-test-import-dependency.zip")) + proto(files("zip/android-host-test-dependency.zip")) + protoImport(files("zip/android-host-test-import-dependency.zip")) } named("androidDeviceTest").dependencies { - proto(files("android-device-test-dependency.zip")) - protoImport(files("android-device-test-import-dependency.zip")) + proto(files("zip/android-device-test-dependency.zip")) + protoImport(files("zip/android-device-test-import-dependency.zip")) } } } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-device-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-device-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-device-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-device-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-device-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-device-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-device-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-device-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-host-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-host-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-host-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-host-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-host-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/android-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/android-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/common-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/common-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/common-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/common-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/common-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/common-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/common-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/common-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/common-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/jvm-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/jvm-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/jvm-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/jvm-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/jvm-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/jvm-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/jvm-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/jvm-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks/zip/jvm-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/build.gradle.kts index d336026d6..ff0e7a589 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/build.gradle.kts @@ -24,36 +24,36 @@ kotlin { sourceSets { commonMain.dependencies { - proto(files("common-main-dependency.zip")) - protoImport(files("common-main-import-dependency.zip")) + proto(files("zip/common-main-dependency.zip")) + protoImport(files("zip/common-main-import-dependency.zip")) } commonTest.dependencies { - proto(files("common-test-dependency.zip")) - protoImport(files("common-test-import-dependency.zip")) + proto(files("zip/common-test-dependency.zip")) + protoImport(files("zip/common-test-import-dependency.zip")) } jvmMain.dependencies { - proto(files("jvm-main-dependency.zip")) - protoImport(files("jvm-main-import-dependency.zip")) + proto(files("zip/jvm-main-dependency.zip")) + protoImport(files("zip/jvm-main-import-dependency.zip")) } jvmTest.dependencies { - proto(files("jvm-test-dependency.zip")) - protoImport(files("jvm-test-import-dependency.zip")) + proto(files("zip/jvm-test-dependency.zip")) + protoImport(files("zip/jvm-test-import-dependency.zip")) } androidMain.dependencies { - proto(files("android-main-dependency.zip")) - protoImport(files("android-main-import-dependency.zip")) + proto(files("zip/android-main-dependency.zip")) + protoImport(files("zip/android-main-import-dependency.zip")) } named("androidHostTest").dependencies { - proto(files("android-host-test-dependency.zip")) - protoImport(files("android-host-test-import-dependency.zip")) + proto(files("zip/android-host-test-dependency.zip")) + protoImport(files("zip/android-host-test-import-dependency.zip")) } named("androidDeviceTest").dependencies { - proto(files("android-device-test-dependency.zip")) - protoImport(files("android-device-test-import-dependency.zip")) + proto(files("zip/android-device-test-dependency.zip")) + protoImport(files("zip/android-device-test-import-dependency.zip")) } } } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-device-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-device-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-device-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-device-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-device-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-device-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-device-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-device-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-host-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-host-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-host-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-host-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-host-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/android-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/android-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/common-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/common-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/common-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/common-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/common-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/common-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/common-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/common-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/common-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/jvm-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/jvm-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/jvm-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/jvm-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/jvm-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/jvm-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/jvm-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/jvm-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_android_kmp_library_with_test_tasks_not_wired/zip/jvm-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/build.gradle.kts index 06e5e9aea..8cbb4ec54 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/build.gradle.kts @@ -27,21 +27,21 @@ kotlin { sourceSets { commonMain.dependencies { - proto(files("common-main-dependency.zip")) - protoImport(files("common-main-import-dependency.zip")) + proto(files("zip/common-main-dependency.zip")) + protoImport(files("zip/common-main-import-dependency.zip")) } commonTest.dependencies { - proto(files("common-test-dependency.zip")) - protoImport(files("common-test-import-dependency.zip")) + proto(files("zip/common-test-dependency.zip")) + protoImport(files("zip/common-test-import-dependency.zip")) } jvmMain.dependencies { - proto(files("jvm-main-dependency.zip")) - protoImport(files("jvm-main-import-dependency.zip")) + proto(files("zip/jvm-main-dependency.zip")) + protoImport(files("zip/jvm-main-import-dependency.zip")) } jvmTest.dependencies { - proto(files("jvm-test-dependency.zip")) - protoImport(files("jvm-test-import-dependency.zip")) + proto(files("zip/jvm-test-dependency.zip")) + protoImport(files("zip/jvm-test-import-dependency.zip")) } } } @@ -63,68 +63,68 @@ configurations.all { dependencies { // KMP android non-executable - "androidMainProto"(files("android-main-dependency.zip")) - "androidMainProtoImport"(files("android-main-import-dependency.zip")) + "androidMainProto"(files("zip/android-main-dependency.zip")) + "androidMainProtoImport"(files("zip/android-main-import-dependency.zip")) - "androidTestProto"(files("android-test-dependency.zip")) - "androidTestProtoImport"(files("android-test-import-dependency.zip")) + "androidTestProto"(files("zip/android-test-dependency.zip")) + "androidTestProtoImport"(files("zip/android-test-import-dependency.zip")) - "androidUnitTestProto"(files("android-unit-test-dependency.zip")) - "androidUnitTestProtoImport"(files("android-unit-test-import-dependency.zip")) + "androidUnitTestProto"(files("zip/android-unit-test-dependency.zip")) + "androidUnitTestProtoImport"(files("zip/android-unit-test-import-dependency.zip")) - "androidInstrumentedTestProto"(files("android-instrumented-test-dependency.zip")) - "androidInstrumentedTestProtoImport"(files("android-instrumented-test-import-dependency.zip")) + "androidInstrumentedTestProto"(files("zip/android-instrumented-test-dependency.zip")) + "androidInstrumentedTestProtoImport"(files("zip/android-instrumented-test-import-dependency.zip")) // KMP android executable (these are created in a wierd way and probably are not used in real life anyway) afterEvaluate { - "androidDebugProto"(files("android-debug-dependency.zip")) - "androidDebugProtoImport"(files("android-debug-import-dependency.zip")) + "androidDebugProto"(files("zip/android-debug-dependency.zip")) + "androidDebugProtoImport"(files("zip/android-debug-import-dependency.zip")) - "androidReleaseProto"(files("android-release-dependency.zip")) - "androidReleaseProtoImport"(files("android-release-import-dependency.zip")) + "androidReleaseProto"(files("zip/android-release-dependency.zip")) + "androidReleaseProtoImport"(files("zip/android-release-import-dependency.zip")) - "androidUnitTestDebugProto"(files("android-unit-test-debug-dependency.zip")) - "androidUnitTestDebugProtoImport"(files("android-unit-test-debug-import-dependency.zip")) + "androidUnitTestDebugProto"(files("zip/android-unit-test-debug-dependency.zip")) + "androidUnitTestDebugProtoImport"(files("zip/android-unit-test-debug-import-dependency.zip")) - "androidUnitTestReleaseProto"(files("android-unit-test-release-dependency.zip")) - "androidUnitTestReleaseProtoImport"(files("android-unit-test-release-import-dependency.zip")) + "androidUnitTestReleaseProto"(files("zip/android-unit-test-release-dependency.zip")) + "androidUnitTestReleaseProtoImport"(files("zip/android-unit-test-release-import-dependency.zip")) - "androidInstrumentedTestDebugProto"(files("android-instrumented-test-debug-dependency.zip")) - "androidInstrumentedTestDebugProtoImport"(files("android-instrumented-test-debug-import-dependency.zip")) + "androidInstrumentedTestDebugProto"(files("zip/android-instrumented-test-debug-dependency.zip")) + "androidInstrumentedTestDebugProtoImport"(files("zip/android-instrumented-test-debug-import-dependency.zip")) } // legacy android non-executable - proto(files("main-dependency.zip")) - protoImport(files("main-import-dependency.zip")) + proto(files("zip/main-dependency.zip")) + protoImport(files("zip/main-import-dependency.zip")) - testProto(files("test-dependency.zip")) - testProtoImport(files("test-import-dependency.zip")) + testProto(files("zip/test-dependency.zip")) + testProtoImport(files("zip/test-import-dependency.zip")) - testFixturesProto(files("test-fixtures-dependency.zip")) - testFixturesProtoImport(files("test-fixtures-import-dependency.zip")) + testFixturesProto(files("zip/test-fixtures-dependency.zip")) + testFixturesProtoImport(files("zip/test-fixtures-import-dependency.zip")) - testFixturesDebugProto(files("test-fixtures-debug-dependency.zip")) - testFixturesDebugProtoImport(files("test-fixtures-debug-import-dependency.zip")) + testFixturesDebugProto(files("zip/test-fixtures-debug-dependency.zip")) + testFixturesDebugProtoImport(files("zip/test-fixtures-debug-import-dependency.zip")) - testFixturesReleaseProto(files("test-fixtures-release-dependency.zip")) - testFixturesReleaseProtoImport(files("test-fixtures-release-import-dependency.zip")) + testFixturesReleaseProto(files("zip/test-fixtures-release-dependency.zip")) + testFixturesReleaseProtoImport(files("zip/test-fixtures-release-import-dependency.zip")) - androidTestProto(files("android-test-dependency.zip")) - androidTestProtoImport(files("android-test-import-dependency.zip")) + androidTestProto(files("zip/android-test-dependency.zip")) + androidTestProtoImport(files("zip/android-test-import-dependency.zip")) // legacy android variants - debugProto(files("debug-dependency.zip")) - debugProtoImport(files("debug-import-dependency.zip")) + debugProto(files("zip/debug-dependency.zip")) + debugProtoImport(files("zip/debug-import-dependency.zip")) - releaseProto(files("release-dependency.zip")) - releaseProtoImport(files("release-import-dependency.zip")) + releaseProto(files("zip/release-dependency.zip")) + releaseProtoImport(files("zip/release-import-dependency.zip")) - testDebugProto(files("test-debug-dependency.zip")) - testDebugProtoImport(files("test-debug-import-dependency.zip")) + testDebugProto(files("zip/test-debug-dependency.zip")) + testDebugProtoImport(files("zip/test-debug-import-dependency.zip")) - testReleaseProto(files("test-release-dependency.zip")) - testReleaseProtoImport(files("test-release-import-dependency.zip")) + testReleaseProto(files("zip/test-release-dependency.zip")) + testReleaseProtoImport(files("zip/test-release-import-dependency.zip")) - androidTestDebugProto(files("android-test-debug-dependency.zip")) - androidTestDebugProtoImport(files("android-test-debug-import-dependency.zip")) + androidTestDebugProto(files("zip/android-test-debug-dependency.zip")) + androidTestDebugProtoImport(files("zip/android-test-debug-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-instrumented-test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-instrumented-test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-instrumented-test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-instrumented-test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-instrumented-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-instrumented-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-instrumented-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-instrumented-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-instrumented-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/android-unit-test-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/android-unit-test-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/common-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/common-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/common-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/common-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/common-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/common-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/common-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/common-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/common-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/jvm-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/jvm-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/jvm-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/jvm-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/jvm-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/jvm-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/jvm-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/jvm-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/jvm-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-fixtures-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-fixtures-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/test-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android/zip/test-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/build.gradle.kts index 6783666db..1fcbb4009 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/build.gradle.kts @@ -18,21 +18,21 @@ kotlin { sourceSets { commonMain.dependencies { - proto(files("common-main-dependency.zip")) - protoImport(files("common-main-import-dependency.zip")) + proto(files("zip/common-main-dependency.zip")) + protoImport(files("zip/common-main-import-dependency.zip")) } commonTest.dependencies { - proto(files("common-test-dependency.zip")) - protoImport(files("common-test-import-dependency.zip")) + proto(files("zip/common-test-dependency.zip")) + protoImport(files("zip/common-test-import-dependency.zip")) } jvmMain.dependencies { - proto(files("jvm-main-dependency.zip")) - protoImport(files("jvm-main-import-dependency.zip")) + proto(files("zip/jvm-main-dependency.zip")) + protoImport(files("zip/jvm-main-import-dependency.zip")) } jvmTest.dependencies { - proto(files("jvm-test-dependency.zip")) - protoImport(files("jvm-test-import-dependency.zip")) + proto(files("zip/jvm-test-dependency.zip")) + protoImport(files("zip/jvm-test-import-dependency.zip")) } } } @@ -48,68 +48,68 @@ rpc { dependencies { // KMP android non-executable - "androidMainProto"(files("android-main-dependency.zip")) - "androidMainProtoImport"(files("android-main-import-dependency.zip")) + "androidMainProto"(files("zip/android-main-dependency.zip")) + "androidMainProtoImport"(files("zip/android-main-import-dependency.zip")) - "androidTestProto"(files("android-test-dependency.zip")) - "androidTestProtoImport"(files("android-test-import-dependency.zip")) + "androidTestProto"(files("zip/android-test-dependency.zip")) + "androidTestProtoImport"(files("zip/android-test-import-dependency.zip")) - "androidUnitTestProto"(files("android-unit-test-dependency.zip")) - "androidUnitTestProtoImport"(files("android-unit-test-import-dependency.zip")) + "androidUnitTestProto"(files("zip/android-unit-test-dependency.zip")) + "androidUnitTestProtoImport"(files("zip/android-unit-test-import-dependency.zip")) - "androidInstrumentedTestProto"(files("android-instrumented-test-dependency.zip")) - "androidInstrumentedTestProtoImport"(files("android-instrumented-test-import-dependency.zip")) + "androidInstrumentedTestProto"(files("zip/android-instrumented-test-dependency.zip")) + "androidInstrumentedTestProtoImport"(files("zip/android-instrumented-test-import-dependency.zip")) // KMP android executable (these are created in a wierd way and probably are not used in real life anyway) afterEvaluate { - "androidDebugProto"(files("android-debug-dependency.zip")) - "androidDebugProtoImport"(files("android-debug-import-dependency.zip")) + "androidDebugProto"(files("zip/android-debug-dependency.zip")) + "androidDebugProtoImport"(files("zip/android-debug-import-dependency.zip")) - "androidReleaseProto"(files("android-release-dependency.zip")) - "androidReleaseProtoImport"(files("android-release-import-dependency.zip")) + "androidReleaseProto"(files("zip/android-release-dependency.zip")) + "androidReleaseProtoImport"(files("zip/android-release-import-dependency.zip")) - "androidUnitTestDebugProto"(files("android-unit-test-debug-dependency.zip")) - "androidUnitTestDebugProtoImport"(files("android-unit-test-debug-import-dependency.zip")) + "androidUnitTestDebugProto"(files("zip/android-unit-test-debug-dependency.zip")) + "androidUnitTestDebugProtoImport"(files("zip/android-unit-test-debug-import-dependency.zip")) - "androidUnitTestReleaseProto"(files("android-unit-test-release-dependency.zip")) - "androidUnitTestReleaseProtoImport"(files("android-unit-test-release-import-dependency.zip")) + "androidUnitTestReleaseProto"(files("zip/android-unit-test-release-dependency.zip")) + "androidUnitTestReleaseProtoImport"(files("zip/android-unit-test-release-import-dependency.zip")) - "androidInstrumentedTestDebugProto"(files("android-instrumented-test-debug-dependency.zip")) - "androidInstrumentedTestDebugProtoImport"(files("android-instrumented-test-debug-import-dependency.zip")) + "androidInstrumentedTestDebugProto"(files("zip/android-instrumented-test-debug-dependency.zip")) + "androidInstrumentedTestDebugProtoImport"(files("zip/android-instrumented-test-debug-import-dependency.zip")) } // legacy android non-executable - proto(files("main-dependency.zip")) - protoImport(files("main-import-dependency.zip")) + proto(files("zip/main-dependency.zip")) + protoImport(files("zip/main-import-dependency.zip")) - testProto(files("test-dependency.zip")) - testProtoImport(files("test-import-dependency.zip")) + testProto(files("zip/test-dependency.zip")) + testProtoImport(files("zip/test-import-dependency.zip")) - testFixturesProto(files("test-fixtures-dependency.zip")) - testFixturesProtoImport(files("test-fixtures-import-dependency.zip")) + testFixturesProto(files("zip/test-fixtures-dependency.zip")) + testFixturesProtoImport(files("zip/test-fixtures-import-dependency.zip")) - testFixturesDebugProto(files("test-fixtures-debug-dependency.zip")) - testFixturesDebugProtoImport(files("test-fixtures-debug-import-dependency.zip")) + testFixturesDebugProto(files("zip/test-fixtures-debug-dependency.zip")) + testFixturesDebugProtoImport(files("zip/test-fixtures-debug-import-dependency.zip")) - testFixturesReleaseProto(files("test-fixtures-release-dependency.zip")) - testFixturesReleaseProtoImport(files("test-fixtures-release-import-dependency.zip")) + testFixturesReleaseProto(files("zip/test-fixtures-release-dependency.zip")) + testFixturesReleaseProtoImport(files("zip/test-fixtures-release-import-dependency.zip")) - androidTestProto(files("android-test-dependency.zip")) - androidTestProtoImport(files("android-test-import-dependency.zip")) + androidTestProto(files("zip/android-test-dependency.zip")) + androidTestProtoImport(files("zip/android-test-import-dependency.zip")) // legacy android variants - debugProto(files("debug-dependency.zip")) - debugProtoImport(files("debug-import-dependency.zip")) + debugProto(files("zip/debug-dependency.zip")) + debugProtoImport(files("zip/debug-import-dependency.zip")) - releaseProto(files("release-dependency.zip")) - releaseProtoImport(files("release-import-dependency.zip")) + releaseProto(files("zip/release-dependency.zip")) + releaseProtoImport(files("zip/release-import-dependency.zip")) - testDebugProto(files("test-debug-dependency.zip")) - testDebugProtoImport(files("test-debug-import-dependency.zip")) + testDebugProto(files("zip/test-debug-dependency.zip")) + testDebugProtoImport(files("zip/test-debug-import-dependency.zip")) - testReleaseProto(files("test-release-dependency.zip")) - testReleaseProtoImport(files("test-release-import-dependency.zip")) + testReleaseProto(files("zip/test-release-dependency.zip")) + testReleaseProtoImport(files("zip/test-release-import-dependency.zip")) - androidTestDebugProto(files("android-test-debug-dependency.zip")) - androidTestDebugProtoImport(files("android-test-debug-import-dependency.zip")) + androidTestDebugProto(files("zip/android-test-debug-dependency.zip")) + androidTestDebugProtoImport(files("zip/android-test-debug-import-dependency.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-instrumented-test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-instrumented-test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-instrumented-test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-instrumented-test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-instrumented-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-instrumented-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-instrumented-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-instrumented-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-instrumented-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/android-unit-test-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/android-unit-test-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/common-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/common-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/common-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/common-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/common-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/common-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/common-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/common-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/common-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/jvm-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/jvm-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/jvm-main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/jvm-main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/jvm-test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/jvm-test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/jvm-test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/jvm-test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/jvm-test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/main-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/main-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/main-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/main-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-debug-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-debug-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-debug-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-debug-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-debug-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-debug-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-debug-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-debug-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-fixtures-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-fixtures-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-release-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-release-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-release-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-release-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-release-import-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-release-import-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/test-release-import-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_kmp_hierarchy_legacy_android_not_wired/zip/test-release-import-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/build.gradle.kts index c03dedf16..66c755b02 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/build.gradle.kts @@ -18,5 +18,5 @@ rpc { } dependencies { - commonMainProto(files("dependency-protos.zip")) + commonMainProto(files("zip/dependency-protos.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/zip/dependency-protos.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/dependency-protos.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen/zip/dependency-protos.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/build.gradle.kts index 47af7cb6e..7571fc5dd 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/build.gradle.kts @@ -16,7 +16,7 @@ kotlin { sourceSets { commonMain { dependencies { - proto(files("common-main-dependency.zip")) + proto(files("zip/common-main-dependency.zip")) } } } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/common-main-dependency.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/zip/common-main-dependency.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/common-main-dependency.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_codegen_kmp_dsl/zip/common-main-dependency.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/build.gradle.kts index db370552a..cf3a2e7d0 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/build.gradle.kts @@ -18,5 +18,5 @@ rpc { } dependencies { - commonMainProtoImport(files("dependency-protos.zip")) + commonMainProtoImport(files("zip/dependency-protos.zip")) } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/zip/dependency-protos.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/dependency-protos.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import/zip/dependency-protos.zip diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/build.gradle.kts b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/build.gradle.kts index 3b1a0e886..ef882dc88 100644 --- a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/build.gradle.kts +++ b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/build.gradle.kts @@ -16,7 +16,7 @@ kotlin { sourceSets { commonMain { dependencies { - protoImport(files("dependency-protos.zip")) + protoImport(files("zip/dependency-protos.zip")) } } } diff --git a/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/dependency-protos.zip b/gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/zip/dependency-protos.zip similarity index 100% rename from gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/dependency-protos.zip rename to gradle-plugin/src/test/resources/projects/GrpcKmpProjectTest/dependency_proto_import_kmp_dsl/zip/dependency-protos.zip From 1ea1051a28ec4f947bc3e2911cdde6add0c2dfde Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Wed, 13 May 2026 21:58:09 +0200 Subject: [PATCH 9/9] fix last tests --- .../src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt | 9 +++++++++ .../src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt | 1 + 2 files changed, 10 insertions(+) diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt index 808213197..6946b4887 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcJvmProjectTest.kt @@ -30,6 +30,7 @@ class GrpcJvmProjectTest : GrpcBaseTest() { ), generatedFiles = listOf( Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ) ) @@ -216,6 +217,7 @@ class GrpcJvmProjectTest : GrpcBaseTest() { ), generatedFiles = listOf( Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ) ) @@ -232,6 +234,7 @@ class GrpcJvmProjectTest : GrpcBaseTest() { importProtoFiles = emptyList(), generatedFiles = listOf( Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ), importGeneratedFiles = emptyList() @@ -248,6 +251,7 @@ class GrpcJvmProjectTest : GrpcBaseTest() { ), generatedFiles = listOf( Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ) ) @@ -267,10 +271,12 @@ class GrpcJvmProjectTest : GrpcBaseTest() { ), generatedFiles = listOf( Path("Other.kt"), + Path("Other.ext.kt"), Path(RPC_INTERNAL, "Other.kt"), ), importGeneratedFiles = listOf( Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ), mainGenerateOutcome = TaskOutcome.FROM_CACHE, @@ -289,6 +295,7 @@ class GrpcJvmProjectTest : GrpcBaseTest() { ), generatedFiles = listOf( Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ) ) @@ -306,10 +313,12 @@ class GrpcJvmProjectTest : GrpcBaseTest() { ), generatedFiles = listOf( Path("Other.kt"), + Path("Other.ext.kt"), Path(RPC_INTERNAL, "Other.kt"), ), importGeneratedFiles = listOf( Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ), mainGenerateOutcome = TaskOutcome.FROM_CACHE, diff --git a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt index bdc06be7e..af3ac0613 100644 --- a/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt +++ b/gradle-plugin/src/test/kotlin/kotlinx/rpc/GrpcKmpProjectTest.kt @@ -27,6 +27,7 @@ class GrpcKmpProjectTest : GrpcBaseTest() { ), generatedFiles = listOf( Path("Some.kt"), + Path("Some.ext.kt"), Path(RPC_INTERNAL, "Some.kt"), ) )