blob: aacc1a9f99f44a258d2346fddec360f2d72db4c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#! /usr/bin/env python
# encoding: utf-8
# WARNING! Do not edit! http://waf.googlecode.com/git/docs/wafbook/single.html#_obtaining_the_waf_file
import traceback,sys
class WafError(Exception):
def __init__(self,msg='',ex=None):
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):
def __init__(self,error_tasks=[]):
self.tasks=error_tasks
WafError.__init__(self,self.format_error())
def format_error(self):
lst=['Build failed']
for tsk in self.tasks:
txt=tsk.format_error()
if txt:lst.append(txt)
return'\n'.join(lst)
class ConfigurationError(WafError):
pass
class TaskRescan(WafError):
pass
class TaskNotReady(WafError):
pass
|