summaryrefslogtreecommitdiff
path: root/third_party/waf/waflib/Tools/javaw.py
diff options
context:
space:
mode:
authorAlexander Bokovoy <ab@samba.org>2018-01-31 11:48:43 +0200
committerAndrew Bartlett <abartlet@samba.org>2018-09-05 06:37:22 +0200
commit4e65b33c1d40bb2c243f775f388056aed31d8671 (patch)
tree5a41b6ddef7ce1c0b6a93bcc16ef89da10f080e8 /third_party/waf/waflib/Tools/javaw.py
parentfaef27506977db01cc4619140a71652463914378 (diff)
downloadsamba-4e65b33c1d40bb2c243f775f388056aed31d8671.tar.gz
third_party:waf: update to upstream 2.0.4 release
Update third_party/waf/ to 2.0.4 to bring us closer to Python 3 This change requires a number of changes in buildtools/ too. Signed-off-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'third_party/waf/waflib/Tools/javaw.py')
-rw-r--r--third_party/waf/waflib/Tools/javaw.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/third_party/waf/waflib/Tools/javaw.py b/third_party/waf/waflib/Tools/javaw.py
index 1e56d4891cd..3a2f3a7af58 100644
--- a/third_party/waf/waflib/Tools/javaw.py
+++ b/third_party/waf/waflib/Tools/javaw.py
@@ -4,7 +4,7 @@
#!/usr/bin/env python
# encoding: utf-8
-# Thomas Nagy, 2006-2016 (ita)
+# Thomas Nagy, 2006-2018 (ita)
"""
Java support
@@ -96,6 +96,7 @@ def apply_java(self):
if not y:
self.bld.fatal('Could not find the folder %s from %s' % (x, self.path))
tmp.append(y)
+
tsk.srcdir = tmp
if getattr(self, 'compat', None):
@@ -111,6 +112,7 @@ def apply_java(self):
tsk.env.append_value('JAVACFLAGS', ['-sourcepath', names])
@feature('javac')
+@before_method('propagate_uselib_vars')
@after_method('apply_java')
def use_javac_files(self):
"""
@@ -141,7 +143,8 @@ def set_classpath(self):
"""
Sets the CLASSPATH value on the *javac* task previously created.
"""
- self.env.append_value('CLASSPATH', getattr(self, 'classpath', []))
+ if getattr(self, 'classpath', None):
+ self.env.append_unique('CLASSPATH', getattr(self, 'classpath', []))
for x in self.tasks:
x.env.CLASSPATH = os.pathsep.join(self.env.CLASSPATH) + os.pathsep
@@ -169,9 +172,11 @@ def jar_files(self):
if manifest:
jarcreate = getattr(self, 'jarcreate', 'cfm')
if not isinstance(manifest,Node.Node):
- node = self.path.find_or_declare(manifest)
+ node = self.path.find_resource(manifest)
else:
node = manifest
+ if not node:
+ self.bld.fatal('invalid manifest file %r for %r' % (manifest, self))
tsk.dep_nodes.append(node)
jaropts.insert(0, node.abspath())
else:
@@ -243,7 +248,6 @@ class jar_create(JTask):
if not t.hasrun:
return Task.ASK_LATER
if not self.inputs:
- global JAR_RE
try:
self.inputs = [x for x in self.basedir.ant_glob(JAR_RE, remove=False) if id(x) != id(self.outputs[0])]
except Exception:
@@ -276,10 +280,10 @@ class javac(JTask):
return Task.ASK_LATER
if not self.inputs:
- global SOURCE_RE
self.inputs = []
for x in self.srcdir:
- self.inputs.extend(x.ant_glob(SOURCE_RE, remove=False))
+ if x.exists():
+ self.inputs.extend(x.ant_glob(SOURCE_RE, remove=False))
return super(javac, self).runnable_status()
def post_run(self):
@@ -461,3 +465,4 @@ def check_jni_headers(conf):
break
else:
conf.fatal('could not find lib jvm in %r (see config.log)' % libDirs)
+