mirror of
				https://github.com/traefik/traefik.git
				synced 2025-11-04 10:21:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			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)
 | 
						|
}
 |