Class: Pod::Installer::Xcode::PodsProjectGenerator::TargetInstallationResult
- Inherits:
-
Object
- Object
- Pod::Installer::Xcode::PodsProjectGenerator::TargetInstallationResult
- Defined in:
- lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb
Overview
A simple container produced after a target installation is completed.
Instance Attribute Summary collapse
-
#app_native_targets ⇒ Hash{Specification => PBXNativeTarget}
readonly
App_native_targets The app native targets that were produced for this target.
-
#app_resource_bundle_targets ⇒ Hash{String=>Array<PBXNativeTarget>}
readonly
App_resource_bundle_targets The app resource bundle targets that were produced for this target keyed by app spec name.
-
#native_target ⇒ PBXNativeTarget
readonly
Native_target The native target that was produced for this target.
-
#resource_bundle_targets ⇒ Array<PBXNativeTarget>
readonly
Resource_bundle_targets The resource bundle targets that were produced for this target.
-
#target ⇒ Target
readonly
Target The target this installation result is for.
-
#test_app_host_targets ⇒ Array<PBXNativeTarget>
readonly
Test_app_host_targets The test app host native targets that were produced for this target.
-
#test_native_targets ⇒ Array<PBXNativeTarget>
readonly
Test_native_targets The test native targets that were produced for this target.
-
#test_resource_bundle_targets ⇒ Hash{String=>Array<PBXNativeTarget>}
readonly
Test_resource_bundle_targets The test resource bundle targets that were produced for this target keyed by test spec name.
Instance Method Summary collapse
-
#app_host_target_labelled(label) ⇒ PBXNativeTarget
The app host target with the given target label.
-
#app_specs_by_native_target ⇒ Hash{PBXNativeTarget => Specification}
A hash where the keys are the app native targets and the value is the app spec associated with this native target.
-
#initialize(target, native_target, resource_bundle_targets = [], test_native_targets = [], test_resource_bundle_targets = {}, test_app_host_targets = [], app_native_targets = {}, app_resource_bundle_targets = {}) ⇒ TargetInstallationResult
constructor
Initialize a new instance.
-
#native_target_for_spec(spec) ⇒ PBXNativeTarget, Nil
Returns the corresponding native target to use based on the provided specification.
-
#non_library_specs_by_native_target ⇒ Hash{PBXNativeTarget => Specification}
A hash where the keys are the native targets and the value is the non-library spec associated with this native target.
-
#test_specs_by_native_target ⇒ Hash{PBXNativeTarget => Specification}
A hash where the keys are the test native targets and the value is the test spec associated with this native target.
Constructor Details
#initialize(target, native_target, resource_bundle_targets = [], test_native_targets = [], test_resource_bundle_targets = {}, test_app_host_targets = [], app_native_targets = {}, app_resource_bundle_targets = {}) ⇒ TargetInstallationResult
Initialize a new instance
64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 64 def initialize(target, native_target, resource_bundle_targets = [], test_native_targets = [], test_resource_bundle_targets = {}, test_app_host_targets = [], app_native_targets = {}, app_resource_bundle_targets = {}) @target = target @native_target = native_target @resource_bundle_targets = resource_bundle_targets @test_native_targets = test_native_targets @test_resource_bundle_targets = test_resource_bundle_targets @test_app_host_targets = test_app_host_targets @app_native_targets = app_native_targets @app_resource_bundle_targets = app_resource_bundle_targets end |
Instance Attribute Details
#app_native_targets ⇒ Hash{Specification => PBXNativeTarget} (readonly)
45 46 47 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 45 def app_native_targets @app_native_targets end |
#app_resource_bundle_targets ⇒ Hash{String=>Array<PBXNativeTarget>} (readonly)
51 52 53 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 51 def app_resource_bundle_targets @app_resource_bundle_targets end |
#native_target ⇒ PBXNativeTarget (readonly)
16 17 18 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 16 def native_target @native_target end |
#resource_bundle_targets ⇒ Array<PBXNativeTarget> (readonly)
22 23 24 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 22 def resource_bundle_targets @resource_bundle_targets end |
#target ⇒ Target (readonly)
11 12 13 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 11 def target @target end |
#test_app_host_targets ⇒ Array<PBXNativeTarget> (readonly)
39 40 41 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 39 def test_app_host_targets @test_app_host_targets end |
#test_native_targets ⇒ Array<PBXNativeTarget> (readonly)
28 29 30 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 28 def test_native_targets @test_native_targets end |
#test_resource_bundle_targets ⇒ Hash{String=>Array<PBXNativeTarget>} (readonly)
34 35 36 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 34 def test_resource_bundle_targets @test_resource_bundle_targets end |
Instance Method Details
#app_host_target_labelled(label) ⇒ PBXNativeTarget
117 118 119 120 121 122 123 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 117 def app_host_target_labelled(label) app_native_targets.values.find do |app_native_target| app_native_target.name == label end || test_app_host_targets.find do |app_native_target| app_native_target.name == label end end |
#app_specs_by_native_target ⇒ Hash{PBXNativeTarget => Specification}
101 102 103 104 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 101 def app_specs_by_native_target app_specs_by_native_target = Hash[target.app_specs.map { |spec| [app_native_target_from_spec(spec), spec] }] app_specs_by_native_target.delete_if { |k, _| k.nil? } end |
#native_target_for_spec(spec) ⇒ PBXNativeTarget, Nil
Returns the corresponding native target to use based on the provided specification.
84 85 86 87 88 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 84 def native_target_for_spec(spec) return native_target if spec.library_specification? return test_native_target_from_spec(spec) if spec.test_specification? app_native_target_from_spec(spec) if spec.app_specification? end |
#non_library_specs_by_native_target ⇒ Hash{PBXNativeTarget => Specification}
109 110 111 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 109 def non_library_specs_by_native_target test_specs_by_native_target.merge(app_specs_by_native_target) end |
#test_specs_by_native_target ⇒ Hash{PBXNativeTarget => Specification}
93 94 95 96 |
# File 'lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb', line 93 def test_specs_by_native_target test_specs_by_native_target = Hash[target.test_specs.map { |spec| [test_native_target_from_spec(spec), spec] }] test_specs_by_native_target.delete_if { |k, _| k.nil? } end |