Chromium Code Reviews| Index: components/cronet/tools/jar_src.py |
| diff --git a/components/cronet/tools/jar_src.py b/components/cronet/tools/jar_src.py |
| index 4470eb8cf40670b54502ab55709897c164b7171e..3aa4b5b1768997b73237465ab6c84a544533a359 100755 |
| --- a/components/cronet/tools/jar_src.py |
| +++ b/components/cronet/tools/jar_src.py |
| @@ -28,20 +28,44 @@ def JarSources(src_dir, jar_path): |
| build_utils.CheckOutput(jar_cmd, cwd=jar_cwd) |
| +# Uncompress source jars so that they can be combined with other sources |
| +def UnzipSourceJar(jar, unzipped_jar_path): |
| + if os.path.exists(jar): |
| + jar_cmd = ['jar', 'xf', '../../' + jar] |
| + build_utils.CheckOutput(jar_cmd, cwd=unzipped_jar_path) |
| + else: |
| + raise Exception |
|
kapishnikov
2016/08/11 17:59:22
It would be good to add the file name that does no
xunjieli
2016/08/11 20:20:21
Done.
|
| + |
| 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 = os.path.join(os.path.dirname(options.jar_path), 'tmp') |
| + build_utils.MakeDirectory(unzipped_jar_path) |
| + jar_list = [] |
| + for gyp_list in options.src_jars: |
| + jar_list.extend(build_utils.ParseGypList(gyp_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.ParseGypList(src_dir)) |
| + if unzipped_jar_path: |
| + src_dirs += [unzipped_jar_path] |
| for src_dir in src_dirs: |
| JarSources(src_dir, options.jar_path) |
| @@ -53,6 +77,9 @@ def main(): |
| 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) |