fun generateTelemetryFromFiles()

in telemetry/jetbrains/src/main/kotlin/software/aws/toolkits/telemetry/generator/OTelTelemetryGenerator.kt [59:90]


    fun generateTelemetryFromFiles(
        inputFiles: List<File>,
        defaultDefinitions: List<String> = ResourceLoader.DEFINITIONS_FILES,
        outputFolder: File,
    ) {
        val telemetryDefinitions = TelemetryParser.parseFiles(defaultDefinitions, inputFiles)

        FileSpec.builder(GENERATED_BASE_SPAN)
            .indent(indent)
            .generateHeader()
            .addType(baseSpan(telemetryDefinitions))
            .build()
            .writeTo(outputFolder)

        val telemetryKt =
            FileSpec.builder(PACKAGE_NAME, "Telemetry")
                .indent(indent)
                .generateHeader()

        val telemetryRootBuilder = TypeSpec.objectBuilder("Telemetry")

        telemetryDefinitions.metrics.groupBy { it.namespace() }
            .toSortedMap()
            .forEach { (namespace, metrics) ->
                generateMetrics(telemetryRootBuilder, outputFolder, namespace, metrics)
            }

        telemetryKt
            .addType(telemetryRootBuilder.build())
            .build()
            .writeTo(outputFolder)
    }