in provider-schema/processors/output.go [16:49]
func ProcessOutput(providerPath, gitBranch, outputDir string) (TerraformObjects, error) {
// Step 1: Generate schema
schemaOutput, err := ProcessSchema(providerPath, gitBranch)
if err != nil {
return nil, fmt.Errorf("error processing schema: %v", err)
}
// Step 2: Generate markdown docs
markdownOutput, err := ProcessMarkdown(providerPath)
if err != nil {
return nil, fmt.Errorf("error processing markdown: %v", err)
}
// Step 3: Combine schema and markdown outputs
combinedOutput, err := CombineSchemaAndMarkdown(schemaOutput, markdownOutput)
if err != nil {
return nil, fmt.Errorf("error combining outputs: %v", err)
}
// Step 4: Marshal combined output to JSON
jsonOutput, err := json.MarshalIndent(combinedOutput, "", " ")
if err != nil {
return nil, fmt.Errorf("error marshaling combined output: %v", err)
}
// Step 5: Write combined output to a file
err = os.WriteFile(outputDir+"/"+outputFileName, jsonOutput, 0644)
if err != nil {
return nil, fmt.Errorf("error writing combined output to file: %v", err)
}
fmt.Printf("Combined output successfully written to %s\n", outputFileName)
return combinedOutput, nil
}