eclipse/cmd/hub/hub.go

48 lines
856 B
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
2024-01-11 20:45:23 +00:00
"git.mothstuff.lol/lukeshu/eclipse/lib/gitcache"
2024-01-11 00:13:14 +00:00
"sigs.k8s.io/yaml"
)
type GitTrigger struct {
RepoURL string `json:"repo_url"`
Rev string `json:"rev"`
}
func Resolve(trigger GitTrigger) (string, error) {
2024-01-11 21:46:13 +00:00
return new(gitcache.Cache).RevParse(os.Stderr, trigger.RepoURL, trigger.Rev)
2024-01-11 00:13:14 +00:00
}
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)
}
}