Method: Longbow.create_target

Defined in:
lib/longbow/targets.rb

.create_target(project, target) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/longbow/targets.rb', line 82

def self.create_target project, target
  main_target = project.targets.first
  deployment_target = main_target.deployment_target

  # Create New Target
  new_target = Xcodeproj::Project::ProjectHelper.new_target project, :application, target, :ios, deployment_target, project.products_group, 'en'
  if new_target
    # Add Build Phases
    main_target.build_phases.objects.each do |b|
      if b.isa == 'PBXSourcesBuildPhase'
        b.files_references.each do |f|
          new_target.source_build_phase.add_file_reference f
        end
      elsif b.isa == 'PBXFrameworksBuildPhase'
        b.files_references.each do |f|
          new_target.frameworks_build_phase.add_file_reference f
        end
      elsif b.isa == 'PBXResourcesBuildPhase'
        b.files_references.each do |f|
          new_target.resources_build_phase.add_file_reference f
        end
      elsif b.isa == 'PBXShellScriptBuildPhase'
        phase = new_target.new_shell_script_build_phase(name = b.display_name)
        phase.shell_script = b.shell_script
      end
    end

    Longbow::blue '  ' + target + ' created.' unless $nolog
  else
    puts
    Longbow::red '  Target Creation failed for target named: ' + target
    puts
  end

  return new_target
end