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