Sha256: 106ea579c42d2dfad8bc9bda7753dcef42ae6b6b190c7030545227e5fe4613cc

Contents?: true

Size: 1.6 KB

Versions: 8

Compression:

Stored size: 1.6 KB

Contents

module Xcake
  # This class repesents configurations
  # in a xcode project. This is an abstraction
  # of Schemes and Build Configurations.
  #
  # This forms part of the DSL and is usally
  # stored in files named `Cakefile`.
  #
  # It holds the build settings and defines
  # how many schemes are created for each
  # target.
  #
  class Configuration

    include Visitable

    # @return [String] the name of the configuration
    #
    attr_accessor :name

    # @return [Symbol] the type of the configuration, either :debug or :release
    #
    attr_accessor :type

    # the settings for the configuration
    # this is what is used for the build settings
    # for the build configuration.
    #
    # @return [Hash<String, String>] the settings for the configuration
    #
    attr_accessor :settings

    # @return [String] the name of the xcconfig file to use for
    #         the build configuration.
    #
    #         This is resolved to a PBXFileReference.
    #
    attr_accessor :configuration_file

    # @param    [String] name
    #           the name of the configuration.
    #           This is used for the build configuration name.
    #
    # @param    [Proc] block
    #           an optional block that configures the
    #           configuration through the DSL.
    #
    # @example  Creating a Configuration.
    #
    #           Configuration.new :debug do |c|
    #             c.settings["INFO_PLIST"] = "./myapp/info.plist"
    #           end
    #
    def initialize(name, &block)
      self.name = name.to_s
      self.settings = {}

      block.call(self) if block_given?
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
xcake-0.6.19 lib/xcake/configuration.rb
xcake-0.6.18 lib/xcake/configuration.rb
xcake-0.6.17 lib/xcake/configuration.rb
xcake-0.6.16 lib/xcake/configuration.rb
xcake-0.6.14 lib/xcake/configuration.rb
xcake-0.6.13 lib/xcake/configuration.rb
xcake-0.6.12 lib/xcake/configuration.rb
xcake-0.6.11 lib/xcake/configuration.rb