Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import("//build/config/ios/ios_sdk.gni") | 5 import("//build/config/ios/ios_sdk.gni") |
| 6 import("//build/config/mac/rules.gni") | 6 import("//build/config/mac/rules.gni") |
| 7 | 7 |
| 8 template("ios_info_plist") { | |
| 9 assert(defined(invoker.info_plist), | |
|
Robert Sesek
2016/04/21 15:36:21
I think you can rely on the asserts in the info_pl
Patti Lor
2016/04/22 02:49:55
Done.
| |
| 10 "The Info.plist file must be specified for $target_name") | |
| 11 assert(defined(invoker._output_name), | |
| 12 "The output_name file must be specified for $target_name") | |
| 13 | |
| 14 info_plist(target_name) { | |
| 15 extra_substitutions = [] | |
| 16 if (defined(invoker.extra_substitutions)) { | |
| 17 extra_substitutions = invoker.extra_substitutions | |
| 18 } | |
| 19 extra_substitutions += [ | |
| 20 "IOS_DEPLOYMENT_TARGET=$ios_deployment_target", | |
| 21 "IOS_PLATFORM_BUILD=$ios_platform_build", | |
| 22 "IOS_PLATFORM_NAME=$ios_sdk_name", | |
| 23 "IOS_PLATFORM_VERSION=$ios_sdk_version", | |
| 24 "IOS_SDK_BUILD=$ios_sdk_build", | |
| 25 "IOS_SDK_NAME=$ios_sdk_name$ios_sdk_version", | |
| 26 "IOS_SUPPORTED_PLATFORM=$ios_sdk_platform", | |
| 27 ] | |
| 28 plist_templates = [ | |
| 29 "//build/config/ios/BuildInfo.plist", | |
| 30 invoker.info_plist, | |
| 31 ] | |
| 32 forward_variables_from(invoker, [ "_output_name" ]) | |
| 33 } | |
| 34 } | |
| 35 | |
| 8 # TODO(crbug.com/297668): refactor this template to extract common behaviour | 36 # TODO(crbug.com/297668): refactor this template to extract common behaviour |
| 9 # between OS X and iOS bundle generation, then create a generic "app" template | 37 # between OS X and iOS bundle generation, then create a generic "app" template |
| 10 # that forward to "executable" on all platform except iOS/OS X. | 38 # that forward to "executable" on all platform except iOS/OS X. |
| 11 | 39 |
| 12 # Template to build an application bundle for iOS. | 40 # Template to build an application bundle for iOS. |
| 13 # | 41 # |
| 14 # This should be used instead of "executable" built-in target type on iOS. | 42 # This should be used instead of "executable" built-in target type on iOS. |
| 15 # As the template forward the generation of the application executable to | 43 # As the template forward the generation of the application executable to |
| 16 # an "executable" target, all arguments supported by "executable" targets | 44 # an "executable" target, all arguments supported by "executable" targets |
| 17 # are also supported by this template. | 45 # are also supported by this template. |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 38 | 66 |
| 39 _output_name = target_name | 67 _output_name = target_name |
| 40 _target_name = target_name | 68 _target_name = target_name |
| 41 if (defined(invoker.output_name)) { | 69 if (defined(invoker.output_name)) { |
| 42 _output_name = invoker.output_name | 70 _output_name = invoker.output_name |
| 43 } | 71 } |
| 44 | 72 |
| 45 _generate_info_plist = target_name + "_generate_info_plist" | 73 _generate_info_plist = target_name + "_generate_info_plist" |
| 46 _bundle_data_info_plist = target_name + "_bundle_data_info_plist" | 74 _bundle_data_info_plist = target_name + "_bundle_data_info_plist" |
| 47 | 75 |
| 48 action(_generate_info_plist) { | 76 ios_info_plist(_generate_info_plist) { |
| 49 visibility = [ ":$_bundle_data_info_plist" ] | 77 forward_variables_from(invoker, |
| 50 script = "//build/config/ios/ios_gen_plist.py" | 78 [ |
| 51 sources = [ | 79 "extra_substitutions", |
| 52 "//build/config/ios/BuildInfo.plist", | 80 "info_plist", |
| 53 invoker.info_plist, | 81 "_output_name", |
| 54 ] | 82 ]) |
| 55 outputs = [ | |
| 56 "$target_gen_dir/$target_name/Info.plist", | |
| 57 ] | |
| 58 extra_args = [] | |
| 59 if (defined(invoker.extra_substitutions)) { | |
| 60 foreach(substitution, invoker.extra_substitutions) { | |
| 61 extra_args += [ "-s=$substitution" ] | |
| 62 } | |
| 63 } | |
| 64 response_file_contents = | |
| 65 extra_args + [ | |
| 66 "-s=BUILD_MACHINE_OS_BUILD=$machine_os_build", | |
| 67 "-s=EXECUTABLE_NAME=$_output_name", | |
| 68 "-s=GCC_VERSION=com.apple.compilers.llvm.clang.1_0", | |
| 69 "-s=IOS_DEPLOYMENT_TARGET=$ios_deployment_target", | |
| 70 "-s=IOS_PLATFORM_BUILD=$ios_platform_build", | |
| 71 "-s=IOS_PLATFORM_NAME=$ios_sdk_name", | |
| 72 "-s=IOS_PLATFORM_VERSION=$ios_sdk_version", | |
| 73 "-s=IOS_SDK_BUILD=$ios_sdk_build", | |
| 74 "-s=IOS_SDK_NAME=$ios_sdk_name$ios_sdk_version", | |
| 75 "-s=IOS_SUPPORTED_PLATFORM=$ios_sdk_platform", | |
| 76 "-s=PRODUCT_NAME=$_output_name", | |
| 77 "-s=XCODE_BUILD=$xcode_build", | |
| 78 "-s=XCODE_VERSION=$xcode_version", | |
| 79 "-o=" + rebase_path(outputs[0], root_out_dir), | |
| 80 ] + rebase_path(sources, root_out_dir) | |
| 81 args = [ "@{{response_file_name}}" ] | |
| 82 } | 83 } |
| 83 | 84 |
| 84 bundle_data(_bundle_data_info_plist) { | 85 bundle_data(_bundle_data_info_plist) { |
| 85 forward_variables_from(invoker, [ "testonly" ]) | 86 forward_variables_from(invoker, [ "testonly" ]) |
| 86 visibility = [ ":$_target_name" ] | 87 visibility = [ ":$_target_name" ] |
| 87 sources = get_target_outputs(":$_generate_info_plist") | 88 sources = get_target_outputs(":$_generate_info_plist") |
| 88 outputs = [ | 89 outputs = [ |
| 89 "{{bundle_root_dir}}/Info.plist", | 90 "{{bundle_root_dir}}/Info.plist", |
| 90 ] | 91 ] |
| 91 public_deps = [ | 92 public_deps = [ |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 363 "visibility", | 364 "visibility", |
| 364 "public_configs", | 365 "public_configs", |
| 365 ]) | 366 ]) |
| 366 | 367 |
| 367 public_deps = [ | 368 public_deps = [ |
| 368 ":$_framework_target", | 369 ":$_framework_target", |
| 369 ] | 370 ] |
| 370 } | 371 } |
| 371 } | 372 } |
| 372 } | 373 } |
| OLD | NEW |