| # Copyright 2021 The Chromium Authors. All rights reserved. | 
 | # Use of this source code is governed by a BSD-style license that can be | 
 | # found in the LICENSE file. | 
 |  | 
 | import("//build/apple/compile_plist.gni") | 
 |  | 
 | # The base template used to generate Info.plist files for iOS and Mac apps and | 
 | # frameworks. | 
 | # | 
 | # Arguments | 
 | # | 
 | #     plist_templates: | 
 | #         string array, paths to plist files which will be used for the bundle. | 
 | # | 
 | #     executable_name: | 
 | #         string, name of the generated target used for the product | 
 | #         and executable name as specified in the output Info.plist. | 
 | # | 
 | #     format: | 
 | #         string, the format to `plutil -convert` the plist to when | 
 | #         generating the output. | 
 | # | 
 | #     extra_substitutions: | 
 | #         (optional) string array, 'key=value' pairs for extra fields which are | 
 | #         specified in a source Info.plist template. | 
 | # | 
 | #     output_name: | 
 | #         (optional) string, name of the generated plist file, default to | 
 | #         "$target_gen_dir/$target_name.plist". | 
 | template("apple_info_plist") { | 
 |   assert(defined(invoker.executable_name), | 
 |          "The executable_name must be specified for $target_name") | 
 |   executable_name = invoker.executable_name | 
 |  | 
 |   compile_plist(target_name) { | 
 |     forward_variables_from(invoker, | 
 |                            [ | 
 |                              "plist_templates", | 
 |                              "testonly", | 
 |                              "deps", | 
 |                              "visibility", | 
 |                              "format", | 
 |                            ]) | 
 |  | 
 |     if (defined(invoker.output_name)) { | 
 |       output_name = invoker.output_name | 
 |     } else { | 
 |       output_name = "$target_gen_dir/$target_name.plist" | 
 |     } | 
 |  | 
 |     substitutions = [ | 
 |       "EXECUTABLE_NAME=$executable_name", | 
 |       "GCC_VERSION=com.apple.compilers.llvm.clang.1_0", | 
 |       "PRODUCT_NAME=$executable_name", | 
 |     ] | 
 |     if (defined(invoker.extra_substitutions)) { | 
 |       substitutions += invoker.extra_substitutions | 
 |     } | 
 |   } | 
 | } |