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

Unified Diff: build/android/gyp/javac.py

Issue 1328823002: GN: Use interface jars in the classpath to speed up compiling (a little) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ijar2
Patch Set: .interface.jar Created 5 years, 3 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
« no previous file with comments | « build/android/BUILD.gn ('k') | build/config/android/internal_rules.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/gyp/javac.py
diff --git a/build/android/gyp/javac.py b/build/android/gyp/javac.py
index ffed7898cc6090f8b9c9b2107ddb57fa3168c612..97ecb7bdc5d2f0e259dd5fb97f2b779ea6f1d70b 100755
--- a/build/android/gyp/javac.py
+++ b/build/android/gyp/javac.py
@@ -133,6 +133,10 @@ def _ParseOptions(argv):
help='Classpath for javac. If this is specified multiple times, they '
'will all be appended to construct the classpath.')
parser.add_option(
+ '--use-ijars',
+ action='store_true',
+ help='Whether to use interface jars (.interface.jar) when compiling')
+ parser.add_option(
'--javac-includes',
default='',
help='A list of file patterns. If provided, only java files that match'
@@ -201,12 +205,19 @@ def main(argv):
java_files = _FilterJavaFiles(java_files, options.javac_includes)
+ runtime_classpath = options.classpath
+ compile_classpath = runtime_classpath
+ if options.use_ijars:
+ ijar_re = re.compile(r'\.jar$')
+ compile_classpath = (
+ [ijar_re.sub('.interface.jar', p) for p in runtime_classpath])
+
javac_args = [
'-g',
# Chromium only allows UTF8 source files. Being explicit avoids
# javac pulling a default encoding from the user's environment.
'-encoding', 'UTF-8',
- '-classpath', ':'.join(options.classpath),
+ '-classpath', ':'.join(compile_classpath),
]
if options.bootclasspath:
@@ -231,11 +242,13 @@ def main(argv):
# Compute the list of paths that when changed, we need to rebuild.
input_paths = options.bootclasspath + options.java_srcjars + java_files
- for path in options.classpath:
- if os.path.exists(path + '.TOC'):
- input_paths.append(path + '.TOC')
- else:
- input_paths.append(path)
+ # TODO(agrieve): Remove this .TOC heuristic once GYP is no more.
+ if not options.use_ijars:
+ for path in compile_classpath:
+ if os.path.exists(path + '.TOC'):
+ input_paths.append(path + '.TOC')
+ else:
+ input_paths.append(path)
python_deps = build_utils.GetPythonDependencies()
def OnStaleMd5():
@@ -266,7 +279,7 @@ def main(argv):
if options.manifest_entry:
entries = [e.split(':') for e in options.manifest_entry]
manifest_file = os.path.join(temp_dir, 'manifest')
- _CreateManifest(manifest_file, options.classpath, options.main_class,
+ _CreateManifest(manifest_file, runtime_classpath, options.main_class,
entries)
else:
manifest_file = None
« no previous file with comments | « build/android/BUILD.gn ('k') | build/config/android/internal_rules.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698