Sha256: 8b1c781f88d553b1a4f63f31a3b921456c2f37f68c2dac50d14186fd99aa3d3c

Contents?: true

Size: 1.24 KB

Versions: 5

Compression:

Stored size: 1.24 KB

Contents

module Xcake
  # This class handles resolving the structure
  # of a project. Making sure that the structure of the
  # project is one Xcode can open and makes sense.
  #
  # As part of this it will create default configurations
  # if none are provided and will make sure both the project
  # and targets have all of the same configurations.
  class ProjectStructureResolver

    include Visitor

    # @return [Project] the project to resolve structure for
    attr_accessor :project

    protected

    def visit_project(project)

      puts "Resolving Project..."

      @project = project

      @project.debug_configuration :debug if @project.debug_configurations.count == 0
      @project.release_configuration :release if @project.release_configurations.count == 0
    end

    def leave_project(project)
    end

    def visit_target(target)

      puts "Resolving target #{target.name}..."

      @project.debug_configurations.each do |b|
        target.debug_configuration(b.name)
      end

      @project.release_configurations.each do |b|
        target.release_configuration(b.name)
      end
    end

    def leave_target(target)
    end

    def visit_configuration(configuration)
    end

    def leave_configuration(configuration)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
xcake-0.1.9 lib/xcake/project_structure_resolver.rb
xcake-0.1.8 lib/xcake/project_structure_resolver.rb
xcake-0.1.7 lib/xcake/project_structure_resolver.rb
xcake-0.1.6 lib/xcake/project_structure_resolver.rb
xcake-0.1.5 lib/xcake/project_structure_resolver.rb