diff --git a/libraries/apollo-compiler/src/main/kotlin/com/apollographql/apollo/compiler/entrypoints.kt b/libraries/apollo-compiler/src/main/kotlin/com/apollographql/apollo/compiler/entrypoints.kt index 94041ea43f7..138efd1b5b2 100644 --- a/libraries/apollo-compiler/src/main/kotlin/com/apollographql/apollo/compiler/entrypoints.kt +++ b/libraries/apollo-compiler/src/main/kotlin/com/apollographql/apollo/compiler/entrypoints.kt @@ -186,6 +186,9 @@ internal fun Consumer.toLogger(): ApolloCompiler.Logger { @ApolloInternal fun Iterable.findCodegenSchemaFile(): File { return firstOrNull { + /* + * TODO v5: simplify this and add a schema { } block to the Gradle configuration + */ it.length() > 0 } ?: error("Cannot find CodegenSchema in $this") } diff --git a/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/ApolloAttributes.kt b/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/ApolloAttributes.kt index 093e456a46a..a7704fe7ac3 100644 --- a/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/ApolloAttributes.kt +++ b/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/ApolloAttributes.kt @@ -18,7 +18,6 @@ internal enum class ApolloDirection { } internal enum class ConfigurationKind { - DependencyScope, Consumable, Resolvable } \ No newline at end of file diff --git a/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/DefaultApolloExtension.kt b/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/DefaultApolloExtension.kt index b78c21b07ad..056445e9cc5 100644 --- a/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/DefaultApolloExtension.kt +++ b/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/DefaultApolloExtension.kt @@ -72,7 +72,7 @@ abstract class DefaultApolloExtension( internal fun registerDownstreamProject(serviceName: String, projectPath: String) { project.configurations.configureEach { - if (it.name == ModelNames.configuration(serviceName, ApolloDirection.Downstream, ApolloUsage.Ir, ConfigurationKind.DependencyScope)) { + if (it.name == ModelNames.scopeConfiguration(serviceName, ApolloDirection.Downstream)) { it.dependencies.add(project.dependencies.project(mapOf("path" to projectPath))) } } @@ -391,36 +391,32 @@ abstract class DefaultApolloExtension( } class Configurations( - val scope: Configuration, val consumable: Configuration, val resolvable: Configuration, ) + private fun createConfigurations( serviceName: String, apolloUsage: ApolloUsage, direction: ApolloDirection, + extendsFrom: Configuration ): Configurations { - val dependencyScope = project.configurations.create(ModelNames.configuration(serviceName, direction, apolloUsage, ConfigurationKind.DependencyScope )) { - it.isCanBeConsumed = false - it.isCanBeResolved = false - } val consumable = project.configurations.create(ModelNames.configuration(serviceName, direction, apolloUsage, ConfigurationKind.Consumable )) { it.isCanBeConsumed = true it.isCanBeResolved = false - it.extendsFrom(dependencyScope) + it.extendsFrom(extendsFrom) it.attributes(serviceName, apolloUsage, direction) } val resolvable = project.configurations.create(ModelNames.configuration(serviceName, direction, apolloUsage, ConfigurationKind.Resolvable )) { it.isCanBeConsumed = false it.isCanBeResolved = true - it.extendsFrom(dependencyScope) + it.extendsFrom(extendsFrom) it.attributes(serviceName, apolloUsage, direction) } return Configurations( - scope = dependencyScope, consumable = consumable, resolvable = resolvable ) @@ -455,10 +451,20 @@ abstract class DefaultApolloExtension( val sourcesBaseTaskProvider: TaskProvider<*> + val upstreamScope = project.configurations.create(ModelNames.scopeConfiguration(service.name, ApolloDirection.Upstream)) { + it.isCanBeConsumed = false + it.isCanBeResolved = false + } + val downstreamScope = project.configurations.create(ModelNames.scopeConfiguration(service.name, ApolloDirection.Downstream)) { + it.isCanBeConsumed = false + it.isCanBeResolved = false + } + val otherOptions = createConfigurations( serviceName = service.name, apolloUsage = ApolloUsage.OtherOptions, direction = ApolloDirection.Upstream, + extendsFrom = upstreamScope ) val compilerConfiguration = project.configurations.create(ModelNames.compilerConfiguration(service)) { @@ -489,24 +495,28 @@ abstract class DefaultApolloExtension( serviceName = service.name, apolloUsage = ApolloUsage.CodegenSchema, direction = ApolloDirection.Upstream, + extendsFrom = upstreamScope ) val upstreamIr = createConfigurations( serviceName = service.name, apolloUsage = ApolloUsage.Ir, direction = ApolloDirection.Upstream, + extendsFrom = upstreamScope ) val downstreamIr = createConfigurations( serviceName = service.name, apolloUsage = ApolloUsage.Ir, direction = ApolloDirection.Downstream, + extendsFrom = downstreamScope ) val codegenMetadata = createConfigurations( serviceName = service.name, apolloUsage = ApolloUsage.CodegenMetadata, direction = ApolloDirection.Upstream, + extendsFrom = upstreamScope ) /** @@ -607,14 +617,11 @@ abstract class DefaultApolloExtension( } service.upstreamDependencies.forEach { - otherOptions.scope.dependencies.add(it) - codegenSchema.scope.dependencies.add(it) - upstreamIr.scope.dependencies.add(it) - codegenMetadata.scope.dependencies.add(it) + upstreamScope.dependencies.add(it) } service.downstreamDependencies.forEach { - downstreamIr.scope.dependencies.add(it) + downstreamScope.dependencies.add(it) } } diff --git a/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/ModelNames.kt b/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/ModelNames.kt index be136f77994..83a4431bcd0 100644 --- a/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/ModelNames.kt +++ b/libraries/apollo-gradle-plugin-external/src/main/kotlin/com/apollographql/apollo/gradle/internal/ModelNames.kt @@ -33,29 +33,40 @@ internal object ModelNames { @Deprecated("Unused. Use dependsOn() instead.") @ApolloDeprecatedSince(ApolloDeprecatedSince.Version.v4_0_0) fun metadataConfiguration() = "apolloMetadata" - fun configuration(serviceName: String, apolloDirection: ApolloDirection, apolloUsage: ApolloUsage, configurationKind: ConfigurationKind): String { + + fun scopeConfiguration( + serviceName: String, + apolloDirection: ApolloDirection, + ): String { return camelCase( "apollo", serviceName, apolloDirection.pretty(), - apolloUsage.name, - configurationKind.pretty() ) } - fun compilerConfiguration(service: Service) = camelCase("apollo", service.name, "Compiler") - } -private fun ConfigurationKind.pretty(): String { - return when(this) { - ConfigurationKind.DependencyScope -> "" - else -> name + fun configuration( + serviceName: String, + apolloDirection: ApolloDirection, + apolloUsage: ApolloUsage, + configurationKind: ConfigurationKind, + ): String { + return camelCase( + "apollo", + serviceName, + apolloDirection.pretty(), + apolloUsage.name, + configurationKind.name + ) } + + fun compilerConfiguration(service: Service) = camelCase("apollo", service.name, "Compiler") } private fun ApolloDirection.pretty(): String { - return when(this) { + return when (this) { ApolloDirection.Upstream -> "" - ApolloDirection.Downstream -> name + ApolloDirection.Downstream -> "UsedCoordinates" } } diff --git a/libraries/apollo-gradle-plugin/testProjects/configuration-cache/leaf/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/configuration-cache/leaf/build.gradle.kts index 75493bd8f5f..ba3883689fb 100644 --- a/libraries/apollo-gradle-plugin/testProjects/configuration-cache/leaf/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/configuration-cache/leaf/build.gradle.kts @@ -13,6 +13,11 @@ dependencies { apollo { service("service") { packageName.set("com.example.leaf") - dependsOn(project(":root")) + alwaysGenerateTypesMatching.set(emptyList()) + generateApolloMetadata.set(true) } } + +dependencies { + add("apolloService", project(":root")) +} \ No newline at end of file diff --git a/libraries/apollo-gradle-plugin/testProjects/configuration-cache/root/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/configuration-cache/root/build.gradle.kts index 16c3435f68c..4010d5104f0 100644 --- a/libraries/apollo-gradle-plugin/testProjects/configuration-cache/root/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/configuration-cache/root/build.gradle.kts @@ -7,7 +7,7 @@ apollo { service("service") { packageName.set("com.example") generateApolloMetadata.set(true) - isADependencyOf(project(":leaf")) + alwaysGenerateTypesMatching.set(emptyList()) introspection { this.endpointUrl.set("ENDPOINT") @@ -15,3 +15,7 @@ apollo { } } } + +dependencies { + add("apolloServiceUsedCoordinates", project(":leaf")) +} diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-badconfig/leaf/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-badconfig/leaf/build.gradle.kts index e4b9a60ad73..67c64ff9ecd 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-badconfig/leaf/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-badconfig/leaf/build.gradle.kts @@ -11,7 +11,12 @@ dependencies { apollo { service("service") { // PLACEHOLDER + alwaysGenerateTypesMatching.set(emptyList()) + generateApolloMetadata.set(true) packageNamesFromFilePaths() - dependsOn(project(":root")) } } + +dependencies { + add("apolloService", project(":root")) +} \ No newline at end of file diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-badconfig/root/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-badconfig/root/build.gradle.kts index 4a045475579..ddbae281dfb 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-badconfig/root/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-badconfig/root/build.gradle.kts @@ -15,8 +15,12 @@ apollo { service("service") { packageNamesFromFilePaths() // PLACEHOLDER + alwaysGenerateTypesMatching.set(emptyList()) generateApolloMetadata.set(true) - isADependencyOf(project(":leaf")) mapScalar("Date", "java.util.Date") } } + +dependencies { + add("apolloServiceUsedCoordinates", project(":leaf")) +} diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar-defined-in-leaf/leaf/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar-defined-in-leaf/leaf/build.gradle.kts index 3a9799fd775..3e7b202ff7c 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar-defined-in-leaf/leaf/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar-defined-in-leaf/leaf/build.gradle.kts @@ -15,6 +15,13 @@ apollo { service("service") { packageName.set("com.library") mapScalar("Long", "java.lang.Long") + /** + * We need to call `dependsOn` here to know at graph build time that the schema is coming + * from a dependency and do the checks for the redundant scalar configuration. + * + * TODO v5: add a specific `schema` block so that we can know this + */ dependsOn(project(":root")) } } + diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar/leaf/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar/leaf/build.gradle.kts index ebf35b95ebd..a124ce73abe 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar/leaf/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar/leaf/build.gradle.kts @@ -19,6 +19,11 @@ application { apollo { service("service") { packageName.set("com.library") - dependsOn(project(":root")) + alwaysGenerateTypesMatching.set(emptyList()) + generateApolloMetadata.set(true) } } + +dependencies { + add("apolloService", project(":root")) +} \ No newline at end of file diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar/root/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar/root/build.gradle.kts index c9c3072a42b..cef9fc7cf70 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar/root/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-custom-scalar/root/build.gradle.kts @@ -14,9 +14,13 @@ dependencies { apollo { service("service") { packageName.set("com.library") + alwaysGenerateTypesMatching.set(emptyList()) generateApolloMetadata.set(true) - isADependencyOf(project(":leaf")) mapScalar("Date", "java.util.Date") mapScalar("ID", "com.library.MyID", "com.library.MyIDAdapter()") } } + +dependencies { + add("apolloServiceUsedCoordinates", project(":leaf")) +} diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/node1/impl/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/node1/impl/build.gradle.kts index 767cd2ec866..5488476d8cf 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/node1/impl/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/node1/impl/build.gradle.kts @@ -14,6 +14,13 @@ dependencies { apollo { service("service") { packageNamesFromFilePaths() - dependsOn(project(":root")) + alwaysGenerateTypesMatching.set(emptyList()) + generateApolloMetadata.set(true) } } + + +dependencies { + add("apolloService", project(":root")) +} + diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/node2/impl/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/node2/impl/build.gradle.kts index 767cd2ec866..ee518e8e342 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/node2/impl/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/node2/impl/build.gradle.kts @@ -14,6 +14,11 @@ dependencies { apollo { service("service") { packageNamesFromFilePaths() - dependsOn(project(":root")) + alwaysGenerateTypesMatching.set(emptyList()) + generateApolloMetadata.set(true) } } + +dependencies { + add("apolloService", project(":root")) +} diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/root/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/root/build.gradle.kts index 76046e58584..a6c34287c68 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/root/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-duplicates/root/build.gradle.kts @@ -16,8 +16,11 @@ apollo { alwaysGenerateTypesMatching.set(listOf("Cat")) packageNamesFromFilePaths() generateApolloMetadata.set(true) - isADependencyOf(project(":node1:impl")) - isADependencyOf(project(":node2:impl")) mapScalar("Date", "java.util.Date") } } + +dependencies { + add("apolloServiceUsedCoordinates", project(":node1:impl")) + add("apolloServiceUsedCoordinates", project(":node2:impl")) +} diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-publishing-consumer/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-publishing-consumer/build.gradle.kts index a244d6203fc..1dfe9e1cc08 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-publishing-consumer/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-publishing-consumer/build.gradle.kts @@ -12,11 +12,20 @@ dependencies { apollo { service("service1") { packageName.set("com.service1") - dependsOn("com.fragments:fragments:1.0.0") + alwaysGenerateTypesMatching.set(emptyList()) + generateApolloMetadata.set(true) } service("service2") { packageName.set("com.service2") - dependsOn("com.fragments:fragments:1.0.0") + alwaysGenerateTypesMatching.set(emptyList()) + generateApolloMetadata.set(true) } } + +dependencies { + add("apolloService1", "com.fragments:fragments:1.0.0") + add("apolloService2", "com.fragments:fragments:1.0.0") +} + + diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-publishing-producer/fragments/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-publishing-producer/fragments/build.gradle.kts index 38f0d28ccf1..5a892e2449e 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-publishing-producer/fragments/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-publishing-producer/fragments/build.gradle.kts @@ -15,20 +15,31 @@ dependencies { apollo { service("service1") { packageName.set("com.service1") - dependsOn(project(":schema")) + generateApolloMetadata.set(true) + alwaysGenerateTypesMatching.set(emptyList()) + outgoingVariantsConnection { addToSoftwareComponent("java") + generateApolloMetadata.set(true) } } service("service2") { packageName.set("com.service2") - dependsOn(project(":schema")) + generateApolloMetadata.set(true) + alwaysGenerateTypesMatching.set(emptyList()) + outgoingVariantsConnection { addToSoftwareComponent("java") + generateApolloMetadata.set(true) } } } +dependencies { + add("apolloService1", project(":schema")) + add("apolloService2", project(":schema")) +} + configure { publications { create("default") { @@ -42,3 +53,4 @@ configure { } } } + diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/leaf/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/leaf/build.gradle.kts index ce7be6a2123..8e6a9960eca 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/leaf/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/leaf/build.gradle.kts @@ -20,6 +20,11 @@ application { apollo { service("service") { packageNamesFromFilePaths() - dependsOn(project(":node")) + generateApolloMetadata.set(true) + alwaysGenerateTypesMatching.set(emptyList()) } } + +dependencies { + add("apolloService", project(":node")) +} diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/node/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/node/build.gradle.kts index 5912e2d3b06..35b72685504 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/node/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/node/build.gradle.kts @@ -12,7 +12,12 @@ dependencies { apollo { service("service") { packageNamesFromFilePaths() - isADependencyOf(project(":leaf")) - dependsOn(project(":root")) + generateApolloMetadata.set(true) + alwaysGenerateTypesMatching.set(emptyList()) } } + +dependencies { + add("apolloService", project(":root")) + add("apolloServiceUsedCoordinates", project(":leaf")) +} diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/root/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/root/build.gradle.kts index ecc1cf7420d..20523803a94 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/root/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules-transitive/root/build.gradle.kts @@ -15,7 +15,12 @@ apollo { service("service") { packageNamesFromFilePaths() generateApolloMetadata.set(true) - isADependencyOf(project(":node")) + alwaysGenerateTypesMatching.set(emptyList()) mapScalar("Date", "java.util.Date") } } + +dependencies { + add("apolloServiceUsedCoordinates", project(":node")) +} + diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules/leaf/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules/leaf/build.gradle.kts index 7e78acc33ef..873e6ecec9e 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules/leaf/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules/leaf/build.gradle.kts @@ -19,6 +19,11 @@ application { apollo { service("service") { packageNamesFromFilePaths() - dependsOn(project(":root")) + alwaysGenerateTypesMatching.set(emptyList()) + generateApolloMetadata.set(true) } } + +dependencies { + add("apolloService", project(":root")) +} \ No newline at end of file diff --git a/libraries/apollo-gradle-plugin/testProjects/multi-modules/root/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/multi-modules/root/build.gradle.kts index ace4b2005ce..d358ee8b96c 100644 --- a/libraries/apollo-gradle-plugin/testProjects/multi-modules/root/build.gradle.kts +++ b/libraries/apollo-gradle-plugin/testProjects/multi-modules/root/build.gradle.kts @@ -14,8 +14,12 @@ dependencies { apollo { service("service") { packageNamesFromFilePaths() + alwaysGenerateTypesMatching.set(emptyList()) generateApolloMetadata.set(true) mapScalar("Date", "java.util.Date") - isADependencyOf(project(":leaf")) } } + +dependencies { + add("apolloServiceUsedCoordinates", project(":leaf")) +} diff --git a/tests/multi-module-1/child/build.gradle.kts b/tests/multi-module-1/child/build.gradle.kts index 4ed05467f6b..68508b42620 100644 --- a/tests/multi-module-1/child/build.gradle.kts +++ b/tests/multi-module-1/child/build.gradle.kts @@ -1,3 +1,6 @@ +import org.gradle.kotlin.dsl.add +import org.gradle.kotlin.dsl.project + plugins { id("org.jetbrains.kotlin.jvm") id("com.apollographql.apollo") @@ -13,8 +16,13 @@ dependencies { apollo { service("service") { - dependsOn(project(":multi-module-1-root")) packageName.set("multimodule1.child") flattenModels.set(false) + generateApolloMetadata.set(true) + alwaysGenerateTypesMatching.set(emptyList()) } } + +dependencies { + add("apolloService", project(":multi-module-1-root")) +} diff --git a/tests/multi-module-1/file-path/build.gradle.kts b/tests/multi-module-1/file-path/build.gradle.kts index 94b58df0f69..ed912321cd8 100644 --- a/tests/multi-module-1/file-path/build.gradle.kts +++ b/tests/multi-module-1/file-path/build.gradle.kts @@ -14,6 +14,11 @@ dependencies { apollo { service("service") { packageNamesFromFilePaths() - dependsOn(project(":multi-module-1-root")) + generateApolloMetadata.set(true) + alwaysGenerateTypesMatching.set(emptyList()) } } + +dependencies { + add("apolloService", project(":multi-module-1-root")) +} diff --git a/tests/multi-module-1/root/build.gradle.kts b/tests/multi-module-1/root/build.gradle.kts index 3a71d690909..435e3c0ffb2 100644 --- a/tests/multi-module-1/root/build.gradle.kts +++ b/tests/multi-module-1/root/build.gradle.kts @@ -14,8 +14,14 @@ apollo { service("service") { packageName.set("multimodule1.root") generateApolloMetadata.set(true) + alwaysGenerateTypesMatching.set(emptyList()) mapScalar("Long", "kotlin.Long") - isADependencyOf(project(":multi-module-1-child")) - isADependencyOf(project(":multi-module-1-file-path")) } } + +dependencies { + add("apolloServiceUsedCoordinates", project(":multi-module-1-child")) + add("apolloServiceUsedCoordinates", project(":multi-module-1-file-path")) +} + + diff --git a/tests/multi-module-2/child/build.gradle.kts b/tests/multi-module-2/child/build.gradle.kts index 626ac161f30..cfaa5e9fbc0 100644 --- a/tests/multi-module-2/child/build.gradle.kts +++ b/tests/multi-module-2/child/build.gradle.kts @@ -14,7 +14,11 @@ dependencies { apollo { service("multimodule2") { packageName.set("multimodule2.child") + generateApolloMetadata.set(true) flattenModels.set(false) - dependsOn(project(":multi-module-2-root")) } } + +dependencies { + add("apolloMultimodule2", project(":multi-module-2-root")) +} diff --git a/tests/multi-module-2/root/build.gradle.kts b/tests/multi-module-2/root/build.gradle.kts index 3f06e32bdd2..16b128c317d 100644 --- a/tests/multi-module-2/root/build.gradle.kts +++ b/tests/multi-module-2/root/build.gradle.kts @@ -14,10 +14,12 @@ dependencies { apollo { service("multimodule2") { packageName.set("multimodule2.root") - isADependencyOf(project(":multi-module-2-child")) generateApolloMetadata.set(true) @OptIn(ApolloExperimental::class) generateDataBuilders.set(true) } } +dependencies { + add("apolloMultimodule2UsedCoordinates", project(":multi-module-2-child")) +} \ No newline at end of file diff --git a/tests/multi-module-3/child/build.gradle.kts b/tests/multi-module-3/child/build.gradle.kts index 54ef766035a..6b51bcc11dc 100644 --- a/tests/multi-module-3/child/build.gradle.kts +++ b/tests/multi-module-3/child/build.gradle.kts @@ -15,6 +15,10 @@ apollo { service("multimodule3") { packageName.set("multimodule3.child") flattenModels.set(false) - dependsOn(project(":multi-module-3-root")) + generateApolloMetadata.set(true) } } + +dependencies { + add("apolloMultimodule3", project(":multi-module-3-root")) +} diff --git a/tests/multi-module-3/root/build.gradle.kts b/tests/multi-module-3/root/build.gradle.kts index d98451a43d1..2361e4d5632 100644 --- a/tests/multi-module-3/root/build.gradle.kts +++ b/tests/multi-module-3/root/build.gradle.kts @@ -15,10 +15,12 @@ apollo { service("multimodule3") { packageName.set("multimodule3.root") alwaysGenerateTypesMatching.set(listOf("Cat")) - isADependencyOf(project(":multi-module-3-child")) generateApolloMetadata.set(true) @OptIn(ApolloExperimental::class) generateDataBuilders.set(true) } } +dependencies { + add("apolloMultimodule3UsedCoordinates", project(":multi-module-3-child")) +} \ No newline at end of file