Sha256: 5ebb94d34914fefdd82766fb5267af80bf514f815164c619203b7aa7f9dfe1fc

Contents?: true

Size: 1.58 KB

Versions: 9

Compression:

Stored size: 1.58 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 path 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)
      self.name = name.to_s
      self.settings = {}

      yield(self) if block_given?
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
xcake-0.8.1 lib/xcake/configuration.rb
xcake-0.7.1 lib/xcake/configuration.rb
xcake-0.7.0 lib/xcake/configuration.rb
xcake-0.6.25 lib/xcake/configuration.rb
xcake-0.6.24 lib/xcake/configuration.rb
xcake-0.6.23 lib/xcake/configuration.rb
xcake-0.6.22 lib/xcake/configuration.rb
xcake-0.6.21 lib/xcake/configuration.rb
xcake-0.6.20 lib/xcake/configuration.rb