summaryrefslogtreecommitdiff
path: root/third_party/waf/waflib/Tools/errcheck.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/waf/waflib/Tools/errcheck.py')
-rw-r--r--third_party/waf/waflib/Tools/errcheck.py30
1 files changed, 21 insertions, 9 deletions
diff --git a/third_party/waf/waflib/Tools/errcheck.py b/third_party/waf/waflib/Tools/errcheck.py
index 83a3a5bdb88..e50fe607761 100644
--- a/third_party/waf/waflib/Tools/errcheck.py
+++ b/third_party/waf/waflib/Tools/errcheck.py
@@ -22,6 +22,7 @@ typos = {
'importpath':'includes',
'installpath':'install_path',
'iscopy':'is_copy',
+'uses':'use',
}
meths_typos = ['__call__', 'program', 'shlib', 'stlib', 'objects']
@@ -73,8 +74,11 @@ def check_same_targets(self):
for (k, v) in uids.items():
if len(v) > 1:
Logs.error('* Several tasks use the same identifier. Please check the information on\n https://waf.io/apidocs/Task.html?highlight=uid#waflib.Task.Task.uid')
+ tg_details = tsk.generator.name
+ if Logs.verbose > 2:
+ tg_details = tsk.generator
for tsk in v:
- Logs.error(' - object %r (%r) defined in %r', tsk.__class__.__name__, tsk, tsk.generator)
+ Logs.error(' - object %r (%r) defined in %r', tsk.__class__.__name__, tsk, tg_details)
def check_invalid_constraints(self):
feat = set()
@@ -135,16 +139,23 @@ def enhance_lib():
Logs.error("In ant_glob pattern %r: '..' means 'two dots', not 'parent directory'", k[0])
if '.' in sp:
Logs.error("In ant_glob pattern %r: '.' means 'one dot', not 'current directory'", k[0])
- if kw.get('remove', True):
- try:
- if self.is_child_of(self.ctx.bldnode) and not kw.get('quiet', False):
- Logs.error('Using ant_glob on the build folder (%r) is dangerous (quiet=True to disable this warning)', self)
- except AttributeError:
- pass
return self.old_ant_glob(*k, **kw)
Node.Node.old_ant_glob = Node.Node.ant_glob
Node.Node.ant_glob = ant_glob
+ # catch ant_glob on build folders
+ def ant_iter(self, accept=None, maxdepth=25, pats=[], dir=False, src=True, remove=True, quiet=False):
+ if remove:
+ try:
+ if self.is_child_of(self.ctx.bldnode) and not quiet:
+ quiet = True
+ Logs.error('Calling ant_glob on build folders (%r) is dangerous: add quiet=True / remove=False', self)
+ except AttributeError:
+ pass
+ return self.old_ant_iter(accept, maxdepth, pats, dir, src, remove, quiet)
+ Node.Node.old_ant_iter = Node.Node.ant_iter
+ Node.Node.ant_iter = ant_iter
+
# catch conflicting ext_in/ext_out/before/after declarations
old = Task.is_before
def is_before(t1, t2):
@@ -174,7 +185,7 @@ def enhance_lib():
else:
for x in ('before', 'after'):
for y in self.to_list(getattr(self, x, [])):
- if not Task.classes.get(y, None):
+ if not Task.classes.get(y):
Logs.error('Erroneous order constraint %s=%r on %r (no such class)', x, y, self)
TaskGen.feature('*')(check_err_order)
@@ -216,7 +227,7 @@ def enhance_lib():
elif name == 'prepend':
raise Errors.WafError('env.prepend does not exist: use env.prepend_value')
if name in self.__slots__:
- return object.__getattr__(self, name, default)
+ return super(ConfigSet.ConfigSet, self).__getattr__(name, default)
else:
return self[name]
ConfigSet.ConfigSet.__getattr__ = _getattr
@@ -227,3 +238,4 @@ def options(opt):
Error verification can be enabled by default (not just on ``waf -v``) by adding to the user script options
"""
enhance_lib()
+