in graphql-dgs-codegen-core/src/main/kotlin/com/netflix/graphql/dgs/codegen/CodeGen.kt [77:111]
fun generate(): CodeGenResult {
loadTypeMappingsFromDependencies()
val codeGenResult =
when (config.language) {
Language.JAVA -> generateJava()
Language.KOTLIN -> generateKotlin()
}
if (config.writeToFiles) {
codeGenResult.javaDataTypes.forEach { it.writeTo(config.outputDir) }
codeGenResult.javaInterfaces.forEach { it.writeTo(config.outputDir) }
codeGenResult.javaEnumTypes.forEach { it.writeTo(config.outputDir) }
codeGenResult.javaDataFetchers.forEach { it.writeTo(config.examplesOutputDir) }
codeGenResult.javaQueryTypes.forEach { it.writeTo(config.outputDir) }
codeGenResult.clientProjections.forEach {
try {
it.writeTo(config.outputDir)
} catch (ex: Exception) {
println(ex.message)
}
}
codeGenResult.javaConstants.forEach { it.writeTo(config.outputDir) }
codeGenResult.kotlinDataTypes.forEach { it.writeTo(config.outputDir) }
codeGenResult.kotlinInputTypes.forEach { it.writeTo(config.outputDir) }
codeGenResult.kotlinInterfaces.forEach { it.writeTo(config.outputDir) }
codeGenResult.kotlinEnumTypes.forEach { it.writeTo(config.outputDir) }
codeGenResult.kotlinDataFetchers.forEach { it.writeTo(config.examplesOutputDir) }
codeGenResult.kotlinConstants.forEach { it.writeTo(config.outputDir) }
codeGenResult.kotlinClientTypes.forEach { it.writeTo(config.outputDir) }
codeGenResult.docFiles.forEach { it.writeTo(config.generatedDocsFolder) }
}
return codeGenResult
}