xref: /aosp_15_r20/external/cronet/build/ios/extension_bundle_data.gni (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1# Copyright 2021 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# Template to package an app extension into an app.
6#
7# Parameters
8#
9#   extension_target:
10#     name of the extension target to package; the extension
11#     bundle name must be derived from the target name
12#
13#   extension_name:
14#     (optional) name of the extension appex file; derived from
15#     the target name if omitted
16#
17template("extension_bundle_data") {
18  assert(defined(invoker.extension_target),
19         "extension_target must be defined for $target_name")
20
21  _extension_name = get_label_info(invoker.extension_target, "name") + ".appex"
22  if (defined(invoker.extension_name)) {
23    _extension_name = invoker.extension_name
24  }
25
26  _extension_dir = "PlugIns"
27  if (defined(invoker.extension_dir)) {
28    _extension_dir = invoker.extension_dir
29  }
30
31  forward_variables_from(invoker, [ "testonly" ])
32  bundle_data(target_name) {
33    public_deps = [ invoker.extension_target ]
34    outputs = [ "{{bundle_contents_dir}}/$_extension_dir/{{source_file_part}}" ]
35    sources = [ get_label_info(invoker.extension_target, "root_out_dir") +
36                "/$_extension_name" ]
37  }
38}
39