...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package main
18
19 import (
20 "flag"
21 "fmt"
22 "log"
23 "os"
24 )
25
26 func run(args []string) error {
27 args, _, err := expandParamsFiles(args)
28 if err != nil {
29 return err
30 }
31 filename := ""
32 flags := flag.NewFlagSet("info", flag.ExitOnError)
33 flags.StringVar(&filename, "out", filename, "The file to write the report to")
34 goenv := envFlags(flags)
35 if err := flags.Parse(args); err != nil {
36 return err
37 }
38 if err := goenv.checkFlags(); err != nil {
39 return err
40 }
41 os.Setenv("GO111MODULE", "off")
42 f := os.Stderr
43 if filename != "" {
44 var err error
45 f, err = os.Create(filename)
46 if err != nil {
47 return fmt.Errorf("Could not create report file: %v", err)
48 }
49 defer f.Close()
50 }
51 if err := goenv.runCommandToFile(f, os.Stderr, goenv.goCmd("version")); err != nil {
52 return err
53 }
54 if err := goenv.runCommandToFile(f, os.Stderr, goenv.goCmd("env")); err != nil {
55 return err
56 }
57 return nil
58 }
59
60 func main() {
61 if err := run(os.Args[1:]); err != nil {
62 log.Fatal(err)
63 }
64 }
65
View as plain text