xref: /aosp_15_r20/external/angle/build/config/android/system_image.gni (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2022 The Chromium Authors
2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
4*8975f5c5SAndroid Build Coastguard Worker
5*8975f5c5SAndroid Build Coastguard Workerimport("//build/config/android/rules.gni")
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Worker# Creates a stub .apk suitable for use with compressed system APKs.
8*8975f5c5SAndroid Build Coastguard Worker#
9*8975f5c5SAndroid Build Coastguard Worker# Variables:
10*8975f5c5SAndroid Build Coastguard Worker#   package_name: Package name to use for the stub.
11*8975f5c5SAndroid Build Coastguard Worker#   version_code: Version code for the stub.
12*8975f5c5SAndroid Build Coastguard Worker#   version_name: Version name for the stub.
13*8975f5c5SAndroid Build Coastguard Worker#   package_info_from_target: Use the package name and version_code from this
14*8975f5c5SAndroid Build Coastguard Worker#       apk/bundle target.
15*8975f5c5SAndroid Build Coastguard Worker#   static_library_name: For static library apks, name for the <static-library>.
16*8975f5c5SAndroid Build Coastguard Worker#   static_library_version: For static library apks, version for the
17*8975f5c5SAndroid Build Coastguard Worker#       <static-library> tag (for TrichromeLibrary, we set this to be the same
18*8975f5c5SAndroid Build Coastguard Worker#       as the package's version_code)
19*8975f5c5SAndroid Build Coastguard Worker#   stub_output: Path to output stub apk (default: do not create a stub).
20*8975f5c5SAndroid Build Coastguard Worker#
21*8975f5c5SAndroid Build Coastguard Worker# package_name and package_info_from_target are mutually exclusive.
22*8975f5c5SAndroid Build Coastguard Workertemplate("system_image_stub_apk") {
23*8975f5c5SAndroid Build Coastguard Worker  # Android requires stubs end with -Stub.apk.
24*8975f5c5SAndroid Build Coastguard Worker  assert(filter_exclude([ invoker.stub_output ], [ "*-Stub.apk" ]) == [],
25*8975f5c5SAndroid Build Coastguard Worker         "stub_output \"${invoker.stub_output}\" must end with \"-Stub.apk\"")
26*8975f5c5SAndroid Build Coastguard Worker
27*8975f5c5SAndroid Build Coastguard Worker  _resource_apk_path = "${target_out_dir}/$target_name.ap_"
28*8975f5c5SAndroid Build Coastguard Worker  _resource_apk_target_name = "${target_name}__compile_resources"
29*8975f5c5SAndroid Build Coastguard Worker
30*8975f5c5SAndroid Build Coastguard Worker  _manifest_target_name = "${target_name}__manifest"
31*8975f5c5SAndroid Build Coastguard Worker  _manifest_path = "$target_gen_dir/$_manifest_target_name.xml"
32*8975f5c5SAndroid Build Coastguard Worker  action("$_manifest_target_name") {
33*8975f5c5SAndroid Build Coastguard Worker    outputs = [ _manifest_path ]
34*8975f5c5SAndroid Build Coastguard Worker    script = "//build/android/gyp/create_stub_manifest.py"
35*8975f5c5SAndroid Build Coastguard Worker    args = [
36*8975f5c5SAndroid Build Coastguard Worker      "--output",
37*8975f5c5SAndroid Build Coastguard Worker      rebase_path(_manifest_path, root_build_dir),
38*8975f5c5SAndroid Build Coastguard Worker    ]
39*8975f5c5SAndroid Build Coastguard Worker    if (defined(invoker.static_library_name)) {
40*8975f5c5SAndroid Build Coastguard Worker      args += [
41*8975f5c5SAndroid Build Coastguard Worker        "--static-library-name",
42*8975f5c5SAndroid Build Coastguard Worker        invoker.static_library_name,
43*8975f5c5SAndroid Build Coastguard Worker      ]
44*8975f5c5SAndroid Build Coastguard Worker
45*8975f5c5SAndroid Build Coastguard Worker      # TODO(crbug.com/40253411): Make static_library_version mandatory.
46*8975f5c5SAndroid Build Coastguard Worker      if (defined(invoker.static_library_version)) {
47*8975f5c5SAndroid Build Coastguard Worker        args += [
48*8975f5c5SAndroid Build Coastguard Worker          "--static-library-version",
49*8975f5c5SAndroid Build Coastguard Worker          invoker.static_library_version,
50*8975f5c5SAndroid Build Coastguard Worker        ]
51*8975f5c5SAndroid Build Coastguard Worker      } else {
52*8975f5c5SAndroid Build Coastguard Worker        args += [ "--static-library-version=1" ]
53*8975f5c5SAndroid Build Coastguard Worker      }
54*8975f5c5SAndroid Build Coastguard Worker    }
55*8975f5c5SAndroid Build Coastguard Worker  }
56*8975f5c5SAndroid Build Coastguard Worker
57*8975f5c5SAndroid Build Coastguard Worker  _target_sdk_version = default_target_sdk_version
58*8975f5c5SAndroid Build Coastguard Worker  if (defined(invoker.override_target_sdk)) {
59*8975f5c5SAndroid Build Coastguard Worker    _target_sdk_version = invoker.override_target_sdk
60*8975f5c5SAndroid Build Coastguard Worker  }
61*8975f5c5SAndroid Build Coastguard Worker
62*8975f5c5SAndroid Build Coastguard Worker  action_with_pydeps(_resource_apk_target_name) {
63*8975f5c5SAndroid Build Coastguard Worker    script = "//build/android/gyp/compile_resources.py"
64*8975f5c5SAndroid Build Coastguard Worker    inputs = [
65*8975f5c5SAndroid Build Coastguard Worker      _manifest_path,
66*8975f5c5SAndroid Build Coastguard Worker      android_sdk_tools_bundle_aapt2,
67*8975f5c5SAndroid Build Coastguard Worker      android_sdk_jar,
68*8975f5c5SAndroid Build Coastguard Worker
69*8975f5c5SAndroid Build Coastguard Worker      # TODO(b/315080809#comment4): remove these files after fixing
70*8975f5c5SAndroid Build Coastguard Worker      # build/print_python_deps.py.
71*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/__init__.py",
72*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/__init__.py",
73*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/compiler/__init__.py",
74*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/compiler/plugin_pb2.py",
75*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/descriptor.py",
76*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/descriptor_database.py",
77*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/descriptor_pb2.py",
78*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/descriptor_pool.py",
79*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/__init__.py",
80*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/_parameterized.py",
81*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/api_implementation.py",
82*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/builder.py",
83*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/containers.py",
84*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/decoder.py",
85*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/descriptor_database_test.py",
86*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/descriptor_pool_test.py",
87*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/descriptor_test.py",
88*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/encoder.py",
89*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/enum_type_wrapper.py",
90*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/extension_dict.py",
91*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/generator_test.py",
92*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/import_test.py",
93*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/import_test_package/__init__.py",
94*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/json_format_test.py",
95*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/keywords_test.py",
96*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/message_factory_test.py",
97*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/message_listener.py",
98*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/message_test.py",
99*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/proto_builder_test.py",
100*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/python_message.py",
101*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/reflection_test.py",
102*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/service_reflection_test.py",
103*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/symbol_database_test.py",
104*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/test_util.py",
105*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/testing_refleaks.py",
106*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/text_encoding_test.py",
107*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/text_format_test.py",
108*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/type_checkers.py",
109*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/unknown_fields_test.py",
110*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/well_known_types.py",
111*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/well_known_types_test.py",
112*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/wire_format.py",
113*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/internal/wire_format_test.py",
114*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/json_format.py",
115*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/message.py",
116*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/message_factory.py",
117*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/proto_builder.py",
118*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/pyext/__init__.py",
119*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/pyext/cpp_message.py",
120*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/reflection.py",
121*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/service.py",
122*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/service_reflection.py",
123*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/symbol_database.py",
124*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/text_encoding.py",
125*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/text_format.py",
126*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/unknown_fields.py",
127*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf/python/google/protobuf/util/__init__.py",
128*8975f5c5SAndroid Build Coastguard Worker    ]
129*8975f5c5SAndroid Build Coastguard Worker    outputs = [ _resource_apk_path ]
130*8975f5c5SAndroid Build Coastguard Worker    args = [
131*8975f5c5SAndroid Build Coastguard Worker      "--aapt2-path",
132*8975f5c5SAndroid Build Coastguard Worker      rebase_path(android_sdk_tools_bundle_aapt2, root_build_dir),
133*8975f5c5SAndroid Build Coastguard Worker      "--min-sdk-version=$default_min_sdk_version",
134*8975f5c5SAndroid Build Coastguard Worker      "--target-sdk-version=$_target_sdk_version",
135*8975f5c5SAndroid Build Coastguard Worker      "--android-manifest",
136*8975f5c5SAndroid Build Coastguard Worker      rebase_path(_manifest_path, root_build_dir),
137*8975f5c5SAndroid Build Coastguard Worker      "--arsc-path",
138*8975f5c5SAndroid Build Coastguard Worker      rebase_path(_resource_apk_path, root_build_dir),
139*8975f5c5SAndroid Build Coastguard Worker    ]
140*8975f5c5SAndroid Build Coastguard Worker    deps = [ ":$_manifest_target_name" ]
141*8975f5c5SAndroid Build Coastguard Worker    if (defined(invoker.package_name)) {
142*8975f5c5SAndroid Build Coastguard Worker      _package_name = invoker.package_name
143*8975f5c5SAndroid Build Coastguard Worker      _version_code = invoker.version_code
144*8975f5c5SAndroid Build Coastguard Worker      _version_name = invoker.version_name
145*8975f5c5SAndroid Build Coastguard Worker
146*8975f5c5SAndroid Build Coastguard Worker      # TODO(crbug.com/40253411): Make static_library_version mandatory.
147*8975f5c5SAndroid Build Coastguard Worker      if (defined(invoker.static_library_version)) {
148*8975f5c5SAndroid Build Coastguard Worker        assert(invoker.static_library_version == _version_code,
149*8975f5c5SAndroid Build Coastguard Worker               "$invoker.static_library_version must equal $_version_code.")
150*8975f5c5SAndroid Build Coastguard Worker      }
151*8975f5c5SAndroid Build Coastguard Worker    } else {
152*8975f5c5SAndroid Build Coastguard Worker      _target = invoker.package_info_from_target
153*8975f5c5SAndroid Build Coastguard Worker      deps += [ "${_target}$build_config_target_suffix" ]
154*8975f5c5SAndroid Build Coastguard Worker      _build_config = get_label_info(_target, "target_gen_dir") + "/" +
155*8975f5c5SAndroid Build Coastguard Worker                      get_label_info(_target, "name") + ".build_config.json"
156*8975f5c5SAndroid Build Coastguard Worker      inputs += [ _build_config ]
157*8975f5c5SAndroid Build Coastguard Worker      _rebased_build_config = rebase_path(_build_config, root_build_dir)
158*8975f5c5SAndroid Build Coastguard Worker      _package_name = "@FileArg($_rebased_build_config:deps_info:package_name)"
159*8975f5c5SAndroid Build Coastguard Worker      _version_code = "@FileArg($_rebased_build_config:deps_info:version_code)"
160*8975f5c5SAndroid Build Coastguard Worker      _version_name = "@FileArg($_rebased_build_config:deps_info:version_name)"
161*8975f5c5SAndroid Build Coastguard Worker
162*8975f5c5SAndroid Build Coastguard Worker      # TODO(crbug.com/40253411): Make static_library_version mandatory.
163*8975f5c5SAndroid Build Coastguard Worker      # Pass this through to ensure that the version code in the build config is
164*8975f5c5SAndroid Build Coastguard Worker      # the same as the static library version.
165*8975f5c5SAndroid Build Coastguard Worker      if (defined(invoker.static_library_version)) {
166*8975f5c5SAndroid Build Coastguard Worker        args += [
167*8975f5c5SAndroid Build Coastguard Worker          "--static-library-version",
168*8975f5c5SAndroid Build Coastguard Worker          invoker.static_library_version,
169*8975f5c5SAndroid Build Coastguard Worker        ]
170*8975f5c5SAndroid Build Coastguard Worker      }
171*8975f5c5SAndroid Build Coastguard Worker    }
172*8975f5c5SAndroid Build Coastguard Worker
173*8975f5c5SAndroid Build Coastguard Worker    args += [
174*8975f5c5SAndroid Build Coastguard Worker      "--rename-manifest-package=$_package_name",
175*8975f5c5SAndroid Build Coastguard Worker      "--arsc-package-name=$_package_name",
176*8975f5c5SAndroid Build Coastguard Worker      "--version-code=$_version_code",
177*8975f5c5SAndroid Build Coastguard Worker      "--version-name=$_version_name",
178*8975f5c5SAndroid Build Coastguard Worker      "--include-resources",
179*8975f5c5SAndroid Build Coastguard Worker      rebase_path(android_sdk_jar, root_build_dir),
180*8975f5c5SAndroid Build Coastguard Worker    ]
181*8975f5c5SAndroid Build Coastguard Worker  }
182*8975f5c5SAndroid Build Coastguard Worker
183*8975f5c5SAndroid Build Coastguard Worker  package_apk(target_name) {
184*8975f5c5SAndroid Build Coastguard Worker    forward_variables_from(invoker,
185*8975f5c5SAndroid Build Coastguard Worker                           [
186*8975f5c5SAndroid Build Coastguard Worker                             "keystore_name",
187*8975f5c5SAndroid Build Coastguard Worker                             "keystore_path",
188*8975f5c5SAndroid Build Coastguard Worker                             "keystore_password",
189*8975f5c5SAndroid Build Coastguard Worker                           ])
190*8975f5c5SAndroid Build Coastguard Worker    min_sdk_version = default_min_sdk_version
191*8975f5c5SAndroid Build Coastguard Worker    deps = [ ":$_resource_apk_target_name" ]
192*8975f5c5SAndroid Build Coastguard Worker
193*8975f5c5SAndroid Build Coastguard Worker    packaged_resources_path = _resource_apk_path
194*8975f5c5SAndroid Build Coastguard Worker    output_apk_path = invoker.stub_output
195*8975f5c5SAndroid Build Coastguard Worker  }
196*8975f5c5SAndroid Build Coastguard Worker}
197*8975f5c5SAndroid Build Coastguard Worker
198*8975f5c5SAndroid Build Coastguard Worker# Generates artifacts for system APKs.
199*8975f5c5SAndroid Build Coastguard Worker#
200*8975f5c5SAndroid Build Coastguard Worker# Variables:
201*8975f5c5SAndroid Build Coastguard Worker#   apk_or_bundle_target: Target that creates input bundle or apk.
202*8975f5c5SAndroid Build Coastguard Worker#   input_apk_or_bundle: Path to input .apk or .aab.
203*8975f5c5SAndroid Build Coastguard Worker#   static_library_name: For static library apks, name for the <static-library>.
204*8975f5c5SAndroid Build Coastguard Worker#   static_library_version: For static library apks, version for the
205*8975f5c5SAndroid Build Coastguard Worker#       <static-library> tag (for TrichromeLibrary, we set this to be the same
206*8975f5c5SAndroid Build Coastguard Worker#       as the package's version_code)
207*8975f5c5SAndroid Build Coastguard Worker#   output: Path to the output system .apk or .zip.
208*8975f5c5SAndroid Build Coastguard Worker#   fuse_apk: Fuse all apk splits into a single .apk (default: false).
209*8975f5c5SAndroid Build Coastguard Worker#   stub_output: Path to output stub apk (default: do not create a stub).
210*8975f5c5SAndroid Build Coastguard Worker#
211*8975f5c5SAndroid Build Coastguard Workertemplate("system_image_apks") {
212*8975f5c5SAndroid Build Coastguard Worker  if (defined(invoker.stub_output)) {
213*8975f5c5SAndroid Build Coastguard Worker    _stub_apk_target_name = "${target_name}__stub"
214*8975f5c5SAndroid Build Coastguard Worker    system_image_stub_apk(_stub_apk_target_name) {
215*8975f5c5SAndroid Build Coastguard Worker      forward_variables_from(invoker,
216*8975f5c5SAndroid Build Coastguard Worker                             [
217*8975f5c5SAndroid Build Coastguard Worker                               "static_library_name",
218*8975f5c5SAndroid Build Coastguard Worker                               "static_library_version",
219*8975f5c5SAndroid Build Coastguard Worker                               "override_target_sdk",
220*8975f5c5SAndroid Build Coastguard Worker                             ])
221*8975f5c5SAndroid Build Coastguard Worker      package_info_from_target = invoker.apk_or_bundle_target
222*8975f5c5SAndroid Build Coastguard Worker      stub_output = invoker.stub_output
223*8975f5c5SAndroid Build Coastguard Worker    }
224*8975f5c5SAndroid Build Coastguard Worker  }
225*8975f5c5SAndroid Build Coastguard Worker
226*8975f5c5SAndroid Build Coastguard Worker  action_with_pydeps(target_name) {
227*8975f5c5SAndroid Build Coastguard Worker    script = "//build/android/gyp/system_image_apks.py"
228*8975f5c5SAndroid Build Coastguard Worker    deps = [ invoker.apk_or_bundle_target ]
229*8975f5c5SAndroid Build Coastguard Worker    inputs = [ invoker.input_apk_or_bundle ]
230*8975f5c5SAndroid Build Coastguard Worker    if (defined(invoker.stub_output)) {
231*8975f5c5SAndroid Build Coastguard Worker      public_deps = [ ":$_stub_apk_target_name" ]
232*8975f5c5SAndroid Build Coastguard Worker    }
233*8975f5c5SAndroid Build Coastguard Worker    outputs = [ invoker.output ]
234*8975f5c5SAndroid Build Coastguard Worker    args = [
235*8975f5c5SAndroid Build Coastguard Worker      "--input",
236*8975f5c5SAndroid Build Coastguard Worker      rebase_path(invoker.input_apk_or_bundle, root_out_dir),
237*8975f5c5SAndroid Build Coastguard Worker      "--output",
238*8975f5c5SAndroid Build Coastguard Worker      rebase_path(invoker.output, root_out_dir),
239*8975f5c5SAndroid Build Coastguard Worker    ]
240*8975f5c5SAndroid Build Coastguard Worker
241*8975f5c5SAndroid Build Coastguard Worker    _is_bundle =
242*8975f5c5SAndroid Build Coastguard Worker        filter_exclude([ invoker.input_apk_or_bundle ], [ "*.aab" ]) == []
243*8975f5c5SAndroid Build Coastguard Worker
244*8975f5c5SAndroid Build Coastguard Worker    if (_is_bundle) {
245*8975f5c5SAndroid Build Coastguard Worker      _wrapper_path = "$root_out_dir/bin/" +
246*8975f5c5SAndroid Build Coastguard Worker                      get_label_info(invoker.apk_or_bundle_target, "name")
247*8975f5c5SAndroid Build Coastguard Worker      args += [
248*8975f5c5SAndroid Build Coastguard Worker        "--bundle-wrapper",
249*8975f5c5SAndroid Build Coastguard Worker        rebase_path(_wrapper_path, root_out_dir),
250*8975f5c5SAndroid Build Coastguard Worker      ]
251*8975f5c5SAndroid Build Coastguard Worker      inputs += [ _wrapper_path ]
252*8975f5c5SAndroid Build Coastguard Worker      deps += [ "//build/android:apk_operations_py" ]
253*8975f5c5SAndroid Build Coastguard Worker      if (defined(invoker.fuse_apk) && invoker.fuse_apk) {
254*8975f5c5SAndroid Build Coastguard Worker        args += [ "--fuse-apk" ]
255*8975f5c5SAndroid Build Coastguard Worker      }
256*8975f5c5SAndroid Build Coastguard Worker    }
257*8975f5c5SAndroid Build Coastguard Worker  }
258*8975f5c5SAndroid Build Coastguard Worker}
259