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

import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")

template("system_webview_apk_tmpl") {
  android_apk(target_name) {
    forward_variables_from(invoker, "*")

    deps += [
      "//android_webview:assets",
      "//base:base_java",
    ]

    if (!defined(alternative_android_sdk_jar)) {
      alternative_android_sdk_jar = webview_framework_jar
    }

    shared_resources = true
    shared_libraries = [ "//android_webview:libwebviewchromium" ]
    native_lib_version_rule = "//build/util:chrome_version_json"
    _native_lib_file =
        rebase_path("$root_gen_dir/CHROME_VERSION.json", root_out_dir)
    native_lib_version_arg = "@FileArg($_native_lib_file:full-quoted)"
    extensions_to_not_compress = ".lpak,.pak,.bin,.dat"

    if (!is_java_debug) {
      proguard_enabled = true
      proguard_configs = [ "//android_webview/apk/java/proguard.flags" ]
    }
  }
}
