--- a/src/main.go Mon Dec 15 10:59:58 2025 +0100 +++ b/src/main.go Mon Dec 15 19:18:04 2025 +0100 @@ -31,8 +31,9 @@ Path string `xml:"path"` BuildEnvs string `xml:"buildenvs"` Build []struct { - IsPlatform string `xml:"isplatform,attr"` - NotPlatform string `xml:"not,attr"` + IsPlatform string `xml:"isplatform,attr"` + NotPlatform string `xml:"not,attr"` + NotList []string Test []string `xml:"test"` Var []struct { Name string `xml:"name,attr"` @@ -59,12 +60,28 @@ config.BuildEnvMap[env.Name] = env } + for ri := range config.Repository { + for bi := range config.Repository[ri].Build { + build := &config.Repository[ri].Build[bi] + build.NotList = strings.Split(build.NotPlatform, ",") + } + } + templateStr, err := os.ReadFile("build.template") if err != nil { log.Fatal(err) } - tpl, err := template.New("").Parse(string(templateStr)) + funcs := template.FuncMap{ + "add": func(i int, n int) int { + return i + n + }, + "sub": func(i int, n int) int { + return i - n + }, + } + + tpl, err := template.New("").Funcs(funcs).Parse(string(templateStr)) if err != nil { log.Fatal(err) } @@ -205,6 +222,7 @@ // upload using scp cmd := exec.Command("scp", path.Join(tmp_dir, "build.tar.gz"), env.Host+":") + log.Print("scp: ", cmd.Args) if err := cmd.Run(); err != nil { log.Print("cannot copy build env to ", env.Host) continue