summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/app/policy/policy_templates.grd224
-rw-r--r--chrome/app/policy/policy_templates.gypi29
-rw-r--r--chrome/tools/build/win/make_policy_zip.py78
-rw-r--r--chrome/tools/build/win/make_zip_with_relative_entries.py63
-rw-r--r--tools/grit/grit/format/policy_templates/policy_template_generator.py1
-rw-r--r--tools/grit/grit/format/policy_templates/template_formatter.py5
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)