package cli import ( "context" "fmt" "io" "gitea.maximumdirect.net/eric/distributor/internal/app" ) func validateCommand(ctx context.Context, args []string, stdout, stderr io.Writer) int { if hasHelp(args) { printValidateHelp(stdout) return exitOK } parsed, ok := parseSourceDiagnosticArgs(stderr, "validate", args) if !ok { return exitUsage } if err := app.Validate(ctx, app.ValidateOptions{ Path: parsed.Path, ConfigPath: parsed.ConfigPath, PipelineID: parsed.PipelineID, BundlePath: parsed.BundlePath, Stdout: stdout, OutputFormat: parsed.OutputFormat, }); err != nil { return fail(stderr, err) } return exitOK } func printValidateHelp(w io.Writer) { fmt.Fprint(w, `Usage: distributor validate [--format text|json] distributor validate --config --pipeline [--bundle ] [--format text|json] Options: --config Path to config file for configured source validation --pipeline Pipeline id to validate in config mode --bundle Source-root-relative bundle path to validate --format text|json Output format Validate a local source bundle directory, a local source bundle tree, or a configured pipeline source. `) }