go-scm/cmd/collect/cmd_process.go
Snider 6d552e98ed fix: migrate module paths from forge.lthn.ai to dappco.re
Update all import paths, go.mod deps, and fix API compat for
core v0.8.0-alpha.1 (RegisterAction, Message, OnStartup→Result,
store.KeyValueStore, io.NewMemoryMedium).

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-07 12:44:33 +01:00

50 lines
1 KiB
Go

// SPDX-License-Identifier: EUPL-1.2
package collect
import (
"context"
"dappco.re/go/core/i18n"
"dappco.re/go/core/scm/collect"
"dappco.re/go/core/cli/pkg/cli"
)
// addProcessCommand adds the 'process' subcommand to the collect parent.
func addProcessCommand(parent *cli.Command) {
processCmd := &cli.Command{
Use: "process <source> <dir>",
Short: i18n.T("cmd.collect.process.short"),
Long: i18n.T("cmd.collect.process.long"),
Args: cli.ExactArgs(2),
RunE: func(cmd *cli.Command, args []string) error {
return runProcess(args[0], args[1])
},
}
parent.AddCommand(processCmd)
}
func runProcess(source, dir string) error {
cfg := newConfig()
setupVerboseLogging(cfg)
processor := &collect.Processor{
Source: source,
Dir: dir,
}
if cfg.DryRun {
cli.Info("Dry run: would process " + source + " data in " + dir)
return nil
}
ctx := context.Background()
result, err := processor.Process(ctx, cfg)
if err != nil {
return cli.Wrap(err, "processing failed")
}
printResult(result)
return nil
}