def main(): parser = argparse.ArgumentParser() parser.add_argument('--data', help='pickled object of TCustomCommand class', required=True) parser.add_argument('--src-root', help='$S real path', required=True) parser.add_argument('--build-root', help='$B real path', required=True) parser.add_argument('--tools', help='binaries needed by command', required=True, nargs='+') args = parser.parse_args() encoded_cmd = args.data src_root = args.src_root build_root = args.build_root tools = args.tools assert (int(tools[0]) == len(tools[1:])), "tools quantity != tools number!" cmd_object = pickle.loads(base64.b64decode(encoded_cmd)) cmd_object.set_source_root(src_root) cmd_object.set_build_root(build_root) if len(tools[1:]) == 0: cmd_object.run(common.get_interpreter_path()) else: cmd_object.run(*tools[1:])
def do_run_java(self, binary, path): cmd = common.get_interpreter_path() + ['$S/build/scripts/run_swig_java.py', '--tool', binary, '--src', self.resolve_path(path)] for inc in self._incl_dirs: if inc: cmd += ['--flag', 'I' + self.resolve_path(inc)] cmd += ['--cpp-out', self._main_out, '--jsrc-out', '/'.join([self.resolve_path(self._bindir), self._out_name]), '--package', self._package] self.call(cmd)
def do_run(self, binary, path): def incls(): for x in self._incl_dirs: yield '-I' yield self.resolve_path(x) output_dir = os.path.dirname(self.resolve_path(common.get(self.output, 0))) cmd = common.get_interpreter_path() + ['$S/build/scripts/stdout2stderr.py', binary, '--cpp'] + list(incls()) + ['-o', output_dir, path] self.call(cmd)
def do_run(self, binary, path): def incls(): for x in self._incl_dirs: yield '-I' yield self.resolve_path(x) output_dir = os.path.dirname( self.resolve_path(common.get(self.output, 0))) cmd = common.get_interpreter_path() + [ '$S/build/scripts/stdout2stderr.py', binary, '--cpp' ] + list(incls()) + ['-o', output_dir, path] self.call(cmd)
def do_run(self, binary, path): def incls(): for x in self._incl_dirs: yield '-I' yield self.resolve_path(x) output_dir = os.path.dirname(self.resolve_path(common.get(self.output, 0))) cmd = (common.get_interpreter_path() + ['$S/build/scripts/stdout2stderr.py', binary, '--cpp', '--keep-prefix', '--gen-mutable', '--schema', '-b'] + self.extra_arguments() + list(incls()) + ['-o', output_dir, path]) self.call(cmd)
def do_run_java(self, binary, path): cmd = common.get_interpreter_path() + [ '$S/build/scripts/run_swig_java.py', '--tool', binary, '--src', self.resolve_path(path) ] for flag in self._incl_flags(): cmd.append('--flag=' + flag) cmd += [ '--cpp-out', self._main_out, '--jsrc-out', '/'.join([self.resolve_path(self._bindir), self._out_name]), '--package', self._package ] self.call(cmd)