diff options
-rw-r--r-- | chrome/app/policy/policy_templates.grd | 224 | ||||
-rw-r--r-- | chrome/app/policy/policy_templates.gypi | 29 | ||||
-rw-r--r-- | chrome/tools/build/win/make_policy_zip.py | 78 | ||||
-rw-r--r-- | chrome/tools/build/win/make_zip_with_relative_entries.py | 63 | ||||
-rw-r--r-- | tools/grit/grit/format/policy_templates/policy_template_generator.py | 1 | ||||
-rw-r--r-- | tools/grit/grit/format/policy_templates/template_formatter.py | 5 |
6 files changed, 320 insertions, 80 deletions
diff --git a/chrome/app/policy/policy_templates.grd b/chrome/app/policy/policy_templates.grd index 436612e..c41bb65 100644 --- a/chrome/app/policy/policy_templates.grd +++ b/chrome/app/policy/policy_templates.grd @@ -6,18 +6,230 @@ templates and will be translated for each locale. --> <grit base_dir="." latest_public_release="0" current_release="1" source_lang_id="en" enc_check="möl"> <outputs> + <output filename="app/policy/linux/examples/chrome.json" type="json" lang="en" /> + <output filename="app/policy/windows/examples/chrome.reg" type="reg" lang="en" /> <output filename="app/policy/windows/admx/chrome.admx" type="admx" lang="en" /> + + <output filename="app/policy/windows/admx/am/chrome.adml" type="adml" lang="am" /> + <output filename="app/policy/windows/admx/ar/chrome.adml" type="adml" lang="ar" /> + <output filename="app/policy/windows/admx/bg/chrome.adml" type="adml" lang="bg" /> + <output filename="app/policy/windows/admx/bn/chrome.adml" type="adml" lang="bn" /> + <output filename="app/policy/windows/admx/ca/chrome.adml" type="adml" lang="ca" /> + <output filename="app/policy/windows/admx/cs/chrome.adml" type="adml" lang="cs" /> + <output filename="app/policy/windows/admx/da/chrome.adml" type="adml" lang="da" /> + <output filename="app/policy/windows/admx/de/chrome.adml" type="adml" lang="de" /> + <output filename="app/policy/windows/admx/el/chrome.adml" type="adml" lang="el" /> + <output filename="app/policy/windows/admx/en-GB/chrome.adml" type="adml" lang="en-GB" /> <output filename="app/policy/windows/admx/en-US/chrome.adml" type="adml" lang="en" /> - <output filename="app/policy/common/html/chrome_policy_list.html" type="doc" lang="en" /> + <output filename="app/policy/windows/admx/es/chrome.adml" type="adml" lang="es" /> + <output filename="app/policy/windows/admx/es-419/chrome.adml" type="adml" lang="es-419" /> + <output filename="app/policy/windows/admx/et/chrome.adml" type="adml" lang="et" /> + <output filename="app/policy/windows/admx/fa/chrome.adml" type="adml" lang="fa" /> + <output filename="app/policy/windows/admx/fi/chrome.adml" type="adml" lang="fi" /> + <output filename="app/policy/windows/admx/fil/chrome.adml" type="adml" lang="fil" /> + <output filename="app/policy/windows/admx/fr/chrome.adml" type="adml" lang="fr" /> + <output filename="app/policy/windows/admx/gu/chrome.adml" type="adml" lang="gu" /> + <output filename="app/policy/windows/admx/he/chrome.adml" type="adml" lang="he" /> + <output filename="app/policy/windows/admx/hi/chrome.adml" type="adml" lang="hi" /> + <output filename="app/policy/windows/admx/hr/chrome.adml" type="adml" lang="hr" /> + <output filename="app/policy/windows/admx/hu/chrome.adml" type="adml" lang="hu" /> + <output filename="app/policy/windows/admx/id/chrome.adml" type="adml" lang="id" /> + <output filename="app/policy/windows/admx/it/chrome.adml" type="adml" lang="it" /> + <output filename="app/policy/windows/admx/ja/chrome.adml" type="adml" lang="ja" /> + <output filename="app/policy/windows/admx/kn/chrome.adml" type="adml" lang="kn" /> + <output filename="app/policy/windows/admx/ko/chrome.adml" type="adml" lang="ko" /> + <output filename="app/policy/windows/admx/lt/chrome.adml" type="adml" lang="lt" /> + <output filename="app/policy/windows/admx/lv/chrome.adml" type="adml" lang="lv" /> + <output filename="app/policy/windows/admx/ml/chrome.adml" type="adml" lang="ml" /> + <output filename="app/policy/windows/admx/mr/chrome.adml" type="adml" lang="mr" /> + <output filename="app/policy/windows/admx/nl/chrome.adml" type="adml" lang="nl" /> + <output filename="app/policy/windows/admx/nb/chrome.adml" type="adml" lang="no" /> + <!-- 'no' for Norwegian Bokmål. It should be 'nb'. --> + <output filename="app/policy/windows/admx/pl/chrome.adml" type="adml" lang="pl" /> + <output filename="app/policy/windows/admx/pt-BR/chrome.adml" type="adml" lang="pt-BR" /> + <output filename="app/policy/windows/admx/pt-PT/chrome.adml" type="adml" lang="pt-PT" /> + <output filename="app/policy/windows/admx/ro/chrome.adml" type="adml" lang="ro" /> + <output filename="app/policy/windows/admx/ru/chrome.adml" type="adml" lang="ru" /> + <output filename="app/policy/windows/admx/sk/chrome.adml" type="adml" lang="sk" /> + <output filename="app/policy/windows/admx/sl/chrome.adml" type="adml" lang="sl" /> + <output filename="app/policy/windows/admx/sr/chrome.adml" type="adml" lang="sr" /> + <output filename="app/policy/windows/admx/sv/chrome.adml" type="adml" lang="sv" /> + <output filename="app/policy/windows/admx/sw/chrome.adml" type="adml" lang="sw" /> + <output filename="app/policy/windows/admx/ta/chrome.adml" type="adml" lang="ta" /> + <output filename="app/policy/windows/admx/te/chrome.adml" type="adml" lang="te" /> + <output filename="app/policy/windows/admx/th/chrome.adml" type="adml" lang="th" /> + <output filename="app/policy/windows/admx/tr/chrome.adml" type="adml" lang="tr" /> + <output filename="app/policy/windows/admx/uk/chrome.adml" type="adml" lang="uk" /> + <output filename="app/policy/windows/admx/vi/chrome.adml" type="adml" lang="vi" /> + <output filename="app/policy/windows/admx/zh-CN/chrome.adml" type="adml" lang="zh-CN" /> + <output filename="app/policy/windows/admx/zh-TW/chrome.adml" type="adml" lang="zh-TW" /> + + <output filename="app/policy/windows/adm/am/chrome.adm" type="adm" lang="am" /> + <output filename="app/policy/windows/adm/ar/chrome.adm" type="adm" lang="ar" /> + <output filename="app/policy/windows/adm/bg/chrome.adm" type="adm" lang="bg" /> + <output filename="app/policy/windows/adm/bn/chrome.adm" type="adm" lang="bn" /> + <output filename="app/policy/windows/adm/ca/chrome.adm" type="adm" lang="ca" /> + <output filename="app/policy/windows/adm/cs/chrome.adm" type="adm" lang="cs" /> + <output filename="app/policy/windows/adm/da/chrome.adm" type="adm" lang="da" /> + <output filename="app/policy/windows/adm/de/chrome.adm" type="adm" lang="de" /> + <output filename="app/policy/windows/adm/el/chrome.adm" type="adm" lang="el" /> + <output filename="app/policy/windows/adm/en-GB/chrome.adm" type="adm" lang="en-GB" /> <output filename="app/policy/windows/adm/en-US/chrome.adm" type="adm" lang="en" /> - <output filename="app/policy/linux/examples/chrome.json" type="json" lang="en" /> - <output filename="app/policy/windows/examples/chrome.reg" type="reg" lang="en" /> + <output filename="app/policy/windows/adm/es/chrome.adm" type="adm" lang="es" /> + <output filename="app/policy/windows/adm/es-419/chrome.adm" type="adm" lang="es-419" /> + <output filename="app/policy/windows/adm/et/chrome.adm" type="adm" lang="et" /> + <output filename="app/policy/windows/adm/fa/chrome.adm" type="adm" lang="fa" /> + <output filename="app/policy/windows/adm/fi/chrome.adm" type="adm" lang="fi" /> + <output filename="app/policy/windows/adm/fil/chrome.adm" type="adm" lang="fil" /> + <output filename="app/policy/windows/adm/fr/chrome.adm" type="adm" lang="fr" /> + <output filename="app/policy/windows/adm/gu/chrome.adm" type="adm" lang="gu" /> + <output filename="app/policy/windows/adm/he/chrome.adm" type="adm" lang="he" /> + <output filename="app/policy/windows/adm/hi/chrome.adm" type="adm" lang="hi" /> + <output filename="app/policy/windows/adm/hr/chrome.adm" type="adm" lang="hr" /> + <output filename="app/policy/windows/adm/hu/chrome.adm" type="adm" lang="hu" /> + <output filename="app/policy/windows/adm/id/chrome.adm" type="adm" lang="id" /> + <output filename="app/policy/windows/adm/it/chrome.adm" type="adm" lang="it" /> + <output filename="app/policy/windows/adm/ja/chrome.adm" type="adm" lang="ja" /> + <output filename="app/policy/windows/adm/kn/chrome.adm" type="adm" lang="kn" /> + <output filename="app/policy/windows/adm/ko/chrome.adm" type="adm" lang="ko" /> + <output filename="app/policy/windows/adm/lt/chrome.adm" type="adm" lang="lt" /> + <output filename="app/policy/windows/adm/lv/chrome.adm" type="adm" lang="lv" /> + <output filename="app/policy/windows/adm/ml/chrome.adm" type="adm" lang="ml" /> + <output filename="app/policy/windows/adm/mr/chrome.adm" type="adm" lang="mr" /> + <output filename="app/policy/windows/adm/nl/chrome.adm" type="adm" lang="nl" /> + <output filename="app/policy/windows/adm/nb/chrome.adm" type="adm" lang="no" /> + <!-- 'no' for Norwegian Bokmål. It should be 'nb'. --> + <output filename="app/policy/windows/adm/pl/chrome.adm" type="adm" lang="pl" /> + <output filename="app/policy/windows/adm/pt-BR/chrome.adm" type="adm" lang="pt-BR" /> + <output filename="app/policy/windows/adm/pt-PT/chrome.adm" type="adm" lang="pt-PT" /> + <output filename="app/policy/windows/adm/ro/chrome.adm" type="adm" lang="ro" /> + <output filename="app/policy/windows/adm/ru/chrome.adm" type="adm" lang="ru" /> + <output filename="app/policy/windows/adm/sk/chrome.adm" type="adm" lang="sk" /> + <output filename="app/policy/windows/adm/sl/chrome.adm" type="adm" lang="sl" /> + <output filename="app/policy/windows/adm/sr/chrome.adm" type="adm" lang="sr" /> + <output filename="app/policy/windows/adm/sv/chrome.adm" type="adm" lang="sv" /> + <output filename="app/policy/windows/adm/sw/chrome.adm" type="adm" lang="sw" /> + <output filename="app/policy/windows/adm/ta/chrome.adm" type="adm" lang="ta" /> + <output filename="app/policy/windows/adm/te/chrome.adm" type="adm" lang="te" /> + <output filename="app/policy/windows/adm/th/chrome.adm" type="adm" lang="th" /> + <output filename="app/policy/windows/adm/tr/chrome.adm" type="adm" lang="tr" /> + <output filename="app/policy/windows/adm/uk/chrome.adm" type="adm" lang="uk" /> + <output filename="app/policy/windows/adm/vi/chrome.adm" type="adm" lang="vi" /> + <output filename="app/policy/windows/adm/zh-CN/chrome.adm" type="adm" lang="zh-CN" /> + <output filename="app/policy/windows/adm/zh-TW/chrome.adm" type="adm" lang="zh-TW" /> + + <output filename="app/policy/common/html/am/chrome_policy_list.html" type="doc" lang="am" /> + <output filename="app/policy/common/html/ar/chrome_policy_list.html" type="doc" lang="ar" /> + <output filename="app/policy/common/html/bg/chrome_policy_list.html" type="doc" lang="bg" /> + <output filename="app/policy/common/html/bn/chrome_policy_list.html" type="doc" lang="bn" /> + <output filename="app/policy/common/html/ca/chrome_policy_list.html" type="doc" lang="ca" /> + <output filename="app/policy/common/html/cs/chrome_policy_list.html" type="doc" lang="cs" /> + <output filename="app/policy/common/html/da/chrome_policy_list.html" type="doc" lang="da" /> + <output filename="app/policy/common/html/de/chrome_policy_list.html" type="doc" lang="de" /> + <output filename="app/policy/common/html/el/chrome_policy_list.html" type="doc" lang="el" /> + <output filename="app/policy/common/html/en-GB/chrome_policy_list.html" type="doc" lang="en-GB" /> + <output filename="app/policy/common/html/en-US/chrome_policy_list.html" type="doc" lang="en" /> + <output filename="app/policy/common/html/es/chrome_policy_list.html" type="doc" lang="es" /> + <output filename="app/policy/common/html/es-419/chrome_policy_list.html" type="doc" lang="es-419" /> + <output filename="app/policy/common/html/et/chrome_policy_list.html" type="doc" lang="et" /> + <output filename="app/policy/common/html/fa/chrome_policy_list.html" type="doc" lang="fa" /> + <output filename="app/policy/common/html/fi/chrome_policy_list.html" type="doc" lang="fi" /> + <output filename="app/policy/common/html/fil/chrome_policy_list.html" type="doc" lang="fil" /> + <output filename="app/policy/common/html/fr/chrome_policy_list.html" type="doc" lang="fr" /> + <output filename="app/policy/common/html/gu/chrome_policy_list.html" type="doc" lang="gu" /> + <output filename="app/policy/common/html/he/chrome_policy_list.html" type="doc" lang="he" /> + <output filename="app/policy/common/html/hi/chrome_policy_list.html" type="doc" lang="hi" /> + <output filename="app/policy/common/html/hr/chrome_policy_list.html" type="doc" lang="hr" /> + <output filename="app/policy/common/html/hu/chrome_policy_list.html" type="doc" lang="hu" /> + <output filename="app/policy/common/html/id/chrome_policy_list.html" type="doc" lang="id" /> + <output filename="app/policy/common/html/it/chrome_policy_list.html" type="doc" lang="it" /> + <output filename="app/policy/common/html/ja/chrome_policy_list.html" type="doc" lang="ja" /> + <output filename="app/policy/common/html/kn/chrome_policy_list.html" type="doc" lang="kn" /> + <output filename="app/policy/common/html/ko/chrome_policy_list.html" type="doc" lang="ko" /> + <output filename="app/policy/common/html/lt/chrome_policy_list.html" type="doc" lang="lt" /> + <output filename="app/policy/common/html/lv/chrome_policy_list.html" type="doc" lang="lv" /> + <output filename="app/policy/common/html/ml/chrome_policy_list.html" type="doc" lang="ml" /> + <output filename="app/policy/common/html/mr/chrome_policy_list.html" type="doc" lang="mr" /> + <output filename="app/policy/common/html/nl/chrome_policy_list.html" type="doc" lang="nl" /> + <output filename="app/policy/common/html/nb/chrome_policy_list.html" type="doc" lang="no" /> + <!-- 'no' for Norwegian Bokmål. It should be 'nb'. --> + <output filename="app/policy/common/html/pl/chrome_policy_list.html" type="doc" lang="pl" /> + <output filename="app/policy/common/html/pt-BR/chrome_policy_list.html" type="doc" lang="pt-BR" /> + <output filename="app/policy/common/html/pt-PT/chrome_policy_list.html" type="doc" lang="pt-PT" /> + <output filename="app/policy/common/html/ro/chrome_policy_list.html" type="doc" lang="ro" /> + <output filename="app/policy/common/html/ru/chrome_policy_list.html" type="doc" lang="ru" /> + <output filename="app/policy/common/html/sk/chrome_policy_list.html" type="doc" lang="sk" /> + <output filename="app/policy/common/html/sl/chrome_policy_list.html" type="doc" lang="sl" /> + <output filename="app/policy/common/html/sr/chrome_policy_list.html" type="doc" lang="sr" /> + <output filename="app/policy/common/html/sv/chrome_policy_list.html" type="doc" lang="sv" /> + <output filename="app/policy/common/html/sw/chrome_policy_list.html" type="doc" lang="sw" /> + <output filename="app/policy/common/html/ta/chrome_policy_list.html" type="doc" lang="ta" /> + <output filename="app/policy/common/html/te/chrome_policy_list.html" type="doc" lang="te" /> + <output filename="app/policy/common/html/th/chrome_policy_list.html" type="doc" lang="th" /> + <output filename="app/policy/common/html/tr/chrome_policy_list.html" type="doc" lang="tr" /> + <output filename="app/policy/common/html/uk/chrome_policy_list.html" type="doc" lang="uk" /> + <output filename="app/policy/common/html/vi/chrome_policy_list.html" type="doc" lang="vi" /> + <output filename="app/policy/common/html/zh-CN/chrome_policy_list.html" type="doc" lang="zh-CN" /> + <output filename="app/policy/common/html/zh-TW/chrome_policy_list.html" type="doc" lang="zh-TW" /> <if expr="os == 'darwin'"> <output filename="app/policy/mac/app-Manifest.plist" type="plist" lang="en" /> + <!-- The following directory names use Mac language codes (en instead of en-US, underscores instead of dashes. (As described in build/apply_locales.py --> + <output filename="app/policy/mac/strings/am.lproj/Localizable.strings" type="plist_strings" lang="am" /> + <output filename="app/policy/mac/strings/ar.lproj/Localizable.strings" type="plist_strings" lang="ar" /> + <output filename="app/policy/mac/strings/bg.lproj/Localizable.strings" type="plist_strings" lang="bg" /> + <output filename="app/policy/mac/strings/bn.lproj/Localizable.strings" type="plist_strings" lang="bn" /> + <output filename="app/policy/mac/strings/ca.lproj/Localizable.strings" type="plist_strings" lang="ca" /> + <output filename="app/policy/mac/strings/cs.lproj/Localizable.strings" type="plist_strings" lang="cs" /> + <output filename="app/policy/mac/strings/da.lproj/Localizable.strings" type="plist_strings" lang="da" /> + <output filename="app/policy/mac/strings/de.lproj/Localizable.strings" type="plist_strings" lang="de" /> + <output filename="app/policy/mac/strings/el.lproj/Localizable.strings" type="plist_strings" lang="el" /> + <output filename="app/policy/mac/strings/en_GB.lproj/Localizable.strings" type="plist_strings" lang="en-GB" /> <output filename="app/policy/mac/strings/en.lproj/Localizable.strings" type="plist_strings" lang="en" /> + <output filename="app/policy/mac/strings/es.lproj/Localizable.strings" type="plist_strings" lang="es" /> + <output filename="app/policy/mac/strings/es_419.lproj/Localizable.strings" type="plist_strings" lang="es-419" /> + <output filename="app/policy/mac/strings/et.lproj/Localizable.strings" type="plist_strings" lang="et" /> + <output filename="app/policy/mac/strings/fa.lproj/Localizable.strings" type="plist_strings" lang="fa" /> + <output filename="app/policy/mac/strings/fi.lproj/Localizable.strings" type="plist_strings" lang="fi" /> + <output filename="app/policy/mac/strings/fil.lproj/Localizable.strings" type="plist_strings" lang="fil" /> + <output filename="app/policy/mac/strings/fr.lproj/Localizable.strings" type="plist_strings" lang="fr" /> + <output filename="app/policy/mac/strings/gu.lproj/Localizable.strings" type="plist_strings" lang="gu" /> + <output filename="app/policy/mac/strings/he.lproj/Localizable.strings" type="plist_strings" lang="he" /> + <output filename="app/policy/mac/strings/hi.lproj/Localizable.strings" type="plist_strings" lang="hi" /> + <output filename="app/policy/mac/strings/hr.lproj/Localizable.strings" type="plist_strings" lang="hr" /> + <output filename="app/policy/mac/strings/hu.lproj/Localizable.strings" type="plist_strings" lang="hu" /> + <output filename="app/policy/mac/strings/id.lproj/Localizable.strings" type="plist_strings" lang="id" /> + <output filename="app/policy/mac/strings/it.lproj/Localizable.strings" type="plist_strings" lang="it" /> + <output filename="app/policy/mac/strings/ja.lproj/Localizable.strings" type="plist_strings" lang="ja" /> + <output filename="app/policy/mac/strings/kn.lproj/Localizable.strings" type="plist_strings" lang="kn" /> + <output filename="app/policy/mac/strings/ko.lproj/Localizable.strings" type="plist_strings" lang="ko" /> + <output filename="app/policy/mac/strings/lt.lproj/Localizable.strings" type="plist_strings" lang="lt" /> + <output filename="app/policy/mac/strings/lv.lproj/Localizable.strings" type="plist_strings" lang="lv" /> + <output filename="app/policy/mac/strings/ml.lproj/Localizable.strings" type="plist_strings" lang="ml" /> + <output filename="app/policy/mac/strings/mr.lproj/Localizable.strings" type="plist_strings" lang="mr" /> + <output filename="app/policy/mac/strings/nl.lproj/Localizable.strings" type="plist_strings" lang="nl" /> + <output filename="app/policy/mac/strings/nb.lproj/Localizable.strings" type="plist_strings" lang="no" /> + <!-- 'no' for Norwegian Bokmål. It should be 'nb'. --> + <output filename="app/policy/mac/strings/pl.lproj/Localizable.strings" type="plist_strings" lang="pl" /> + <output filename="app/policy/mac/strings/pt_BR.lproj/Localizable.strings" type="plist_strings" lang="pt-BR" /> + <output filename="app/policy/mac/strings/pt_PT.lproj/Localizable.strings" type="plist_strings" lang="pt-PT" /> + <output filename="app/policy/mac/strings/ro.lproj/Localizable.strings" type="plist_strings" lang="ro" /> + <output filename="app/policy/mac/strings/ru.lproj/Localizable.strings" type="plist_strings" lang="ru" /> + <output filename="app/policy/mac/strings/sk.lproj/Localizable.strings" type="plist_strings" lang="sk" /> + <output filename="app/policy/mac/strings/sl.lproj/Localizable.strings" type="plist_strings" lang="sl" /> + <output filename="app/policy/mac/strings/sr.lproj/Localizable.strings" type="plist_strings" lang="sr" /> + <output filename="app/policy/mac/strings/sv.lproj/Localizable.strings" type="plist_strings" lang="sv" /> + <output filename="app/policy/mac/strings/sw.lproj/Localizable.strings" type="plist_strings" lang="sw" /> + <output filename="app/policy/mac/strings/ta.lproj/Localizable.strings" type="plist_strings" lang="ta" /> + <output filename="app/policy/mac/strings/te.lproj/Localizable.strings" type="plist_strings" lang="te" /> + <output filename="app/policy/mac/strings/th.lproj/Localizable.strings" type="plist_strings" lang="th" /> + <output filename="app/policy/mac/strings/tr.lproj/Localizable.strings" type="plist_strings" lang="tr" /> + <output filename="app/policy/mac/strings/uk.lproj/Localizable.strings" type="plist_strings" lang="uk" /> + <output filename="app/policy/mac/strings/vi.lproj/Localizable.strings" type="plist_strings" lang="vi" /> + <output filename="app/policy/mac/strings/zh_CN.lproj/Localizable.strings" type="plist_strings" lang="zh-CN" /> + <output filename="app/policy/mac/strings/zh_TW.lproj/Localizable.strings" type="plist_strings" lang="zh-TW" /> </if> </outputs> @@ -74,10 +286,8 @@ templates and will be translated for each locale. --> <file path="policy_templates_zh-CN.xtb" lang="zh-CN" /> <file path="policy_templates_zh-TW.xtb" lang="zh-TW" /> </translations> - <!-- TODO(gfeher): set allow_pseudo="false" before release --> - <release seq="1" allow_pseudo="true"> - - <structures> + <release seq="1" allow_pseudo="false"> + <structures fallback_to_english="true"> <!-- List of policies and placeholder texts. This item should precede any message definitions. --> <structure name="IDD_POLICY_SOURCE_FILE" file="policy_templates.json" type="policy_template_metafile" /> diff --git a/chrome/app/policy/policy_templates.gypi b/chrome/app/policy/policy_templates.gypi index b86c873..4c49a9a 100644 --- a/chrome/app/policy/policy_templates.gypi +++ b/chrome/app/policy/policy_templates.gypi @@ -44,7 +44,7 @@ 'action_name': 'pack_templates', 'variables': { 'zip_script': - 'tools/build/win/make_zip_with_relative_entries.py' + 'tools/build/win/make_policy_zip.py' }, 'inputs': [ '<(version_path)', @@ -57,10 +57,24 @@ 'action': [ 'python', '<(zip_script)', + '--output', '<@(_outputs)', - '<(grit_out_dir)/app/policy', - '<@(template_files)', - '<(version_path)' + '--basedir', '<(grit_out_dir)/app/policy', + # The list of files in the destination zip is derived from + # the list of output nodes in the following grd file. + # This whole trickery is necessary because we cannot pass + # the entire list of file names as command line arguments, + # because they would exceed the length limit on Windows. + '--grd_input', + '<(grit_grd_file)', + '--grd_strip_path_prefix', + 'app/policy', + '--extra_input', + 'VERSION', + # Module to be used to process grd_input'. + '--grit_info', + '<(DEPTH)/tools/grit/grit_info.py', + '<@(grit_defines)', ], 'message': 'Packing generated templates into <(_outputs)', } @@ -121,17 +135,14 @@ # Directory to collect the Localizable.strings files before # they are copied to the bundle. 'output_path': '<(INTERMEDIATE_DIR)/app_manifest', - # TODO(gfeher): replace this with <(locales) when we have real - # translations - 'available_locales': 'en', }, 'inputs': [ # TODO: remove this helper when we have loops in GYP - '>!@(<(apply_locales_cmd) -d \'<(input_path)/ZZLOCALE.lproj/Localizable.strings\' <(available_locales))', + '>!@(<(apply_locales_cmd) -d \'<(input_path)/ZZLOCALE.lproj/Localizable.strings\' <(locales))', ], 'outputs': [ # TODO: remove this helper when we have loops in GYP - '>!@(<(apply_locales_cmd) -d \'<(output_path)/ZZLOCALE.lproj/Localizable.strings\' <(available_locales))', + '>!@(<(apply_locales_cmd) -d \'<(output_path)/ZZLOCALE.lproj/Localizable.strings\' <(locales))', ], 'action': [ 'cp', '-R', diff --git a/chrome/tools/build/win/make_policy_zip.py b/chrome/tools/build/win/make_policy_zip.py new file mode 100644 index 0000000..60037c3 --- /dev/null +++ b/chrome/tools/build/win/make_policy_zip.py @@ -0,0 +1,78 @@ +# Copyright (c) 2011 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Creates a zip archive with policy template files. The list of input files is +extracted from a grd file with grit. This is to keep the length of input +arguments below the limit on Windows. +""" + +import optparse +import os +import sys +import zipfile + +def add_files_to_zip(zip_file, base_dir, file_list): + """Pack a list of files into a zip archive, that is already + opened for writing. + + Args: + zip_file: An object representing the zip archive. + base_dir: Base path of all the files in the real file system. + files: List of file paths to add, all relative to base_dir. + The zip entries will only contain this componenet of the path. + """ + for file_path in file_list: + zip_file.write(base_dir + file_path, file_path) + return 0 + +def get_grd_outputs(grit_cmd, grit_defines, grd_file, grd_strip_path_prefix): + grit_path = os.path.join(os.getcwd(), os.path.dirname(grit_cmd)) + sys.path.append(grit_path) + import grit_info + outputs = grit_info.Outputs(grd_file, grit_defines) + result = [] + for item in outputs: + assert item.startswith(grd_strip_path_prefix) + result.append(item[len(grd_strip_path_prefix):]) + return result + +def main(argv): + """Pack a list of files into a zip archive. + + Args: + zip_path: The file name of the zip archive. + base_dir: Base path of input files. + locales: The list of locales that are used to generate the list of file + names using INPUT_FILES. + """ + parser = optparse.OptionParser() + parser.add_option("--output", dest="output") + parser.add_option("--basedir", dest="basedir") + parser.add_option("--grit_info", dest="grit_info") + parser.add_option("--grd_input", dest="grd_input") + parser.add_option("--grd_strip_path_prefix", dest="grd_strip_path_prefix") + parser.add_option("--extra_input", action="append", dest="extra_input", + default=[]) + parser.add_option("-D", action="append", dest="grit_defines", default=[]) + parser.add_option("-E", action="append", dest="grit_build_env", default=[]) + options, args = parser.parse_args(argv[1:]) + + if (options.basedir[-1] != '/'): + options.basedir += '/' + grit_defines = {} + for define in options.grit_defines: + grit_defines[define] = 1 + + file_list = options.extra_input + file_list += get_grd_outputs(options.grit_info, grit_defines, + options.grd_input, options.grd_strip_path_prefix) + zip_file = zipfile.ZipFile(options.output, 'w', zipfile.ZIP_DEFLATED) + try: + return add_files_to_zip(zip_file, options.basedir, file_list) + finally: + zip_file.close() + +if '__main__' == __name__: + sys.exit(main(sys.argv)) + diff --git a/chrome/tools/build/win/make_zip_with_relative_entries.py b/chrome/tools/build/win/make_zip_with_relative_entries.py deleted file mode 100644 index 4df554e..0000000 --- a/chrome/tools/build/win/make_zip_with_relative_entries.py +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (c) 2010 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""Creates a zip archive with relative entry paths, from a list of files with -absolute paths. -""" - -import sys -import zipfile - -def add_files_to_zip(zip_file, base_dir, files): - """Pack a list of files into a zip archive, that is already - opened for writing. - - Args: - zip_file: An object representing the zip archive. - base_dir: A path that will be stripped from the beginning of the paths of - added files. - files: The list of file paths to add. - """ - prefix_len = len(base_dir) - - for file_path in files: - if not file_path.startswith(base_dir): - print "All the input files should be in the base directory." - return 1 - entry_path = file_path[prefix_len:] - zip_file.write(file_path, entry_path) - - return 0 - - -def main(zip_path, base_dir, files): - """Pack a list of files into a zip archive. - - Args: - zip_path: The file name of the zip archive. - base_dir: A path that will be stripped from the beginning of the paths of - added files. - files: The list of file paths to add. - - Example: - main('x.zip', '/a/b', ['/a/b/c/1.txt', '/a/b/d/2.txt']) - Will put the following entries to x.zip: - c/1.txt - d/2.txt - """ - if (base_dir[-1] != '/'): - base_dir = base_dir + '/' - - zip_file = zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) - try: - return add_files_to_zip(zip_file, base_dir, files) - finally: - zip_file.close() - -if '__main__' == __name__: - if len(sys.argv) < 4: - print "usage: %s output.zip path/to/base/dir list of files" % sys.argv[0] - sys.exit(1) - - sys.exit(main(sys.argv[1], sys.argv[2], sys.argv[3:])) diff --git a/tools/grit/grit/format/policy_templates/policy_template_generator.py b/tools/grit/grit/format/policy_templates/policy_template_generator.py index 1d54b972..e2f61e6 100644 --- a/tools/grit/grit/format/policy_templates/policy_template_generator.py +++ b/tools/grit/grit/format/policy_templates/policy_template_generator.py @@ -16,6 +16,7 @@ class PolicyTemplateGenerator: ''' def _ImportMessage(self, msg_txt): + msg_txt = msg_txt.decode('utf-8') # Replace the placeholder of app name. msg_txt = msg_txt.replace('$1', self._config['app_name']) msg_txt = msg_txt.replace('$2', self._config['os_name']) diff --git a/tools/grit/grit/format/policy_templates/template_formatter.py b/tools/grit/grit/format/policy_templates/template_formatter.py index 0e304af..fdd5dd9 100644 --- a/tools/grit/grit/format/policy_templates/template_formatter.py +++ b/tools/grit/grit/format/policy_templates/template_formatter.py @@ -94,7 +94,10 @@ class TemplateFormatter(interface.ItemFormatter): if (isinstance(item, structure.StructureNode) and item.attrs['type'] == 'policy_template_metafile'): assert self._policy_data == None - json_text = item.gatherer.Translate(self._lang) + json_text = item.gatherer.Translate( + self._lang, + pseudo_if_not_available=item.PseudoIsAllowed(), + fallback_to_english=item.ShouldFallbackToEnglish()) self._policy_data = eval(json_text) for child in item.children: self._ParseGritNodes(child) |