@@ -14,30 +14,17 @@ import (
14
14
"io"
15
15
"io/ioutil"
16
16
"log"
17
- "net/http"
18
17
"os"
19
18
"path"
20
19
"path/filepath"
21
20
"regexp"
21
+ "runtime"
22
22
"sort"
23
23
"strings"
24
24
)
25
25
26
26
var outputFlag = flag .String ("output" , "" , "output file name without extension; if empty, then print to stdout" )
27
27
28
- func mustOpenAPI (base string ) io.Reader {
29
- resp , err := http .Get ("https://raw.githubusercontent.com/golang/go/master/api/" + base )
30
- if err != nil {
31
- log .Fatal (err )
32
- }
33
- defer resp .Body .Close ()
34
- body , err := ioutil .ReadAll (resp .Body )
35
- if err != nil {
36
- log .Fatal (err )
37
- }
38
- return bytes .NewReader (body )
39
- }
40
-
41
28
func mustOpen (name string ) io.Reader {
42
29
f , err := os .Open (name )
43
30
if err != nil {
@@ -47,7 +34,7 @@ func mustOpen(name string) io.Reader {
47
34
}
48
35
49
36
func api (base string ) string {
50
- return filepath .Join (os . Getenv ( " GOROOT" ), "api" , base )
37
+ return filepath .Join (runtime . GOROOT ( ), "api" , base )
51
38
}
52
39
53
40
var sym = regexp .MustCompile (`^pkg (\S+).*?, (?:var|func|type|const) ([A-Z]\w*)` )
@@ -69,12 +56,12 @@ func main() {
69
56
outf ("package imports\n " )
70
57
outf ("var stdlib = map[string]string{\n " )
71
58
f := io .MultiReader (
72
- mustOpenAPI ( "go1.txt" ),
73
- mustOpenAPI ( "go1.1.txt" ),
74
- mustOpenAPI ( "go1.2.txt" ),
75
- mustOpenAPI ( "go1.3.txt" ),
76
- mustOpenAPI ( "go1.4.txt" ),
77
- mustOpenAPI ( "go1.5.txt" ),
59
+ mustOpen ( api ( "go1.txt" ) ),
60
+ mustOpen ( api ( "go1.1.txt" ) ),
61
+ mustOpen ( api ( "go1.2.txt" ) ),
62
+ mustOpen ( api ( "go1.3.txt" ) ),
63
+ mustOpen ( api ( "go1.4.txt" ) ),
64
+ mustOpen ( api ( "go1.5.txt" ) ),
78
65
)
79
66
sc := bufio .NewScanner (f )
80
67
fullImport := map [string ]string {} // "zip.NewReader" => "archive/zip"
0 commit comments