| Index: build/config/ios/rules.gni
|
| diff --git a/build/config/ios/rules.gni b/build/config/ios/rules.gni
|
| index 3e2b4f4ce15a664e5fe3277f9cca31f2f91d2d23..4181fc6b146734c1bd79a6967334c4f26465abaf 100644
|
| --- a/build/config/ios/rules.gni
|
| +++ b/build/config/ios/rules.gni
|
| @@ -9,8 +9,13 @@ import("//build/config/mac/base_rules.gni")
|
| # Arguments
|
| #
|
| # info_plist:
|
| -# string, the path to an plist file that will be included in the final
|
| -# Info.plist generated.
|
| +# (optional) string, path to the Info.plist file that will be used for
|
| +# the bundle.
|
| +#
|
| +# info_plist_target:
|
| +# (optional) string, if the info_plist is generated from an action,
|
| +# rather than a regular source file, specify the target name in lieu
|
| +# of info_plist. The two arguments are mutually exclusive.
|
| #
|
| # executable_name:
|
| # string, name of the generated target used for the product
|
| @@ -20,6 +25,17 @@ import("//build/config/mac/base_rules.gni")
|
| # (optional) string array, 'key=value' pairs for extra fields which are
|
| # specified in a source Info.plist template.
|
| template("ios_info_plist") {
|
| + assert(defined(invoker.info_plist) != defined(invoker.info_plist_target),
|
| + "Only one of info_plist or info_plist_target may be specified in " +
|
| + target_name)
|
| +
|
| + if (defined(invoker.info_plist)) {
|
| + _info_plist = invoker.info_plist
|
| + } else {
|
| + _info_plist_target_output = get_target_outputs(invoker.info_plist_target)
|
| + _info_plist = _info_plist_target_output[0]
|
| + }
|
| +
|
| info_plist(target_name) {
|
| format = "binary1"
|
| extra_substitutions = []
|
| @@ -37,8 +53,13 @@ template("ios_info_plist") {
|
| ]
|
| plist_templates = [
|
| "//build/config/ios/BuildInfo.plist",
|
| - invoker.info_plist,
|
| + _info_plist,
|
| ]
|
| + if (defined(invoker.info_plist_target)) {
|
| + deps = [
|
| + invoker.info_plist_target,
|
| + ]
|
| + }
|
| forward_variables_from(invoker,
|
| [
|
| "executable_name",
|
| @@ -71,8 +92,13 @@ template("ios_info_plist") {
|
| # the application Info.plist
|
| #
|
| # info_plist:
|
| -# path to the template to use to generate the application Info.plist
|
| -# by performing variable substitutions.
|
| +# (optional) string, path to the Info.plist file that will be used for
|
| +# the bundle.
|
| +#
|
| +# info_plist_target:
|
| +# (optional) string, if the info_plist is generated from an action,
|
| +# rather than a regular source file, specify the target name in lieu
|
| +# of info_plist. The two arguments are mutually exclusive.
|
| #
|
| # bundle_extension:
|
| # (optional) bundle extension including the dot, default to ".app".
|
| @@ -84,9 +110,6 @@ template("ios_info_plist") {
|
| #
|
| # For more information, see "gn help executable".
|
| template("ios_app_bundle") {
|
| - assert(defined(invoker.info_plist),
|
| - "info_plist must be specified for target $target_name")
|
| -
|
| _output_name = target_name
|
| _target_name = target_name
|
| if (defined(invoker.output_name)) {
|
| @@ -102,6 +125,7 @@ template("ios_app_bundle") {
|
| [
|
| "extra_substitutions",
|
| "info_plist",
|
| + "info_plist_target",
|
| ])
|
| }
|
|
|
| @@ -131,6 +155,7 @@ template("ios_app_bundle") {
|
| "data_deps",
|
| "entitlements_path",
|
| "info_plist",
|
| + "info_plist_target",
|
| "output_name",
|
| "product_type",
|
| "visibility",
|
| @@ -230,8 +255,13 @@ template("ios_app_bundle") {
|
| # the application Info.plist
|
| #
|
| # info_plist:
|
| -# path to the template to use to generate the application Info.plist
|
| -# by performing variable substitutions.
|
| +# (optional) string, path to the Info.plist file that will be used for
|
| +# the bundle.
|
| +#
|
| +# info_plist_target:
|
| +# (optional) string, if the info_plist is generated from an action,
|
| +# rather than a regular source file, specify the target name in lieu
|
| +# of info_plist. The two arguments are mutually exclusive.
|
| #
|
| # For more information, see "gn help executable".
|
| template("ios_appex_bundle") {
|
|
|