class StructCore::Processor::TargetTargetReferenceComponent
Public Instance Methods
process(reference, target_dsl = nil, dsl = nil, group_dsl = nil, embed_dsl = nil)
click to toggle source
# File lib/spec/processor/target_target_reference.rb, line 8 def process(reference, target_dsl = nil, dsl = nil, group_dsl = nil, embed_dsl = nil) output = nil output = process_xc_reference reference if structure == :spec output = process_spec_reference reference, target_dsl, dsl, group_dsl, embed_dsl if structure == :xcodeproj && !target_dsl.nil? && !dsl.nil? && !group_dsl.nil? && !embed_dsl.nil? output end
process_spec_reference(reference, target_dsl, dsl, group_dsl, embed_dsl)
click to toggle source
@param reference [StructCore::Specfile::Target::TargetReference] @param target_dsl [Xcodeproj::Project::Object::PBXNativeTarget] @param dsl [Xcodeproj::Project]
# File lib/spec/processor/target_target_reference.rb, line 25 def process_spec_reference(reference, target_dsl, dsl, group_dsl, embed_dsl) other_target = dsl.targets.find { |t| t.name == reference.target_name } return nil if other_target.nil? target_dsl.add_dependency other_target return unless other_target.product_type == 'com.apple.product-type.framework' framework = group_dsl.new_file other_target.product_reference.path, 'BUILT_PRODUCTS_DIR' # Link target_dsl.frameworks_build_phase.add_file_reference framework # Embed settings = reference.settings || {} return unless settings.key?('copy') && settings['copy'] == true attributes = ['RemoveHeadersOnCopy'] attributes.push 'CodeSignOnCopy' if settings.key?('codeSignOnCopy') && settings['codeSignOnCopy'] == true (embed_dsl.add_file_reference framework).settings = { 'ATTRIBUTES' => attributes } end
process_xc_reference(reference)
click to toggle source
@param reference [Xcodeproj::Project::Object::PBXNativeTarget]
# File lib/spec/processor/target_target_reference.rb, line 18 def process_xc_reference(reference) StructCore::Specfile::Target::TargetReference.new reference.name end