From 02ae4decb7a98d908586654ece81de2faf505704 Mon Sep 17 00:00:00 2001 From: Jeff Gaston Date: Wed, 6 Dec 2017 17:48:39 -0800 Subject: [PATCH] Clearer error if no Android.bp is found Bug: 70036990 Test: touch .out-dir && m -j nothing 2>&1 | grep "must not exist" Change-Id: Idefa70dafa53bca17134e99185d2c524671bae25 --- ui/build/finder.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/ui/build/finder.go b/ui/build/finder.go index f35133bf6..a0f5d0884 100644 --- a/ui/build/finder.go +++ b/ui/build/finder.go @@ -38,15 +38,28 @@ func NewSourceFinder(ctx Context, config Config) (f *finder.Finder) { if err != nil { ctx.Fatalf("No working directory for module-finder: %v", err.Error()) } + filesystem := fs.OsFs + + // if the root dir is ignored, then the subsequent error messages are very confusing, + // so check for that upfront + pruneFiles := []string{".out-dir", ".find-ignore"} + for _, name := range pruneFiles { + prunePath := filepath.Join(dir, name) + _, statErr := filesystem.Lstat(prunePath) + if statErr == nil { + ctx.Fatalf("%v must not exist", prunePath) + } + } + cacheParams := finder.CacheParams{ WorkingDirectory: dir, RootDirs: []string{"."}, ExcludeDirs: []string{".git", ".repo"}, - PruneFiles: []string{".out-dir", ".find-ignore"}, + PruneFiles: pruneFiles, IncludeFiles: []string{"Android.mk", "Android.bp", "Blueprints", "CleanSpec.mk", "TEST_MAPPING"}, } dumpDir := config.FileListDir() - f, err = finder.New(cacheParams, fs.OsFs, logger.New(ioutil.Discard), + f, err = finder.New(cacheParams, filesystem, logger.New(ioutil.Discard), filepath.Join(dumpDir, "files.db")) if err != nil { ctx.Fatalf("Could not create module-finder: %v", err) @@ -82,6 +95,9 @@ func FindSources(ctx Context, config Config, f *finder.Finder) { androidBps := f.FindNamedAt(".", "Android.bp") androidBps = append(androidBps, f.FindNamedAt("build/blueprint", "Blueprints")...) + if len(androidBps) == 0 { + ctx.Fatalf("No Android.bp found") + } err = dumpListToFile(androidBps, filepath.Join(dumpDir, "Android.bp.list")) if err != nil { ctx.Fatalf("Could not find modules: %v", err)