Skip to content

Commit f5319f8

Browse files
driving spike into build
1 parent 49daa18 commit f5319f8

File tree

2 files changed

+24
-23
lines changed

2 files changed

+24
-23
lines changed

build/build.go

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,11 @@ func (s *Session) BuildFiles(filenames []string, pkgObj string, cwd string) erro
916916
})
917917
}
918918

919-
archive, err := s.BuildAndCompileProject(pkg)
919+
parsed, err := s.BuildPackage(pkg)
920+
if err != nil {
921+
return err
922+
}
923+
archive, err := s.CompilePackage(parsed)
920924
if err != nil {
921925
return err
922926
}
@@ -1053,32 +1057,18 @@ func (s *Session) CompilePackage(pkg *ParsedPackage) (*compiler.Archive, error)
10531057
return archive, nil
10541058
}
10551059

1056-
// BuildAndCompileProject builds and compiles a package.
1057-
//
1058-
// The package should be the entry point (main or tests) for a project.
1059-
// This should not be called recursively because it expects all the dependencies
1060-
// to be built prior to any part being compiled.
1061-
func (s *Session) BuildAndCompileProject(pkg *PackageData) (*compiler.Archive, error) {
1062-
parsed, err := s.BuildPackage(pkg)
1063-
if err != nil {
1064-
return nil, err
1065-
}
1066-
return s.CompilePackage(parsed)
1067-
}
1068-
10691060
// ImportResolverFor returns a function which returns a compiled package archive
10701061
// given an import path.
10711062
func (s *Session) ImportResolverFor(srcDir string) func(string) (*compiler.Archive, error) {
10721063
return func(path string) (*compiler.Archive, error) {
10731064
if archive, ok := s.UpToDateArchives[path]; ok {
10741065
return archive, nil
10751066
}
1076-
_, parser, err := s.buildImportPathWithSrcDir(path, srcDir)
1077-
if err != nil {
1078-
return nil, err
1067+
// If the archive doesn't already exist, compile the parsed package.
1068+
if parsed, ok := s.ParsedPackages[path]; ok {
1069+
return s.CompilePackage(parsed)
10791070
}
1080-
1081-
return s.CompilePackage(parser)
1071+
return nil, fmt.Errorf(`parsed package for %q not found`, path)
10821072
}
10831073
}
10841074

tool.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,11 @@ func main() {
147147
if err != nil {
148148
return err
149149
}
150-
archive, err := s.BuildAndCompileProject(pkg)
150+
parsed, err := s.BuildPackage(pkg)
151+
if err != nil {
152+
return err
153+
}
154+
archive, err := s.CompilePackage(parsed)
151155
if err != nil {
152156
return err
153157
}
@@ -214,8 +218,11 @@ func main() {
214218
if err != nil {
215219
return err
216220
}
217-
218-
archive, err := s.BuildAndCompileProject(pkg)
221+
parsed, err := s.BuildPackage(pkg)
222+
if err != nil {
223+
return err
224+
}
225+
archive, err := s.CompilePackage(parsed)
219226
if err != nil {
220227
return err
221228
}
@@ -664,7 +671,11 @@ func (fs serveCommandFileSystem) Open(requestName string) (http.File, error) {
664671
buf := new(bytes.Buffer)
665672
browserErrors := new(bytes.Buffer)
666673
err := func() error {
667-
archive, err := s.BuildAndCompileProject(pkg)
674+
parsed, err := s.BuildPackage(pkg)
675+
if err != nil {
676+
return err
677+
}
678+
archive, err := s.CompilePackage(parsed)
668679
if err != nil {
669680
return err
670681
}

0 commit comments

Comments
 (0)