42 lines
710 B
Go
42 lines
710 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"log"
|
||
|
"os"
|
||
|
"path"
|
||
|
"strings"
|
||
|
"text/template"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
if len(os.Args) < 2 {
|
||
|
log.Fatal("GOOS should be provided as a CLI argument")
|
||
|
}
|
||
|
|
||
|
goos := strings.TrimSpace(os.Args[1])
|
||
|
if goos == "" {
|
||
|
log.Fatal("GOOS should be provided as a CLI argument")
|
||
|
}
|
||
|
|
||
|
tmpl := template.Must(
|
||
|
template.New(".goreleaser.yml.tmpl").
|
||
|
Delims("[[", "]]").
|
||
|
ParseFiles("./.goreleaser.yml.tmpl"),
|
||
|
)
|
||
|
|
||
|
outputPath := path.Join(os.TempDir(), fmt.Sprintf(".goreleaser_%s.yml", goos))
|
||
|
|
||
|
output, err := os.Create(outputPath)
|
||
|
if err != nil {
|
||
|
log.Fatal(err)
|
||
|
}
|
||
|
|
||
|
err = tmpl.Execute(output, map[string]string{"GOOS": goos})
|
||
|
if err != nil {
|
||
|
log.Fatal(err)
|
||
|
}
|
||
|
|
||
|
fmt.Print(outputPath)
|
||
|
}
|