diff --git a/finder/finder.go b/finder/finder.go index f20bed29e..6513fa301 100644 --- a/finder/finder.go +++ b/finder/finder.go @@ -325,7 +325,12 @@ func (f *Finder) FindMatching(rootPath string, filter WalkFunc) []string { // Shutdown declares that the finder is no longer needed and waits for its cleanup to complete // Currently, that only entails waiting for the database dump to complete. func (f *Finder) Shutdown() { - f.waitForDbDump() + f.WaitForDbDump() +} + +// WaitForDbDump returns once the database has been written to f.DbPath. +func (f *Finder) WaitForDbDump() { + f.shutdownWaitgroup.Wait() } // End of public api @@ -345,10 +350,6 @@ func (f *Finder) goDumpDb() { } } -func (f *Finder) waitForDbDump() { - f.shutdownWaitgroup.Wait() -} - // joinCleanPaths is like filepath.Join but is faster because // joinCleanPaths doesn't have to support paths ending in "/" or containing ".." func joinCleanPaths(base string, leaf string) string { diff --git a/ui/build/finder.go b/ui/build/finder.go index 6786337be..c019ea2d6 100644 --- a/ui/build/finder.go +++ b/ui/build/finder.go @@ -126,6 +126,11 @@ func FindSources(ctx Context, config Config, f *finder.Finder) { if err != nil { ctx.Fatalf("Could not find modules: %v", err) } + + if config.Dist() { + f.WaitForDbDump() + distFile(ctx, config, f.DbPath, "module_paths") + } } func dumpListToFile(ctx Context, config Config, list []string, filePath string) (err error) {