From 8f097c2739f3ff5099cea0c64a9e18943b16d419 Mon Sep 17 00:00:00 2001 From: "newt@chromium.org" Date: Wed, 16 Jan 2013 17:54:42 +0000 Subject: Re-land "[Android] Generate localized strings.xml files at build time." This generates localized strings.xml files (e.g. values-fr/strings.xml) from grd and xtb files at build time. This means we no longer need to check in localized strings.xml files. Note: the xtb files are empty until translations are available. Benefits: - 41 fewer extraneous results when grepping Java string IDs - Switching from maintaining strings in strings.xml over to using a grd file is One Trivial CL* away: just include English in the list of languages for which we generate strings.xml files. *Restrictions may apply Originally landed as https://codereview.chromium.org/11659006/ This can be re-landed as of https://codereview.chromium.org/11880050/ BUG=167248 TBR=yfriedman@chromium.org,thakis,jam@chromium.org,cjhopman,shashishekhar@chromium.org Review URL: https://codereview.chromium.org/11967005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177170 0039d316-1c4b-4281-b951-d872f2087c98 --- build/java.gypi | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) (limited to 'build/java.gypi') diff --git a/build/java.gypi b/build/java.gypi index f958132..bd3976c 100644 --- a/build/java.gypi +++ b/build/java.gypi @@ -44,6 +44,8 @@ # R_package - The java package in which the R class (which maps resources to # integer IDs) should be generated, e.g. org.chromium.content. # R_package_relpath - Same as R_package, but replace each '.' with '/'. +# java_strings_grd - The name of the grd file from which to generate localized +# strings.xml files, if any. { 'dependencies': [ @@ -65,17 +67,20 @@ 'generated_R_dirs': [], 'additional_R_files': [], 'has_java_resources%': 0, + 'java_strings_grd%': '', }, 'conditions': [ ['has_java_resources == 1', { 'variables': { 'res_dir': '<(java_in_dir)/res', - 'crunched_res_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/res', + 'out_res_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/res', 'R_dir': '<(SHARED_INTERMEDIATE_DIR)/<(package_name)/java_R', 'R_file': '<(R_dir)/<(R_package_relpath)/R.java', 'R_text_file': '<(R_dir)/R.txt', 'generated_src_dirs': ['<(R_dir)'], 'additional_input_paths': ['<(R_file)'], + # grit_grd_file is used by grit_action.gypi, included below. + 'grit_grd_file': '<(java_in_dir)/strings/<(java_strings_grd)', }, 'all_dependent_settings': { 'variables': { @@ -87,15 +92,40 @@ # Dependent APKs include this target's resources via # additional_res_dirs and additional_res_packages. - 'additional_res_dirs': ['<(crunched_res_dir)', '<(res_dir)'], + 'additional_res_dirs': ['<(out_res_dir)', '<(res_dir)'], 'additional_res_packages': ['<(R_package)'], }, }, + 'conditions': [ + ['java_strings_grd != ""', { + 'actions': [ + { + 'action_name': 'generate_localized_strings_xml', + 'variables': { + 'grit_out_dir': '<(out_res_dir)', + # resource_ids is unneeded since we don't generate .h headers. + 'grit_resource_ids': '', + }, + 'includes': ['../build/grit_action.gypi'], + }, + ], + }], + ], 'actions': [ # Generate R.java and crunch image resources. { 'action_name': 'process_resources', 'message': 'processing resources for <(package_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. + '