Class: Fastlane::Actions::XcodeSelectAction
Overview
See: 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.
Constant Summary
Fastlane::Action::AVAILABLE_CATEGORIES, Fastlane::Action::RETURN_TYPES
Class Method Summary
collapse
action_name, authors, available_options, deprecated_notes, lane_context, method_missing, other_action, output, return_type, return_value, sample_return_value, shell_out_should_use_bundle_exec?, step_text
Class Method Details
.author ⇒ Object
44
45
46
|
# File 'fastlane/lib/fastlane/actions/xcode_select.rb', line 44
def self.author
"dtrenz"
end
|
.category ⇒ Object
58
59
60
|
# File 'fastlane/lib/fastlane/actions/xcode_select.rb', line 58
def self.category
:building
end
|
.description ⇒ Object
36
37
38
|
# File 'fastlane/lib/fastlane/actions/xcode_select.rb', line 36
def self.description
"Change the xcode-path to use. Useful for beta versions of Xcode"
end
|
.details ⇒ Object
40
41
42
|
# File 'fastlane/lib/fastlane/actions/xcode_select.rb', line 40
def self.details
"Select and build with the Xcode installed at the provided path. Use the `xcversion` action if you want to select an Xcode based on a version specifier or you don't have known, stable paths as may happen in a CI environment."
end
|
.example_code ⇒ Object
52
53
54
55
56
|
# File 'fastlane/lib/fastlane/actions/xcode_select.rb', line 52
def self.example_code
[
'xcode_select("/Applications/Xcode-8.3.2.app")'
]
end
|
.is_supported?(platform) ⇒ Boolean
48
49
50
|
# File 'fastlane/lib/fastlane/actions/xcode_select.rb', line 48
def self.is_supported?(platform)
[:ios, :mac].include?(platform)
end
|
.run(params) ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'fastlane/lib/fastlane/actions/xcode_select.rb', line 21
def self.run(params)
params = nil unless params.kind_of?(Array)
xcode_path = (params || []).first
UI.user_error!("Path to Xcode application required (e.g. `xcode_select(\"/Applications/Xcode.app\")`)") unless xcode_path.to_s.length > 0
UI.user_error!("Path '#{xcode_path}' doesn't exist") unless Dir.exist?(xcode_path)
UI.message("Setting Xcode version to #{xcode_path} for all build steps")
ENV["DEVELOPER_DIR"] = File.join(xcode_path, "/Contents/Developer")
end
|