Add initial code

Enough to read and dump the config file
This commit is contained in:
Patrick Georgi 2021-10-29 20:21:25 +02:00
parent 8433a06b18
commit 65c9d16717
3 changed files with 58 additions and 0 deletions

50
gerritcp.go Normal file
View file

@ -0,0 +1,50 @@
package main
import (
"flag"
"fmt"
"os"
"gopkg.in/yaml.v2"
)
type Repo struct {
Url string `yaml:"url"`
Repo string `yaml:"repo"`
Branch string `yaml:"branch"`
Authentication string `yaml:"authentication"`
CookieName string `yaml:"cookieName"`
CookieValue string `yaml:"cookieValue"`
}
type Workstreams struct {
OnlyIfTouching []string `yaml:"onlyIfTouching"`
NeverModify []string `yaml:"neverModify"`
}
type configFormat struct {
Sites map[string]Repo `yaml:"sites"`
Workstreams map[string]Workstreams `yaml:"workstreams"`
}
func main() {
// dir := flag.String("dir", "repo", "path to local git repo")
configFile := flag.String("config", "config.yaml", "path to configuration")
flag.Parse()
file, err := os.Open(*configFile)
if err != nil {
panic(fmt.Sprintf("Could not open '%s': %s", *configFile, err))
}
defer file.Close()
config := new(configFormat)
configDecoder := yaml.NewDecoder(file)
err = configDecoder.Decode(&config)
if err != nil {
panic(fmt.Sprintf("Failed parsing '%s': %s", *configFile, err))
}
fmt.Println(config)
}

5
go.mod Normal file
View file

@ -0,0 +1,5 @@
module review.coreboot.org/gerritcp/v2
go 1.17
require gopkg.in/yaml.v2 v2.4.0

3
go.sum Normal file
View file

@ -0,0 +1,3 @@
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=