def main(): parser = optparse.OptionParser() build_utils.AddDepfileOption(parser) parser.add_option('--src-dir', action="append", help='Directory containing .java files.') parser.add_option('--jar-path', help='Jar output path.') parser.add_option('--stamp', help='Path to touch on success.') options, _ = parser.parse_args() src_dirs = [] for src_dir in options.src_dir: src_dirs.extend(build_utils.ParseGypList(src_dir)) for src_dir in src_dirs: JarSources(src_dir, options.jar_path) if options.depfile: input_paths = [] for src_dir in src_dirs: for root, _, filenames in os.walk(src_dir): input_paths.extend(os.path.join(root, f) for f in filenames) build_utils.WriteDepfile(options.depfile, input_paths + build_utils.GetPythonDependencies()) if options.stamp: build_utils.Touch(options.stamp)
def main(): parser = optparse.OptionParser() parser.add_option('--src-path', action="append", help='Directory containing .java files.') parser.add_option('--gen-path', action="append", help='Directory containing generated .java files, separated by a comma from the target path (e.g., org/chromium/net).') parser.add_option('--target-path', help='Directory for installing all Java files.') parser.add_option('--jar-path', help='Jar output path.') parser.add_option('--stamp', help='Path to touch on success.') options, _ = parser.parse_args() files = {} if options.src_path: for src_path in options.src_path: FindSources(src_path, files) if options.gen_path: for gen_pair in options.gen_path: gen_path, rel_path = gen_pair.split(",") FindGenSources(gen_path, rel_path, files) if options.target_path: InstallFiles(options.target_path, files) if options.jar_path: JarSources(options.target_path, options.jar_path) if options.stamp: build_utils.Touch(options.stamp)
def main(): parser = optparse.OptionParser() parser.add_option('--classes-dir', help='Directory to extract .class files.') parser.add_option('--jars', help='Paths to jars to extract.') parser.add_option('--stamp', help='Path to touch on success.') options, _ = parser.parse_args() ExtractJars(options) if options.stamp: build_utils.Touch(options.stamp)
def main(): parser = optparse.OptionParser() parser.add_option('--src-dir', help='Directory containing .java files.') parser.add_option('--jar-path', help='Jar output path.') parser.add_option('--stamp', help='Path to touch on success.') options, _ = parser.parse_args() JarSources(options.src_dir, options.jar_path) if options.stamp: build_utils.Touch(options.stamp)
def main(): parser = argparse.ArgumentParser() parser.add_argument('--classpath', required=True, action='append', help='What to use as javadoc\'s classpath. Can be ' 'specified multiple times.') parser.add_argument('--input-srcjar', help='Source JAR containing more files to process.') parser.add_argument('--java-files', required=True, help='Java files to process.') parser.add_argument('--output-dir', required=True, help='Directory to store the documentation.') parser.add_argument('--srcjar-files', help='When specified, only process the given files ' 'inside the srcjar set via --input-srcjar.') parser.add_argument('--stamp', required=True, help='File to touch on success.') options = parser.parse_args(build_utils.ExpandFileArgs(sys.argv[1:])) options.java_files = build_utils.ParseGypList(options.java_files) if options.srcjar_files and options.input_srcjar is None: print '--srcjar-files specified without --input-srcjar. Ignoring files.' with build_utils.TempDir() as temp_dir: java_files = options.java_files if options.input_srcjar: if options.srcjar_files: pattern = lambda f: f in options.srcjar_files java_files += [ os.path.join(temp_dir, f) for f in build_utils.ParseGypList(options.srcjar_files) ] else: pattern = None java_files += [os.path.join(temp_dir, '*.java')] build_utils.ExtractAll(options.input_srcjar, path=temp_dir) classpath = ':'.join(options.classpath) javadoc_cmd = [ 'javadoc', '-d', options.output_dir, '-classpath', classpath ] javadoc_cmd.extend(java_files) build_utils.CheckOutput(javadoc_cmd, print_stderr=True) build_utils.Touch(options.stamp)
def main(args): parser = argparse.ArgumentParser( description='Check modules do not contain ARM Neon instructions.') parser.add_argument('objdump', metavar='path/to/ARM/objdump') parser.add_argument('objects', metavar='files/to/check/*.o') parser.add_argument('--stamp', help='Path to touch on success.') opts = parser.parse_args(args) ret = os.system(opts.objdump + ' -d --no-show-raw-insn ' + opts.objects + ' | grep -q "vld[1-9]\\|vst[1-9]"') # Non-zero exit code means no neon. if ret and opts.stamp: build_utils.Touch(opts.stamp) return ret
def main(): parser = optparse.OptionParser() build_utils.AddDepfileOption(parser) parser.add_option('--src-dir', action="append", help='Directory containing .java files.') parser.add_option( '--src-jars', action="append", help='A list of source jars to include in addition to source files.') parser.add_option('--jar-path', help='Jar output path.') parser.add_option('--stamp', help='Path to touch on success.') options, _ = parser.parse_args() # A temporary directory to put the output of jar files. unzipped_jar_path = None if options.src_jars: unzipped_jar_path = tempfile.mkdtemp( dir=os.path.dirname(options.jar_path)) jar_list = [] for gn_list in options.src_jars: jar_list.extend(build_utils.ParseGnList(gn_list)) for jar in jar_list: UnzipSourceJar(jar, unzipped_jar_path) src_dirs = [] for src_dir in options.src_dir: src_dirs.extend(build_utils.ParseGnList(src_dir)) if unzipped_jar_path: src_dirs += [unzipped_jar_path] for src_dir in src_dirs: JarSources(src_dir, options.jar_path) if options.depfile: input_paths = [] for src_dir in src_dirs: for root, _, filenames in os.walk(src_dir): input_paths.extend(os.path.join(root, f) for f in filenames) build_utils.WriteDepfile( options.depfile, input_paths + build_utils.GetPythonDependencies()) # Clean up temporary output directory. if unzipped_jar_path: build_utils.DeleteDirectory(unzipped_jar_path) if options.stamp: build_utils.Touch(options.stamp)
def main(): parser = optparse.OptionParser() build_utils.AddDepfileOption(parser) parser.add_option('--project-dir', help='Gradle project directory.') parser.add_option('--stamp', help='Path to touch on success.') options, _ = parser.parse_args() BuildWithGradle(options) if options.depfile: assert options.stamp build_utils.WriteDepfile(options.depfile, options.stamp) if options.stamp: build_utils.Touch(options.stamp)
def main(): parser = optparse.OptionParser() build_utils.AddDepfileOption(parser) parser.add_option('--classes-dir', help='Directory to extract .class files.') parser.add_option('--jars', help='Paths to jars to extract.') parser.add_option('--stamp', help='Path to touch on success.') options, _ = parser.parse_args() ExtractJars(options) if options.depfile: build_utils.WriteDepfile(options.depfile, build_utils.GetPythonDependencies()) if options.stamp: build_utils.Touch(options.stamp)
def main(args): parser = argparse.ArgumentParser( description='Enforce Cronet API requirements.') parser.add_argument('--api_jar', help='Path to API jar (i.e. cronet_api.jar)', required=True, metavar='path/to/cronet_api.jar') parser.add_argument('--impl_jar', help='Path to implementation jar ' '(i.e. cronet_impl_native_java.jar)', required=True, metavar='path/to/cronet_impl_native_java.jar', action='append') parser.add_argument('--stamp', help='Path to touch on success.') opts = parser.parse_args(args) ret = True ret = check_api_calls(opts) and ret ret = check_api_version(opts) and ret if ret and opts.stamp: build_utils.Touch(opts.stamp) return ret
def main(): parser = optparse.OptionParser() build_utils.AddDepfileOption(parser) parser.add_option('--output-dir', help='Directory to put javadoc') parser.add_option('--input-dir', help='Root of cronet source') parser.add_option('--input-src-jar', help='Cronet api source jar') parser.add_option('--overview-file', help='Path of the overview page') parser.add_option('--readme-file', help='Path of the README.md') parser.add_option('--lib-java-dir', help='Directory containing java libs') parser.add_option('--stamp', help='Path to touch on success.') options, _ = parser.parse_args() # A temporary directory to put the output of cronet api source jar files. unzipped_jar_path = tempfile.mkdtemp(dir=options.output_dir) if os.path.exists(options.input_src_jar): jar_cmd = ['jar', 'xf', os.path.abspath(options.input_src_jar)] build_utils.CheckOutput(jar_cmd, cwd=unzipped_jar_path) else: raise Exception('Jar file does not exist: %s' % options.input_src_jar) net_docs.ProcessDocs([options.readme_file], options.input_dir, options.output_dir, extensions=[CronetExtension()]) GenerateJavadoc(options, os.path.abspath(unzipped_jar_path)) if options.stamp: build_utils.Touch(options.stamp) if options.depfile: assert options.stamp deps = [] for root, _, filenames in os.walk(options.input_dir): deps.extend(os.path.join(root, f) for f in filenames) build_utils.WriteDepfile(options.depfile, options.stamp, deps) # Clean up temporary output directory. build_utils.DeleteDirectory(unzipped_jar_path)
def main(): parser = optparse.OptionParser() build_utils.AddDepfileOption(parser) parser.add_option('--src-search-dirs', action="append", help='A list of directories that should be searched' ' for the source files.') parser.add_option('--src-files', action="append", help='A list of source files to jar.') parser.add_option( '--src-jars', action="append", help='A list of source jars to include in addition to source files.') parser.add_option('--src-list-files', action="append", help='A list of files that contain a list of sources,' ' e.g. a list of \'.sources\' files generated by GN.') parser.add_option('--jar-path', help='Jar output path.') parser.add_option('--stamp', help='Path to touch on success.') options, _ = parser.parse_args() # A temporary directory to put the output of jar files. unzipped_jar_path = None if options.src_jars: unzipped_jar_path = tempfile.mkdtemp( dir=os.path.dirname(options.jar_path)) jar_list = [] for gn_list in options.src_jars: jar_list.extend(build_utils.ParseGnList(gn_list)) for jar in jar_list: UnzipSourceJar(jar, unzipped_jar_path) src_search_dirs = [] for gn_src_search_dirs in options.src_search_dirs: src_search_dirs.extend(build_utils.ParseGnList(gn_src_search_dirs)) src_list_files = [] if options.src_list_files: for gn_src_list_file in options.src_list_files: src_list_files.extend(build_utils.ParseGnList(gn_src_list_file)) src_files = [] for gn_src_files in options.src_files: src_files.extend(build_utils.ParseGnList(gn_src_files)) # Add files from --source_list_files for src_list_file in src_list_files: with open(src_list_file, 'r') as f: src_files.extend(f.read().splitlines()) # Preprocess source files by removing any prefix that comes before # the Java package name. for i, s in enumerate(src_files): prefix_position = s.find(JAVA_PACKAGE_PREFIX) if prefix_position != -1: src_files[i] = s[prefix_position:] # Create a dictionary that maps every source directory # to source files that it contains. dir_to_files_map = {} # Initialize the map. for src_search_dir in src_search_dirs: dir_to_files_map[src_search_dir] = [] # Fill the map. for src_file in src_files: number_of_file_instances = 0 for src_search_dir in src_search_dirs: if os.path.isfile(os.path.join(src_search_dir, src_file)): number_of_file_instances += 1 dir_to_files_map[src_search_dir].append(src_file) if (number_of_file_instances > 1): raise Exception( 'There is more than one instance of file %s in %s' % (src_file, src_search_dirs)) if (number_of_file_instances < 1): raise Exception('Unable to find file %s in %s' % (src_file, src_search_dirs)) # Delete the old output file if any. if os.path.isfile(options.jar_path): os.remove(options.jar_path) # Jar the sources from every source search directory. for src_search_dir in src_search_dirs: if len(dir_to_files_map[src_search_dir]) > 0: JarSources(src_search_dir, dir_to_files_map[src_search_dir], options.jar_path) else: raise Exception( 'Directory %s does not contain any files and can be' ' removed from the list of directories to search' % src_search_dir) # Jar additional src jars if unzipped_jar_path: JarSources(unzipped_jar_path, ['.'], options.jar_path) if options.depfile: deps = [] for src_dir in src_search_dirs: for root, _, filenames in os.walk(src_dir): deps.extend(os.path.join(root, f) for f in filenames) # Srcjar deps already captured in GN rules (no need to list them here). build_utils.WriteDepfile(options.depfile, options.jar_path, deps) # Clean up temporary output directory. if unzipped_jar_path: build_utils.DeleteDirectory(unzipped_jar_path) if options.stamp: build_utils.Touch(options.stamp)