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