in graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/GenerateJavaTask.kt [174:234]
fun generate() {
val schemaJarFilesFromDependencies = dgsCodegenClasspath.files.toList()
val schemaPaths = schemaPaths.map { Paths.get(it.toString()).toFile() }.sorted().toSet()
schemaPaths.filter { !it.exists() }.forEach {
logger.warn("Schema location ${it.absolutePath} does not exist")
}
logger.info("Processing schema files:")
schemaPaths.forEach {
logger.info("Processing $it")
}
val config =
CodeGenConfig(
schemas = emptySet(),
schemaFiles = schemaPaths,
schemaJarFilesFromDependencies = schemaJarFilesFromDependencies,
outputDir = getOutputDir().toPath(),
examplesOutputDir = getExampleOutputDir().toPath(),
writeToFiles = true,
packageName = packageName,
subPackageNameClient = subPackageNameClient,
subPackageNameDatafetchers = subPackageNameDatafetchers,
subPackageNameTypes = subPackageNameTypes,
language = Language.valueOf(language.uppercase(Locale.getDefault())),
generateBoxedTypes = generateBoxedTypes,
generateIsGetterForPrimitiveBooleanFields = generateIsGetterForPrimitiveBooleanFields,
generateClientApi = generateClient,
generateClientApiv2 = generateClientv2,
generateKotlinNullableClasses = generateKotlinNullableClasses,
generateKotlinClosureProjections = generateKotlinClosureProjections,
generateInterfaces = generateInterfaces,
generateInterfaceSetters = generateInterfaceSetters,
generateInterfaceMethodsForInterfaceFields = generateInterfaceMethodsForInterfaceFields,
generateDocs = generateDocs,
typeMapping = typeMapping,
includeQueries = includeQueries.toSet(),
includeMutations = includeMutations.toSet(),
includeSubscriptions = includeSubscriptions.toSet(),
skipEntityQueries = skipEntityQueries,
shortProjectionNames = shortProjectionNames,
generateDataTypes = generateDataTypes,
omitNullInputFields = omitNullInputFields,
kotlinAllFieldsOptional = kotlinAllFieldsOptional,
snakeCaseConstantNames = snakeCaseConstantNames,
implementSerializable = implementSerializable,
addGeneratedAnnotation = addGeneratedAnnotation,
disableDatesInGeneratedAnnotation = disableDatesInGeneratedAnnotation,
addDeprecatedAnnotation = addDeprecatedAnnotation,
includeImports = includeImports,
includeEnumImports = includeEnumImports,
includeClassImports = includeClassImports,
generateCustomAnnotations = generateCustomAnnotations,
javaGenerateAllConstructor = javaGenerateAllConstructor,
trackInputFieldSet = trackInputFieldSet,
)
logger.info("Codegen config: {}", config)
val codegen = CodeGen(config)
codegen.generate()
}