Add initial code
Enough to read and dump the config file
This commit is contained in:
parent
8433a06b18
commit
65c9d16717
3 changed files with 58 additions and 0 deletions
50
gerritcp.go
Normal file
50
gerritcp.go
Normal 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
5
go.mod
Normal 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
3
go.sum
Normal 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=
|
Loading…
Reference in a new issue