in internal/genv/main.go [31:71]
func main() {
if len(os.Args) == 1 {
usage()
}
dlRoot, err := golangOrgDlRoot()
if err != nil {
failf("golangOrgDlRoot: %v", err)
}
for _, version := range os.Args[1:] {
if !strings.HasPrefix(version, "go") {
failf("version names should have the 'go' prefix")
}
var buf bytes.Buffer
if err := mainTmpl.Execute(&buf, struct {
Year int
Version string // "go1.5.3rc2"
VersionNoPatch string // "go1.5"
CapitalSpaceVersion string // "Go 1.5"
DocHost string // "golang.org" or "tip.golang.org" for rc/beta
}{
Year: time.Now().Year(),
Version: version,
VersionNoPatch: versionNoPatch(version),
DocHost: docHost(version),
CapitalSpaceVersion: strings.Replace(version, "go", "Go ", 1),
}); err != nil {
failf("mainTmpl.execute: %v", err)
}
path := filepath.Join(dlRoot, version, "main.go")
if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil {
failf("%v", err)
}
if err := ioutil.WriteFile(path, buf.Bytes(), 0666); err != nil {
failf("ioutil.WriteFile: %v", err)
}
fmt.Println("Wrote", path)
if err := exec.Command("gofmt", "-w", path).Run(); err != nil {
failf("could not gofmt file %q: %v", path, err)
}
}
}