15f9996aaSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd. 25f9996aaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 35f9996aaSopenharmony_ci# you may not use this file except in compliance with the License. 45f9996aaSopenharmony_ci# You may obtain a copy of the License at 55f9996aaSopenharmony_ci# 65f9996aaSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 75f9996aaSopenharmony_ci# 85f9996aaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 95f9996aaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 105f9996aaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 115f9996aaSopenharmony_ci# See the License for the specific language governing permissions and 125f9996aaSopenharmony_ci# limitations under the License. 135f9996aaSopenharmony_ci 145f9996aaSopenharmony_ciimport("//build/ohos_var.gni") 155f9996aaSopenharmony_ci 165f9996aaSopenharmony_citemplate("collect_module_target") { 175f9996aaSopenharmony_ci forward_variables_from(invoker, 185f9996aaSopenharmony_ci [ 195f9996aaSopenharmony_ci "install_images", 205f9996aaSopenharmony_ci "module_label", 215f9996aaSopenharmony_ci ]) 225f9996aaSopenharmony_ci 235f9996aaSopenharmony_ci # do not collect build targets for host toolchains 245f9996aaSopenharmony_ci if (current_toolchain == host_toolchain) { 255f9996aaSopenharmony_ci group("${target_name}") { 265f9996aaSopenharmony_ci not_needed([ 275f9996aaSopenharmony_ci "module_label", 285f9996aaSopenharmony_ci "install_images", 295f9996aaSopenharmony_ci ]) 305f9996aaSopenharmony_ci } 315f9996aaSopenharmony_ci } else { 325f9996aaSopenharmony_ci if (defined(install_images)) { 335f9996aaSopenharmony_ci module_install_images = [] 345f9996aaSopenharmony_ci module_install_images += install_images 355f9996aaSopenharmony_ci } else { 365f9996aaSopenharmony_ci module_install_images = [ "system" ] 375f9996aaSopenharmony_ci } 385f9996aaSopenharmony_ci 395f9996aaSopenharmony_ci group(target_name) { 405f9996aaSopenharmony_ci metadata = { 415f9996aaSopenharmony_ci collect_targets = [] 425f9996aaSopenharmony_ci foreach(image, module_install_images) { 435f9996aaSopenharmony_ci # Add mapping between image name and target label 445f9996aaSopenharmony_ci collect_targets += [ "${image}||${module_label}" ] 455f9996aaSopenharmony_ci } 465f9996aaSopenharmony_ci } 475f9996aaSopenharmony_ci } 485f9996aaSopenharmony_ci } 495f9996aaSopenharmony_ci} 50