mirror of
https://github.com/google/pebble.git
synced 2025-05-30 23:13:11 +00:00
Import of the watch repository from Pebble
This commit is contained in:
commit
3b92768480
10334 changed files with 2564465 additions and 0 deletions
70
third_party/waf/waf-light/waflib/Errors.py
vendored
Normal file
70
third_party/waf/waf-light/waflib/Errors.py
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2010 (ita)
|
||||
|
||||
"""
|
||||
Exceptions used in the Waf code
|
||||
"""
|
||||
|
||||
import traceback, sys
|
||||
|
||||
class WafError(Exception):
|
||||
"""Base class for all Waf errors"""
|
||||
def __init__(self, msg='', ex=None):
|
||||
"""
|
||||
:param msg: error message
|
||||
:type msg: string
|
||||
:param ex: exception causing this error (optional)
|
||||
:type ex: exception
|
||||
"""
|
||||
self.msg = msg
|
||||
assert not isinstance(msg, Exception)
|
||||
|
||||
self.stack = []
|
||||
if ex:
|
||||
if not msg:
|
||||
self.msg = str(ex)
|
||||
if isinstance(ex, WafError):
|
||||
self.stack = ex.stack
|
||||
else:
|
||||
self.stack = traceback.extract_tb(sys.exc_info()[2])
|
||||
self.stack += traceback.extract_stack()[:-1]
|
||||
self.verbose_msg = ''.join(traceback.format_list(self.stack))
|
||||
|
||||
def __str__(self):
|
||||
return str(self.msg)
|
||||
|
||||
class BuildError(WafError):
|
||||
"""
|
||||
Errors raised during the build and install phases
|
||||
"""
|
||||
def __init__(self, error_tasks=[]):
|
||||
"""
|
||||
:param error_tasks: tasks that could not complete normally
|
||||
:type error_tasks: list of task objects
|
||||
"""
|
||||
self.tasks = error_tasks
|
||||
WafError.__init__(self, self.format_error())
|
||||
|
||||
def format_error(self):
|
||||
"""format the error messages from the tasks that failed"""
|
||||
lst = ['Build failed']
|
||||
for tsk in self.tasks:
|
||||
txt = tsk.format_error()
|
||||
if txt: lst.append(txt)
|
||||
return '\n'.join(lst)
|
||||
|
||||
class ConfigurationError(WafError):
|
||||
"""
|
||||
Configuration exception raised in particular by :py:meth:`waflib.Context.Context.fatal`
|
||||
"""
|
||||
pass
|
||||
|
||||
class TaskRescan(WafError):
|
||||
"""task-specific exception type, trigger a signature recomputation"""
|
||||
pass
|
||||
|
||||
class TaskNotReady(WafError):
|
||||
"""task-specific exception type, raised when the task signature cannot be computed"""
|
||||
pass
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue