eclipse/cmd/hub/hub.go

64 lines
1.1 KiB
Go
Raw Normal View History

2024-01-11 00:13:14 +00:00
// Copyright (C) 2024 Umorpha Systems
// SPDX-License-Identifier: AGPL-3.0-or-later
package main
import (
"fmt"
"io"
"os"
2024-01-11 17:59:26 +00:00
"os/exec"
"git.mothstuff.lol/lukeshu/eclipse/lib"
2024-01-11 00:13:14 +00:00
"sigs.k8s.io/yaml"
)
type GitTrigger struct {
RepoURL string `json:"repo_url"`
Rev string `json:"rev"`
}
2024-01-11 17:59:26 +00:00
func FetchRepo(cacheDir, url string) error {
cmd := exec.Command("git", "fetch",
"--no-write-fetch-head",
"--no-recurse-submodules",
"--no-tags",
"--prune",
"--",
url, "*:"+lib.URLToID(url)+"/*")
cmd.Dir = cacheDir
if err := cmd.Run(); err != nil {
return err
}
return nil
}
2024-01-11 00:13:14 +00:00
func Resolve(trigger GitTrigger) (string, error) {
return "", nil
}
func mainWithErr() error {
cfgBytes, err := io.ReadAll(os.Stdin)
if err != nil {
return err
}
var cfgObj GitTrigger
if err := yaml.UnmarshalStrict(cfgBytes, &cfgObj); err != nil {
return err
}
out, err := Resolve(cfgObj)
if err != nil {
return err
}
fmt.Println(out)
return nil
}
func main() {
if err := mainWithErr(); err != nil {
fmt.Fprintf(os.Stderr, "%s: error: %v\n", os.Args[0], err)
os.Exit(1)
}
}