Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(803)

Unified Diff: components/cronet/tools/jar_src.py

Issue 2234113002: Include generated EffectiveConnectionType.java in cronet api jar and JavaDoc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..4bb978c6a8fc232a50ad03a48ea67cda462667d9 100755
--- a/components/cronet/tools/jar_src.py
+++ b/components/cronet/tools/jar_src.py
@@ -28,20 +28,46 @@ 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):
+ # Need to execute the jar command inside the temporary directory, and that
+ # is why the ../../ is needed.
+ jar_cmd = ['jar', 'xf', '../../' + jar]
kapishnikov 2016/08/12 15:33:39 Can we use os.path.abspath here instead of "../../
xunjieli 2016/08/12 17:52:58 We need to execute the jar command inside the temp
kapishnikov 2016/08/12 19:18:51 I was thinking of something like: jar_cmd = ['jar'
xunjieli 2016/08/12 19:30:44 Ah, that's very smart. Why I didn't think of that.
+ build_utils.CheckOutput(jar_cmd, cwd=unzipped_jar_path)
+ else:
+ raise Exception('Jar file does not exist %s' % jar)
+
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)
kapishnikov 2016/08/12 15:33:39 Similar to the previous comment, make sure that th
xunjieli 2016/08/12 17:52:58 Done.
+ jar_list = []
+ for gyp_list in options.src_jars:
kapishnikov 2016/08/12 15:33:39 Rename "gyp_list" to "gn_list"?
xunjieli 2016/08/12 17:52:58 Done.
+ jar_list.extend(build_utils.ParseGypList(gyp_list))
kapishnikov 2016/08/12 15:33:39 ParseGypList => ParseGnList?
xunjieli 2016/08/12 17:52:58 Done.
+
+ 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 +79,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)
« components/cronet/tools/generate_javadoc.py ('K') | « components/cronet/tools/generate_javadoc.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698