mirror of https://gitlab.com/ita1024/waf.git
cwd must be a Node object
This commit is contained in:
parent
7b26ce74d1
commit
43e26b5bef
|
@ -439,6 +439,10 @@ class Context(ctx):
|
||||||
kw['stdin'] = Utils.subprocess.PIPE
|
kw['stdin'] = Utils.subprocess.PIPE
|
||||||
del kw['input']
|
del kw['input']
|
||||||
|
|
||||||
|
if 'cwd' in kw:
|
||||||
|
if not isinstance(kw['cwd'], str):
|
||||||
|
kw['cwd'] = kw['cwd'].abspath()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
p = subprocess.Popen(cmd, **kw)
|
p = subprocess.Popen(cmd, **kw)
|
||||||
(out, err) = p.communicate(**wargs)
|
(out, err) = p.communicate(**wargs)
|
||||||
|
|
|
@ -93,7 +93,7 @@ class Node(object):
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
"String representation (name), for debugging purposes"
|
"String representation (name), for debugging purposes"
|
||||||
return self.name
|
return self.abspath()
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
"String representation (abspath), for debugging purposes"
|
"String representation (abspath), for debugging purposes"
|
||||||
|
|
|
@ -35,7 +35,7 @@ def big_bison(self, node):
|
||||||
outs.append(node.change_ext('.tab.h'))
|
outs.append(node.change_ext('.tab.h'))
|
||||||
|
|
||||||
tsk = self.create_task('bison', node, outs)
|
tsk = self.create_task('bison', node, outs)
|
||||||
tsk.cwd = node.parent.get_bld().abspath()
|
tsk.cwd = node.parent.get_bld()
|
||||||
|
|
||||||
# and the c/cxx file must be compiled too
|
# and the c/cxx file must be compiled too
|
||||||
self.source.append(outs[0])
|
self.source.append(outs[0])
|
||||||
|
|
|
@ -132,7 +132,7 @@ class mcs(Task.Task):
|
||||||
if not kw.get('cwd', None):
|
if not kw.get('cwd', None):
|
||||||
kw['cwd'] = bld.cwd
|
kw['cwd'] = bld.cwd
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
bld.cwd = kw['cwd'] = bld.variant_dir
|
kw['cwd'] = bld.bldnode
|
||||||
|
|
||||||
try:
|
try:
|
||||||
tmp = None
|
tmp = None
|
||||||
|
|
|
@ -167,7 +167,7 @@ class fcprogram_test(fcprogram):
|
||||||
|
|
||||||
kw['shell'] = isinstance(cmd, str)
|
kw['shell'] = isinstance(cmd, str)
|
||||||
kw['stdout'] = kw['stderr'] = Utils.subprocess.PIPE
|
kw['stdout'] = kw['stderr'] = Utils.subprocess.PIPE
|
||||||
kw['cwd'] = bld.variant_dir
|
kw['cwd'] = bld.bldnode
|
||||||
bld.out = bld.err = ''
|
bld.out = bld.err = ''
|
||||||
|
|
||||||
bld.to_log('command: %s\n' % cmd)
|
bld.to_log('command: %s\n' % cmd)
|
||||||
|
|
|
@ -387,7 +387,7 @@ class glib_gresource_base(Task.Task):
|
||||||
if not kw.get('cwd', None):
|
if not kw.get('cwd', None):
|
||||||
kw['cwd'] = bld.cwd
|
kw['cwd'] = bld.cwd
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
kw['cwd'] = bld.bldnode.abspath()
|
kw['cwd'] = bld.bldnode
|
||||||
kw['quiet'] = Context.BOTH
|
kw['quiet'] = Context.BOTH
|
||||||
|
|
||||||
cmd = Utils.subst_vars('${GLIB_COMPILE_RESOURCES} --sourcedir=%s --sourcedir=%s --generate-dependencies %s' % (
|
cmd = Utils.subst_vars('${GLIB_COMPILE_RESOURCES} --sourcedir=%s --sourcedir=%s --generate-dependencies %s' % (
|
||||||
|
|
|
@ -260,7 +260,7 @@ class javac(Task.Task):
|
||||||
env = self.env
|
env = self.env
|
||||||
gen = self.generator
|
gen = self.generator
|
||||||
bld = gen.bld
|
bld = gen.bld
|
||||||
wd = bld.bldnode.abspath()
|
wd = bld.bldnode
|
||||||
def to_list(xx):
|
def to_list(xx):
|
||||||
if isinstance(xx, str): return [xx]
|
if isinstance(xx, str): return [xx]
|
||||||
return xx
|
return xx
|
||||||
|
@ -325,7 +325,7 @@ class javadoc(Task.Task):
|
||||||
def run(self):
|
def run(self):
|
||||||
env = self.env
|
env = self.env
|
||||||
bld = self.generator.bld
|
bld = self.generator.bld
|
||||||
wd = bld.bldnode.abspath()
|
wd = bld.bldnode
|
||||||
|
|
||||||
#add src node + bld node (for generated java code)
|
#add src node + bld node (for generated java code)
|
||||||
srcpath = self.generator.path.abspath() + os.sep + self.generator.srcdir
|
srcpath = self.generator.path.abspath() + os.sep + self.generator.srcdir
|
||||||
|
|
|
@ -1104,7 +1104,7 @@ def exec_command_msvc(self, *k, **kw):
|
||||||
if not kw.get('cwd', None):
|
if not kw.get('cwd', None):
|
||||||
kw['cwd'] = bld.cwd
|
kw['cwd'] = bld.cwd
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
bld.cwd = kw['cwd'] = bld.variant_dir
|
kw['cwd'] = bld.bldnode
|
||||||
|
|
||||||
ret = self.exec_response_command(k[0], **kw)
|
ret = self.exec_response_command(k[0], **kw)
|
||||||
if not ret and getattr(self, 'do_manifest', None):
|
if not ret and getattr(self, 'do_manifest', None):
|
||||||
|
|
|
@ -117,9 +117,9 @@ class tex(Task.Task):
|
||||||
Logs.info('runner: %r' % cmd)
|
Logs.info('runner: %r' % cmd)
|
||||||
try:
|
try:
|
||||||
if not kw.get('cwd', None):
|
if not kw.get('cwd', None):
|
||||||
kw['cwd'] = bld.cwd
|
kw['cwd'] = bld.cwd.abspath()
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
bld.cwd = kw['cwd'] = bld.variant_dir
|
kw['cwd'] = bld.bldnode.abspath()
|
||||||
return Utils.subprocess.Popen(cmd, **kw).wait()
|
return Utils.subprocess.Popen(cmd, **kw).wait()
|
||||||
|
|
||||||
def scan_aux(self, node):
|
def scan_aux(self, node):
|
||||||
|
@ -350,7 +350,7 @@ class tex(Task.Task):
|
||||||
env.append_value('XELATEXFLAGS', '-interaction=batchmode')
|
env.append_value('XELATEXFLAGS', '-interaction=batchmode')
|
||||||
|
|
||||||
# important, set the cwd for everybody
|
# important, set the cwd for everybody
|
||||||
self.cwd = self.inputs[0].parent.get_bld().abspath()
|
self.cwd = self.inputs[0].parent.get_bld()
|
||||||
|
|
||||||
Logs.info('first pass on %s' % self.__class__.__name__)
|
Logs.info('first pass on %s' % self.__class__.__name__)
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ class batch_task(Task.Task):
|
||||||
srclst.append(t.inputs[0].abspath())
|
srclst.append(t.inputs[0].abspath())
|
||||||
|
|
||||||
self.env.SRCLST = srclst
|
self.env.SRCLST = srclst
|
||||||
self.cwd = slaves[0].outputs[0].parent.abspath()
|
self.cwd = slaves[0].outputs[0].parent
|
||||||
|
|
||||||
if self.slaves[0].__class__.__name__ == 'c':
|
if self.slaves[0].__class__.__name__ == 'c':
|
||||||
ret = c_fun(self)
|
ret = c_fun(self)
|
||||||
|
|
|
@ -70,7 +70,7 @@ def exec_command(self, cmd, **kw):
|
||||||
if not kw.get('cwd', None):
|
if not kw.get('cwd', None):
|
||||||
kw['cwd'] = bld.cwd
|
kw['cwd'] = bld.cwd
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
bld.cwd = kw['cwd'] = bld.variant_dir
|
kw['cwd'] = bld.bldnode
|
||||||
|
|
||||||
args = self.get_strace_args()
|
args = self.get_strace_args()
|
||||||
fname = self.get_strace_file()
|
fname = self.get_strace_file()
|
||||||
|
@ -103,6 +103,9 @@ def parse_strace_deps(self, path, cwd):
|
||||||
except OSError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
if not isinstance(cwd, str):
|
||||||
|
cwd = cwd.abspath()
|
||||||
|
|
||||||
nodes = []
|
nodes = []
|
||||||
bld = self.generator.bld
|
bld = self.generator.bld
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue