Index: build/java.gypi |
diff --git a/build/java.gypi b/build/java.gypi |
index 2758cd17256b7567e418c86aa1a595f2dcd70082..17a12fc99af7a9ecd17406793cef79eceb6dba50 100644 |
--- a/build/java.gypi |
+++ b/build/java.gypi |
@@ -47,16 +47,16 @@ |
'<(DEPTH)/build/build_output_dirs_android.gyp:build_output_dirs' |
], |
'variables': { |
- 'input_jars_paths': [ '<(android_sdk_jar)' ], |
+ 'android_jar': '<(android_sdk)/android.jar', |
+ 'input_jars_paths': [ '<(android_jar)' ], |
'additional_src_dirs': [], |
'javac_includes': [], |
'jar_name': '<(_target_name).jar', |
'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)', |
'excluded_classes': [ '*/R.class', '*/R##*.class' ], |
- 'additional_input_paths': ['>@(additional_R_files)'], |
+ 'additional_input_paths': [], |
'generated_src_dirs': ['>@(generated_R_dirs)'], |
'generated_R_dirs': [], |
- 'additional_R_files': [], |
'has_java_resources%': 0, |
'java_strings_grd%': '', |
'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)', |
@@ -76,19 +76,20 @@ |
'res_dir': '<(java_in_dir)/res', |
'out_res_dir': '<(intermediate_dir)/res', |
'R_dir': '<(intermediate_dir)/java_R', |
- 'R_file': '<(R_dir)/<(R_package_relpath)/R.java', |
'R_text_file': '<(R_dir)/R.txt', |
+ 'R_stamp': '<(intermediate_dir)/resources.stamp', |
'generated_src_dirs': ['<(R_dir)'], |
- 'additional_input_paths': ['<(R_file)'], |
+ 'additional_input_paths': ['<(R_stamp)'], |
# grit_grd_file is used by grit_action.gypi, included below. |
'grit_grd_file': '<(java_in_dir)/strings/<(java_strings_grd)', |
+ 'resource_input_paths': [], |
}, |
'all_dependent_settings': { |
'variables': { |
# Dependent jars include this target's R.java file via |
# generated_R_dirs and additional_R_files. |
'generated_R_dirs': ['<(R_dir)'], |
- 'additional_R_files': ['<(R_file)'], |
+ 'additional_input_paths': ['<(R_stamp)'], |
'additional_R_text_files': ['<(R_text_file)'], |
# Dependent APKs include this target's resources via |
@@ -99,6 +100,14 @@ |
}, |
'conditions': [ |
['java_strings_grd != ""', { |
+ 'variables': { |
+ 'resource_input_paths': [ |
+ # TODO(newt): replace this with .../values/strings.xml once |
+ # the English strings.xml is generated as well? That would be |
+ # simpler and faster and should be equivalent. |
+ '<!@pymod_do_main(grit_info <@(grit_defines) --outputs "<(out_res_dir)" <(grit_grd_file))', |
+ ], |
+ }, |
'actions': [ |
{ |
'action_name': 'generate_localized_strings_xml', |
@@ -117,36 +126,34 @@ |
{ |
'action_name': 'process_resources', |
'message': 'processing resources for <(_target_name)', |
- 'conditions': [ |
- ['java_strings_grd != ""', { |
- 'inputs': [ |
- # TODO(newt): replace this with .../values/strings.xml once |
- # the English strings.xml is generated as well? That would be |
- # simpler and faster and should be equivalent. |
- '<!@pymod_do_main(grit_info <@(grit_defines) --outputs "<(out_res_dir)" <(grit_grd_file))', |
- ], |
- }], |
- ], |
+ 'variables': { |
+ 'android_manifest': '<(DEPTH)/build/android/AndroidManifest.xml', |
+ }, |
'inputs': [ |
+ '<(DEPTH)/build/android/pylib/build_utils.py', |
'<(DEPTH)/build/android/process_resources.py', |
'<!@(find <(res_dir) -type f)', |
+ '<@(resource_input_paths)', |
], |
'outputs': [ |
- '<(R_file)', |
+ '<(R_stamp)', |
], |
'action': [ |
'<(DEPTH)/build/android/process_resources.py', |
'--android-sdk', '<(android_sdk)', |
'--android-sdk-tools', '<(android_sdk_tools)', |
- '--R-package', '<(R_package)', |
'--R-dir', '<(R_dir)', |
'--res-dir', '<(res_dir)', |
'--out-res-dir', '<(out_res_dir)', |
+ '--android-manifest', '<(android_manifest)', |
+ '--non-constant-id', |
+ '--custom-package', '<(R_package)', |
+ '--stamp', '<(R_stamp)', |
# Add list of inputs to the command line, so if inputs change |
# (e.g. if a resource if removed), the command will be re-run. |
# TODO(newt): remove this once crbug.com/177552 is fixed in ninja. |
- '--ignore', '>(_inputs)', |
+ '--ignore=>!(echo \'>(_inputs)\' | md5sum)', |
], |
}, |
], |