# 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.

import("//tools/grit/repack.gni")
import("webview_repack_locales_list.gni")

# Wraps repack_locales(), setting the source_patterns and deps required for
# Chrome.
template("webview_repack_locales") {
  repack_locales(target_name) {
    forward_variables_from(invoker, "*")
    if (!defined(deps)) {
      deps = []
    }

    # Adding webview specific pak file? You should add it to
    # webview_repack_locales_source_patterns, so it is also included in
    # Monochrome.

    source_patterns = [
      "${root_gen_dir}/android_webview/components_strings_",
      "${root_gen_dir}/third_party/blink/public/strings/blink_strings_",
      "${root_gen_dir}/ui/strings/app_locale_settings_",
      "${root_gen_dir}/ui/strings/ax_strings_",
    ]
    deps += [
      "//android_webview:generate_components_strings",
      "//third_party/blink/public/strings",
      "//ui/strings:app_locale_settings",
      "//ui/strings:ax_strings",
    ]
    source_patterns += webview_repack_locales_source_patterns
    deps += webview_repack_locales_deps
    output_dir = "$root_out_dir/android_webview/locales"
  }
}
