summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/cooker.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 194046ea91..6041410575 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -44,9 +44,9 @@ buildlog = logging.getLogger("BitBake.Build")
44parselog = logging.getLogger("BitBake.Parsing") 44parselog = logging.getLogger("BitBake.Parsing")
45providerlog = logging.getLogger("BitBake.Provider") 45providerlog = logging.getLogger("BitBake.Provider")
46 46
47class MultipleMatches(Exception): 47class NoSpecificMatch(bb.BBHandledException):
48 """ 48 """
49 Exception raised when multiple file matches are found 49 Exception raised when no or multiple file matches are found
50 """ 50 """
51 51
52class NothingToBuild(Exception): 52class NothingToBuild(Exception):
@@ -979,10 +979,15 @@ class BBCooker:
979 """ 979 """
980 matches = self.matchFiles(buildfile) 980 matches = self.matchFiles(buildfile)
981 if len(matches) != 1: 981 if len(matches) != 1:
982 parselog.error("Unable to match %s (%s matches found):" % (buildfile, len(matches))) 982 if matches:
983 for f in matches: 983 msg = "Unable to match '%s' to a specific recipe file - %s matches found:" % (buildfile, len(matches))
984 parselog.error(" %s" % f) 984 if matches:
985 raise MultipleMatches 985 for f in matches:
986 msg += "\n %s" % f
987 parselog.error(msg)
988 else:
989 parselog.error("Unable to find any recipe file matching '%s'" % buildfile)
990 raise NoSpecificMatch
986 return matches[0] 991 return matches[0]
987 992
988 def buildFile(self, buildfile, task): 993 def buildFile(self, buildfile, task):