Sha256: 2fb7ef9a0e3f1c973ac6b0c92c0fca3a09bcba90def666cf29102da714f586d6

Contents?: true

Size: 1.99 KB

Versions: 35

Compression:

Stored size: 1.99 KB

Contents

module Fastlane
  module Actions
    # See: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcode-select.1.html
    #
    # DESCRIPTION
    #   xcode-select controls the location of the developer directory used by xcrun(1), xcodebuild(1), cc(1),
    #   and other Xcode and BSD development tools. This also controls the locations that are searched for  by
    #   man(1) for developer tool manpages.
    #
    # DEVELOPER_DIR
    #   Overrides the active developer directory. When DEVELOPER_DIR  is  set,  its  value  will  be  used
    #   instead of the system-wide active developer directory.
    #
    #   Note that for historical reason, the developer directory is considered to be the Developer content
    #   directory inside the Xcode application (for  example  /Applications/Xcode.app/Contents/Developer).
    #   You  can  set  the  environment variable to either the actual Developer contents directory, or the
    #   Xcode application directory -- the xcode-select provided  shims  will  automatically  convert  the
    #   environment variable into the full Developer content path.
    #
    class XcodeSelectAction < Action
      def self.run(params)
        params = nil unless params.kind_of? Array
        xcode_path = (params || []).first

        # Verify that a param was passed in
        raise "Path to Xcode application required (e.x. \"/Applications/Xcode.app\")".red unless xcode_path.to_s.length > 0

        # Verify that a path to a directory was passed in
        raise "Path '#{xcode_path}' doesn't exist".red unless Dir.exist?(xcode_path)

        Helper.log.info "Setting Xcode version to #{xcode_path} for all build steps"

        ENV["DEVELOPER_DIR"] = xcode_path + "/Contents/Developer"
      end

      def self.description
        "Change the xcode-path to use. Useful for beta versions of Xcode"
      end

      def self.author
        "dtrenz"
      end

      def self.is_supported?(platform)
        [:ios, :mac].include? platform
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
fastlane-1.36.4 lib/fastlane/actions/xcode_select.rb
fastlane-1.36.3 lib/fastlane/actions/xcode_select.rb
fastlane-1.36.2 lib/fastlane/actions/xcode_select.rb
fastlane-1.36.1 lib/fastlane/actions/xcode_select.rb
fastlane-1.36.0 lib/fastlane/actions/xcode_select.rb
fastlane-1.35.0 lib/fastlane/actions/xcode_select.rb
fastlane-1.34.0 lib/fastlane/actions/xcode_select.rb
fastlane-1.33.6 lib/fastlane/actions/xcode_select.rb
fastlane-1.33.5 lib/fastlane/actions/xcode_select.rb
fastlane-1.33.4 lib/fastlane/actions/xcode_select.rb
fastlane-1.33.3 lib/fastlane/actions/xcode_select.rb
fastlane-1.33.2 lib/fastlane/actions/xcode_select.rb
fastlane-1.33.1 lib/fastlane/actions/xcode_select.rb
fastlane-1.33.0 lib/fastlane/actions/xcode_select.rb
fastlane-1.32.4 lib/fastlane/actions/xcode_select.rb
fastlane-1.32.3 lib/fastlane/actions/xcode_select.rb
fastlane-1.32.2 lib/fastlane/actions/xcode_select.rb
fastlane-1.32.1 lib/fastlane/actions/xcode_select.rb
fastlane-1.32.0 lib/fastlane/actions/xcode_select.rb
fastlane-1.31.0 lib/fastlane/actions/xcode_select.rb