public static void Generate()

in telemetry/csharp/AwsToolkit.Telemetry.Events.Generator/Program.cs [34:71]


        public static void Generate(Options options)
        { 
            var definitionPath = Path.Combine(GetTelemetryDefinitionsFolder(), "commonDefinitions.json");

            var commonDefinitions = TelemetryDefinitions.Load(definitionPath);

            DefinitionsBuilder builder = new DefinitionsBuilder()
                .WithNamespace(options.Namespace);

            // Generate the main telemetry definitions, or supplemental definitions
            if (!options.SupplementalDefinitions.Any())
            {
                // We're producing the main telemetry definitions
                builder
                    .AddMetricsTypes(commonDefinitions.types)
                    .AddMetrics(commonDefinitions.metrics);
            }
            else
            {
                // We're producing supplemental "repo-specific" definitions
                builder
                    .AddMetricsTypes(commonDefinitions.types, referenceOnly: true);

                // Load each file, add types and metrics
                options.SupplementalDefinitions.Select(TelemetryDefinitions.Load)
                    .ToList()
                    .ForEach(definitions =>
                    {
                        builder
                            .AddMetricsTypes(definitions.types)
                            .AddMetrics(definitions.metrics);
                    });
            }

            var code = builder.Build();

            File.WriteAllText(Path.Combine(options.OutputFolder, options.OutputFilename), code);
        }