# Copyright 2017 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/rules.gni")

template("empty_apk") {
  manifest_target_name = "${target_name}__manifest"
  manifest_path = "${target_gen_dir}/${target_name}/AndroidManifest.xml"

  jinja_template(manifest_target_name) {
    input = "//testing/android/empty_apk/AndroidManifest.xml"
    output = manifest_path
    variables = [ "package=${invoker.package_name}" ]
  }

  android_apk(target_name) {
    forward_variables_from(invoker, "*")
    android_manifest = manifest_path
    android_manifest_dep = ":$manifest_target_name"
  }
}
