// SPDX-FileCopyrightText: 2025 Romain Maneschi // // SPDX-License-Identifier: EUPL-1.2 package main import ( "encoding/json" "fmt" "os" "gitroot.dev/executor/lib" pluginLib "gitroot.dev/libs/golang/plugin/model" ) func main() { if len(os.Args) < 2 { fmt.Fprintf(os.Stderr, "Usage: executor \n") os.Exit(1) } jsonInput := os.Args[1] var input pluginLib.Exec if err := json.Unmarshal([]byte(jsonInput), &input); err != nil { fmt.Fprintf(os.Stderr, "FATAL: Invalid JSON input: %v\n", err) os.Exit(1) } pwd, err := os.Getwd() if err != nil { fmt.Fprintf(os.Stderr, "Error getting pwd: %v\n", err) os.Exit(1) } status, err := lib.Start(pwd, input, true) if err != nil { fmt.Fprintf(os.Stderr, "Error starting: %v\n", err) os.Exit(1) } statusJson, err := json.Marshal(status) if err != nil { fmt.Fprintf(os.Stderr, "Error marshaling output: %v\n", err) os.Exit(1) } fmt.Println(string(statusJson)) }