diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-07-19 11:56:03 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-07-21 08:41:12 +0100 |
commit | 21bb330f4632ae9e8dd9eaff2879bcd24f9cf194 (patch) | |
tree | 476a3ff0b5d7fc0f89fafc0cba2b720a6e6b5f3e /bitbake/lib/bb/event.py | |
parent | eb7401d47087ba2347dcf780a0d07969bed4c072 (diff) | |
download | poky-21bb330f4632ae9e8dd9eaff2879bcd24f9cf194.tar.gz |
bitbake: lib/bb/event: refactor printing events
We really ought to have just one place where the string representation
of these events is produced. This doesn't take any real control away
from the UI - if an alternative representation is desired, that can
still be made.
(Bitbake rev: cb15db2a799be6d8eab9a2a43a9a573f89229cff)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/event.py')
-rw-r--r-- | bitbake/lib/bb/event.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 92ee3e92d4..59cca61424 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py | |||
@@ -521,6 +521,28 @@ class NoProvider(Event): | |||
521 | def isRuntime(self): | 521 | def isRuntime(self): |
522 | return self._runtime | 522 | return self._runtime |
523 | 523 | ||
524 | def __str__(self): | ||
525 | msg = '' | ||
526 | if self._runtime: | ||
527 | r = "R" | ||
528 | else: | ||
529 | r = "" | ||
530 | |||
531 | extra = '' | ||
532 | if not self._reasons: | ||
533 | if self._close_matches: | ||
534 | extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) | ||
535 | |||
536 | if self._dependees: | ||
537 | msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) | ||
538 | else: | ||
539 | msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) | ||
540 | if self._reasons: | ||
541 | for reason in self._reasons: | ||
542 | msg += '\n' + reason | ||
543 | return msg | ||
544 | |||
545 | |||
524 | class MultipleProviders(Event): | 546 | class MultipleProviders(Event): |
525 | """Multiple Providers""" | 547 | """Multiple Providers""" |
526 | 548 | ||
@@ -548,6 +570,16 @@ class MultipleProviders(Event): | |||
548 | """ | 570 | """ |
549 | return self._candidates | 571 | return self._candidates |
550 | 572 | ||
573 | def __str__(self): | ||
574 | msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", | ||
575 | self._item, | ||
576 | ", ".join(self._candidates)) | ||
577 | rtime = "" | ||
578 | if self._is_runtime: | ||
579 | rtime = "R" | ||
580 | msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) | ||
581 | return msg | ||
582 | |||
551 | class ParseStarted(OperationStarted): | 583 | class ParseStarted(OperationStarted): |
552 | """Recipe parsing for the runqueue has begun""" | 584 | """Recipe parsing for the runqueue has begun""" |
553 | def __init__(self, total): | 585 | def __init__(self, total): |