class Xcake::DefaultProjectStructureGenerator
This class handles generating the default structure of a project. Making sure that the structure of the project is one Xcode
can open and makes sense.
It will create default configurations or schemes if none are provided and will make sure both the project and targets have all of the same configurations.
Public Class Methods
dependencies()
click to toggle source
# File lib/xcake/generator/default_project_structure_generator.rb, line 11 def self.dependencies [ProjectMetadataGenerator, TargetGenerator] end
Public Instance Methods
leave_configuration(configuration)
click to toggle source
# File lib/xcake/generator/default_project_structure_generator.rb, line 57 def leave_configuration(configuration) end
leave_project(project)
click to toggle source
# File lib/xcake/generator/default_project_structure_generator.rb, line 25 def leave_project(project) end
leave_target(target)
click to toggle source
# File lib/xcake/generator/default_project_structure_generator.rb, line 51 def leave_target(target) end
visit_configuration(configuration)
click to toggle source
# File lib/xcake/generator/default_project_structure_generator.rb, line 54 def visit_configuration(configuration) end
visit_project(project)
click to toggle source
# File lib/xcake/generator/default_project_structure_generator.rb, line 15 def visit_project(project) EventHooks.run_hook :before_resolving_project_structure, project @project = project # Make sure we always have a Release and Debug configuration as Xcode expects these # and these fixes bugs that can happen. @project.debug_configuration @project.release_configuration end
visit_target(target)
click to toggle source
# File lib/xcake/generator/default_project_structure_generator.rb, line 28 def visit_target(target) EventHooks.run_hook :before_resolving_target_structure, target @project.all_configurations.each do |c| target.configuration(c.name, c.type) end native_target = @context.native_object_for(target) return if native_target.test_target_type? return unless target.schemes.empty? target.all_configurations.each do |c| target.scheme "#{target.name}-#{c.name}" do |s| s.test_configuration = c.name s.launch_configuration = c.name s.profile_configuration = c.name s.analyze_configuration = c.name s.archive_configuration = c.name end end end