From 9e6711a18edfd6f5153b4f0c9a15e25e7c8297f7 Mon Sep 17 00:00:00 2001 From: Jiho Lee Date: Tue, 15 Sep 2026 15:58:56 -0700 Subject: [PATCH 1/2] Test changes to schema paths input --- .../dgs/codegen/gradle/GenerateJavaTask.kt | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/GenerateJavaTask.kt b/graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/GenerateJavaTask.kt index e33a0ead9..6d224bae4 100644 --- a/graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/GenerateJavaTask.kt +++ b/graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/GenerateJavaTask.kt @@ -24,6 +24,7 @@ import com.netflix.graphql.dgs.codegen.JacksonVersion import com.netflix.graphql.dgs.codegen.Language import org.gradle.api.DefaultTask import org.gradle.api.file.ConfigurableFileCollection +import org.gradle.api.file.FileCollection import org.gradle.api.model.ObjectFactory import org.gradle.api.plugins.JavaPlugin import org.gradle.api.provider.ListProperty @@ -48,8 +49,22 @@ open class GenerateJavaTask .get() .asFile.absolutePath - @InputFiles - var schemaPaths = mutableListOf("${project.projectDir}/src/main/resources/schema") + @get:InputFiles + @get:PathSensitive(PathSensitivity.RELATIVE) + val schemaPaths: ConfigurableFileCollection = + objectFactory.fileCollection().from("${project.projectDir}/src/main/resources/schema") + + fun setSchemaPaths(paths: Iterable) { + schemaPaths.setFrom(paths) + } + + fun setSchemaPaths(paths: Provider>) { + schemaPaths.setFrom(paths) + } + + fun setSchemaPaths(paths: FileCollection) { + schemaPaths.setFrom(paths) + } @Input var packageName = "com.netflix.dgs.codegen.generated" @@ -207,7 +222,7 @@ open class GenerateJavaTask @TaskAction fun generate() { val schemaJarFilesFromDependencies = dgsCodegenClasspath.files.toList() - val schemaPaths = schemaPaths.map { Paths.get(it.toString()).toFile() }.sorted().toSet() + val schemaPaths = schemaPaths.files.sorted().toSet() schemaPaths.filter { !it.exists() }.forEach { logger.warn("Schema location ${it.absolutePath} does not exist") } From 644897432191a07e73cdde4903f7579c539977e8 Mon Sep 17 00:00:00 2001 From: Jiho Lee Date: Thu, 17 Sep 2026 13:06:50 -0700 Subject: [PATCH 2/2] Preserve original schemaPaths getter for compatibility --- .../dgs/codegen/gradle/GenerateJavaTask.kt | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/GenerateJavaTask.kt b/graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/GenerateJavaTask.kt index 6d224bae4..2d6e447b0 100644 --- a/graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/GenerateJavaTask.kt +++ b/graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/GenerateJavaTask.kt @@ -40,7 +40,7 @@ import javax.inject.Inject open class GenerateJavaTask @Inject constructor( - objectFactory: ObjectFactory, + private val objectFactory: ObjectFactory, private val providerFactory: ProviderFactory, ) : DefaultTask() { @Input @@ -49,22 +49,22 @@ open class GenerateJavaTask .get() .asFile.absolutePath - @get:InputFiles - @get:PathSensitive(PathSensitivity.RELATIVE) - val schemaPaths: ConfigurableFileCollection = - objectFactory.fileCollection().from("${project.projectDir}/src/main/resources/schema") + @get:Internal + var schemaPaths: MutableList = mutableListOf("${project.projectDir}/src/main/resources/schema") - fun setSchemaPaths(paths: Iterable) { - schemaPaths.setFrom(paths) + fun setSchemaPaths(paths: FileCollection) { + schemaPaths = mutableListOf(paths) } fun setSchemaPaths(paths: Provider>) { - schemaPaths.setFrom(paths) + schemaPaths = mutableListOf(paths) } - fun setSchemaPaths(paths: FileCollection) { - schemaPaths.setFrom(paths) - } + /** The actual Gradle-tracked input: built fresh from schemaPaths every time. */ + @get:InputFiles + @get:PathSensitive(PathSensitivity.RELATIVE) + val schemaFiles: FileCollection + get() = objectFactory.fileCollection().from(schemaPaths) @Input var packageName = "com.netflix.dgs.codegen.generated" @@ -222,19 +222,19 @@ open class GenerateJavaTask @TaskAction fun generate() { val schemaJarFilesFromDependencies = dgsCodegenClasspath.files.toList() - val schemaPaths = schemaPaths.files.sorted().toSet() - schemaPaths.filter { !it.exists() }.forEach { + val resolvedSchemaFiles = schemaFiles.files.sorted().toSet() + resolvedSchemaFiles.filter { !it.exists() }.forEach { logger.warn("Schema location ${it.absolutePath} does not exist") } logger.info("Processing schema files:") - schemaPaths.forEach { + resolvedSchemaFiles.forEach { logger.info("Processing $it") } val config = CodeGenConfig( schemas = emptySet(), - schemaFiles = schemaPaths, + schemaFiles = resolvedSchemaFiles, schemaJarFilesFromDependencies = schemaJarFilesFromDependencies, outputDir = getOutputDir().toPath(), examplesOutputDir = getExampleOutputDir().toPath(),