override fun run()

in graphql-dgs-codegen-core/src/main/kotlin/com/netflix/graphql/dgs/codegen/CodeGenCli.kt [74:143]


    override fun run() {
        val inputSchemas =
            if (schemas.isEmpty()) {
                val defaultSchemaPath = Paths.get("src", "main", "resources", "schema")
                if (defaultSchemaPath.toFile().exists()) {
                    echo("No schema files or directories specified, defaulting to src/main/resources/schema")
                    setOf(defaultSchemaPath.toFile())
                } else {
                    throw UsageError("No schema file(s) specified")
                }
            } else {
                schemas.toSet()
            }

        val generate =
            CodeGen(
                if (packageName != null) {
                    CodeGenConfig(
                        schemaFiles = inputSchemas,
                        writeToFiles = writeFiles,
                        outputDir = output.toPath(),
                        packageName = packageName!!,
                        subPackageNameClient = subPackageNameClient,
                        subPackageNameDatafetchers = subPackageNameDatafetchers,
                        subPackageNameTypes = subPackageNameTypes,
                        language = Language.valueOf(language.uppercase()),
                        generateBoxedTypes = generateBoxedTypes,
                        generateClientApi = generateClient,
                        includeQueries = includeQueries,
                        includeMutations = includeMutations,
                        skipEntityQueries = skipEntityQueries,
                        typeMapping = typeMapping,
                        shortProjectionNames = shortProjectionNames,
                        generateDataTypes = generateDataTypes,
                        generateInterfaces = generateInterfaces,
                        generateInterfaceSetters = generateInterfaceSetters,
                        generateDocs = generateDocs,
                    )
                } else {
                    CodeGenConfig(
                        schemaFiles = inputSchemas,
                        writeToFiles = writeFiles,
                        outputDir = output.toPath(),
                        subPackageNameClient = subPackageNameClient,
                        subPackageNameDatafetchers = subPackageNameDatafetchers,
                        subPackageNameTypes = subPackageNameTypes,
                        language = Language.valueOf(language.uppercase()),
                        generateBoxedTypes = generateBoxedTypes,
                        generateClientApi = generateClient,
                        includeQueries = includeQueries,
                        includeMutations = includeMutations,
                        skipEntityQueries = skipEntityQueries,
                        typeMapping = typeMapping,
                        shortProjectionNames = shortProjectionNames,
                        generateDataTypes = generateDataTypes,
                        generateInterfaces = generateInterfaces,
                        generateInterfaceSetters = generateInterfaceSetters,
                        generateDocs = generateDocs,
                    )
                },
            ).generate()

        if (writeFiles) {
            echo(
                "${(generate.javaDataTypes + generate.javaInterfaces + generate.javaEnumTypes + generate.javaQueryTypes + generate.clientProjections + generate.javaConstants).size} files written to ${output.absoluteFile}",
            )
        } else {
            echo(generate)
        }
    }