Unverified Commit ae22dc77 authored by Dimitris Koutsogiorgas's avatar Dimitris Koutsogiorgas Committed by GitHub

Merge pull request #7658 from dnkoutso/framework_file_references_regression

Do not crash in pods project generation when adding framework file references to stub targets
parents 644280b5 c2505623
...@@ -338,7 +338,7 @@ module Pod ...@@ -338,7 +338,7 @@ module Pod
end end
def add_framework_file_reference_to_native_target(native_target, pod_target, dependent_target, frameworks_group) def add_framework_file_reference_to_native_target(native_target, pod_target, dependent_target, frameworks_group)
if pod_target.requires_frameworks? && !pod_target.static_framework? && dependent_target.should_build? if pod_target.should_build? && pod_target.requires_frameworks? && !pod_target.static_framework? && dependent_target.should_build?
product_ref = frameworks_group.files.find { |f| f.path == dependent_target.product_name } || product_ref = frameworks_group.files.find { |f| f.path == dependent_target.product_name } ||
frameworks_group.new_product_ref_for_target(dependent_target.product_basename, dependent_target.product_type) frameworks_group.new_product_ref_for_target(dependent_target.product_basename, dependent_target.product_type)
native_target.frameworks_build_phase.add_file_reference(product_ref, true) native_target.frameworks_build_phase.add_file_reference(product_ref, true)
......
...@@ -240,6 +240,27 @@ module Pod ...@@ -240,6 +240,27 @@ module Pod
] ]
end end
it 'adds framework file references for framework pod targets that require building' do
@orangeframework_pod_target.stubs(:requires_frameworks?).returns(true)
@coconut_ios_pod_target.stubs(:requires_frameworks?).returns(true)
@coconut_ios_pod_target.stubs(:should_build?).returns(true)
@generator.generate!
native_target = @generator.project.targets.find { |t| t.name == 'CoconutLib-iOS' }
native_target.isa.should == 'PBXNativeTarget'
native_target.frameworks_build_phase.file_display_names.sort.should == [
'Foundation.framework',
'OrangeFramework.framework',
]
end
it 'does not add framework references for framework pod targets that do not require building' do
@orangeframework_pod_target.stubs(:requires_frameworks?).returns(true)
@coconut_ios_pod_target.stubs(:requires_frameworks?).returns(true)
@coconut_ios_pod_target.stubs(:should_build?).returns(false)
@generator.generate!
@generator.project.targets.find { |t| t.name == 'CoconutLib-iOS' }.isa.should == 'PBXAggregateTarget'
end
it 'configures APPLICATION_EXTENSION_API_ONLY for pod targets of an aggregate target' do it 'configures APPLICATION_EXTENSION_API_ONLY for pod targets of an aggregate target' do
user_target = stub('SampleApp-iOS-User-Target', :symbol_type => :app_extension) user_target = stub('SampleApp-iOS-User-Target', :symbol_type => :app_extension)
@ios_target.stubs(:user_targets).returns([user_target]) @ios_target.stubs(:user_targets).returns([user_target])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment