def gen(self, partial_cmd, targets): with self.invalidated(targets, invalidate_dependents=True) as invalidation_check: invalid_targets = [] for vt in invalidation_check.invalid_vts: invalid_targets.extend(vt.targets) import_paths, changed_srcs = calculate_compile_sources(invalid_targets, self.is_gentarget) outdir = self._outdir(partial_cmd) if changed_srcs: args = [] for import_path in import_paths: args.extend(['--import-path', import_path]) args.extend(['--language', partial_cmd.language]) for lhs, rhs in partial_cmd.namespace_map: args.extend(['--namespace-map', '%s=%s' % (lhs, rhs)]) if partial_cmd.rpc_style == 'ostrich': args.append('--finagle') args.append('--ostrich') elif partial_cmd.rpc_style == 'finagle': args.append('--finagle') args.extend(['--dest', outdir]) safe_mkdir(outdir) if not self.context.config.getbool(_CONFIG_SECTION, 'strict', default=False): args.append('--disable-strict') if self.get_options().verbose: args.append('--verbose') gen_file_map_path = os.path.relpath(self._tempname()) args.extend(['--gen-file-map', gen_file_map_path]) args.extend(changed_srcs) classpath = self.tool_classpath('scrooge-gen') jvm_options = self.context.config.getlist(_CONFIG_SECTION, 'jvm_options', default=[]) jvm_options.append('-Dfile.encoding=UTF-8') returncode = self.runjava(classpath=classpath, main='com.twitter.scrooge.Main', jvm_options=jvm_options, args=args, workunit_name='scrooge-gen') try: if 0 == returncode: gen_files_for_source = self.parse_gen_file_map(gen_file_map_path, outdir) else: gen_files_for_source = None finally: os.remove(gen_file_map_path) if 0 != returncode: raise TaskError('Scrooge compiler exited non-zero ({0})'.format(returncode)) self.write_gen_file_map(gen_files_for_source, invalid_targets, outdir) return self.gen_file_map(targets, outdir)
def gen(self, partial_cmd, targets): with self.invalidated(targets, invalidate_dependents=True) as invalidation_check: invalid_targets = [] for vt in invalidation_check.invalid_vts: invalid_targets.extend(vt.targets) import_paths, changed_srcs = calculate_compile_sources(invalid_targets, self.is_gentarget) outdir = self._outdir(partial_cmd) if changed_srcs: args = [] for import_path in import_paths: args.extend(['--import-path', import_path]) args.extend(['--language', partial_cmd.language]) for lhs, rhs in partial_cmd.namespace_map: args.extend(['--namespace-map', '%s=%s' % (lhs, rhs)]) if partial_cmd.rpc_style == 'ostrich': args.append('--finagle') args.append('--ostrich') elif partial_cmd.rpc_style == 'finagle': args.append('--finagle') args.extend(['--dest', outdir]) safe_mkdir(outdir) if not self.context.config.getbool(_CONFIG_SECTION, 'strict', default=False): args.append('--disable-strict') if self.get_options().verbose: args.append('--verbose') gen_file_map_path = os.path.relpath(self._tempname()) args.extend(['--gen-file-map', gen_file_map_path]) args.extend(changed_srcs) classpath = self.tool_classpath('scrooge-gen') jvm_options = self.context.config.getlist(_CONFIG_SECTION, 'jvm_options', default=[]) jvm_options.append('-Dfile.encoding=UTF-8') returncode = self.runjava(classpath=classpath, main='com.twitter.scrooge.Main', jvm_options=jvm_options, args=args, workunit_name='scrooge-gen') try: if 0 == returncode: gen_files_for_source = self.parse_gen_file_map(gen_file_map_path, outdir) else: gen_files_for_source = None finally: os.remove(gen_file_map_path) if 0 != returncode: raise TaskError('Scrooge compiler exited non-zero ({0})'.format(returncode)) self.write_gen_file_map(gen_files_for_source, invalid_targets, outdir) return self.gen_file_map(targets, outdir)
def calc_srcs(target): _, srcs = calculate_compile_sources([target], self.is_gentarget) return srcs
def calc_srcs(target): _, srcs = calculate_compile_sources([target], self.is_scroogetarget) return srcs