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

Unified Diff: base/android/jni_generator/jni_generator.py

Issue 12314025: Add gyp flag to specify whether we should optimize JNI generation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update comment. Created 7 years, 10 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 | « no previous file | build/common.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/android/jni_generator/jni_generator.py
diff --git a/base/android/jni_generator/jni_generator.py b/base/android/jni_generator/jni_generator.py
index 79a2096a0b365168a8daf1cb21ef09ea1d399737..d57662e44ec454a610ed35747df42e19fc2f09fd 100755
--- a/base/android/jni_generator/jni_generator.py
+++ b/base/android/jni_generator/jni_generator.py
@@ -957,7 +957,7 @@ def ExtractJarInputFile(jar_file, input_file, out_dir):
return extracted_file_name
-def GenerateJNIHeader(input_file, output_file, namespace):
+def GenerateJNIHeader(input_file, output_file, namespace, skip_if_same):
try:
if os.path.splitext(input_file)[1] == '.class':
jni_from_javap = JNIFromJavaP.CreateFromClass(input_file, namespace)
@@ -971,6 +971,11 @@ def GenerateJNIHeader(input_file, output_file, namespace):
if output_file:
if not os.path.exists(os.path.dirname(os.path.abspath(output_file))):
os.makedirs(os.path.dirname(os.path.abspath(output_file)))
+ if skip_if_same and os.path.exists(output_file):
+ with file(output_file, 'r') as f:
+ existing_content = f.read()
+ if existing_content == content:
+ return
with file(output_file, 'w') as f:
f.write(content)
else:
@@ -1000,6 +1005,10 @@ See SampleForTests.java for more details.
option_parser.add_option('--output_dir',
help='The output directory. Must be used with '
'--input')
+ option_parser.add_option('--optimize_generation', type="int",
+ default=0, help='Whether we should optimize JNI '
+ 'generation by not regenerating files if they have '
+ 'not changed.')
options, args = option_parser.parse_args(argv)
if options.jar_file:
input_file = ExtractJarInputFile(options.jar_file, options.input_file,
@@ -1010,7 +1019,8 @@ See SampleForTests.java for more details.
if options.output_dir:
root_name = os.path.splitext(os.path.basename(input_file))[0]
output_file = os.path.join(options.output_dir, root_name) + '_jni.h'
- GenerateJNIHeader(input_file, output_file, options.namespace)
+ GenerateJNIHeader(input_file, output_file, options.namespace,
+ options.optimize_generation)
if __name__ == '__main__':
« no previous file with comments | « no previous file | build/common.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698