chromium/components/policy/resources/policy_templates.gni

# Copyright 2015 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file contains the list of outputs generated by template_formatter.py.
# To keep repetetive work down, the lists are generated from the languages and
# a placeholder, e.g. some/dir/${lang}/file.ext is expanded by replacing ${lang}
# by all languages. The *_path variables for per-language types (adml, doc etc.)
# contain ${lang} in unexpanded form. They are passed to the scripts to do the
# replacement there.

policy_templates_base_dir = "$root_gen_dir/chrome/app/policy"
policy_templates_yaml_dir = "resources/templates"

# Languages we're going to process. Should match the XX-YY of the translated
# policy_templates_XX-YY.json files, see policy_templates.grd.
policy_templates_languages = [
  "de-DE",
  "en-US",
  "es-ES",
  "es-419",
  "fr-FR",
  "id-ID",
  "it-IT",
  "ja-JP",
  "ko-KR",
  "nl-NL",
  "pt-BR",
  "ru-RU",
  "th-TH",
  "tr-TR",
  "uk-UA",
  "vi-VN",
  "zh-CN",
  "zh-TW",
]

# Macs use a slightly different naming convention:
#   - '_' instead of '-'
#   - 'en' instead of 'en-US'
mac_policy_templates_languages = [
  "de_DE",
  "en",
  "es_ES",
  "es_419",
  "fr_FR",
  "id_ID",
  "it_IT",
  "ja_JP",
  "ko_KR",
  "nl_NL",
  "pt_BR",
  "ru_RU",
  "th_TH",
  "tr_TR",
  "uk_UA",
  "zh_CN",
  "zh_TW",
]

policy_templates_languages_str = ""
foreach(lang, policy_templates_languages) {
  # Note: The final , is filtered out by scripts. There's no string.join here...
  policy_templates_languages_str += lang + ","
}

# Translations. Grit translates policy_templates.json to all languages first.
policy_templates_translation_json_path =
    "$policy_templates_base_dir/translations/policy_templates_\${lang}.json"
policy_templates_translation_outputs = []
foreach(lang, policy_templates_languages) {
  policy_templates_translation_outputs += [
    "$policy_templates_base_dir/translations/policy_templates_${lang}.json",
  ]
}

# Android outputs.
policy_templates_android_policy_path =
    "$policy_templates_base_dir/android/values-v21/restriction_values.xml"
policy_templates_android_outputs = [ policy_templates_android_policy_path ]

# Common outputs.
policy_templates_doc_path =
    "$policy_templates_base_dir/common/html/\${lang}/chrome_policy_list.html"
policy_templates_doc_atomic_groups_path =
    "$policy_templates_base_dir/common/" +
    "html/\${lang}/chrome_policy_atomic_groups_list.html"
policy_templates_common_outputs = []
foreach(lang, policy_templates_languages) {
  policy_templates_common_outputs += [
    "$policy_templates_base_dir/common/html/${lang}/chrome_policy_list.html",
  ]
}

# Linux outputs.
policy_templates_json_path =
    "$policy_templates_base_dir/linux/examples/chrome.json"
policy_templates_linux_outputs = [ policy_templates_json_path ]

# Mac outputs.
policy_templates_plist_path =
    "$policy_templates_base_dir/mac/app-Manifest.plist"
policy_templates_plist_strings_path =
    "$policy_templates_base_dir/mac/strings/\${lang}.lproj/Localizable.strings"
policy_templates_jamf_path = "$policy_templates_base_dir/mac/jamf.json"
policy_templates_mac_outputs = [
  policy_templates_plist_path,
  policy_templates_jamf_path,
]
foreach(lang, mac_policy_templates_languages) {
  policy_templates_mac_outputs += [
    "$policy_templates_base_dir/mac/strings/${lang}.lproj/Localizable.strings",
  ]
}

# Windows outputs.
policy_templates_win_reg_path =
    "$policy_templates_base_dir/windows/examples/chrome.reg"
policy_templates_win_admx_path =
    "$policy_templates_base_dir/windows/admx/chrome.admx"
policy_templates_win_adm_path =
    "$policy_templates_base_dir/windows/adm/\${lang}/chrome.adm"
policy_templates_win_adml_path =
    "$policy_templates_base_dir/windows/admx/\${lang}/chrome.adml"
policy_templates_win_outputs = [
  policy_templates_win_reg_path,
  policy_templates_win_admx_path,
]
foreach(lang, policy_templates_languages) {
  policy_templates_win_outputs += [
    "$policy_templates_base_dir/windows/adm/${lang}/chrome.adm",
    "$policy_templates_base_dir/windows/admx/${lang}/chrome.adml",
  ]
}

# Additional Windows outputs for branded builds.
policy_templates_win_google_admx_path =
    "$policy_templates_base_dir/windows/admx/google.admx"
policy_templates_win_google_adml_path =
    "$policy_templates_base_dir/windows/admx/\${lang}/google.adml"
policy_templates_win_google_outputs = [ policy_templates_win_google_admx_path ]
foreach(lang, policy_templates_languages) {
  policy_templates_win_google_outputs +=
      [ "$policy_templates_base_dir/windows/admx/${lang}/google.adml" ]
}

# iOS outputs
policy_templates_ios_app_config_path =
    "$policy_templates_base_dir/ios/appconfig.xml"
policy_templates_ios_outputs = [ policy_templates_ios_app_config_path ]