39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# File 'lib/fastlane/actions/carthage.rb', line 39
def self.available_options
[
FastlaneCore::ConfigItem.new(key: :command,
env_name: "FL_CARTHAGE_COMMAND",
description: "Carthage command (one of: #{available_commands.join(', ')})",
default_value: 'bootstrap',
verify_block: proc do |value|
UI.user_error!("Please pass a valid command. Use one of the following: #{available_commands.join(', ')}") unless available_commands.include? value
end),
FastlaneCore::ConfigItem.new(key: :dependencies,
description: "Carthage dependencies to update",
default_value: [],
is_string: false,
type: Array),
FastlaneCore::ConfigItem.new(key: :use_ssh,
env_name: "FL_CARTHAGE_USE_SSH",
description: "Use SSH for downloading GitHub repositories",
is_string: false,
optional: true,
verify_block: proc do |value|
UI.user_error!("Please pass a valid value for use_ssh. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
end),
FastlaneCore::ConfigItem.new(key: :use_submodules,
env_name: "FL_CARTHAGE_USE_SUBMODULES",
description: "Add dependencies as Git submodules",
is_string: false,
optional: true,
verify_block: proc do |value|
UI.user_error!("Please pass a valid value for use_submodules. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
end),
FastlaneCore::ConfigItem.new(key: :use_binaries,
env_name: "FL_CARTHAGE_USE_BINARIES",
description: "Check out dependency repositories even when prebuilt frameworks exist",
is_string: false,
optional: true,
verify_block: proc do |value|
UI.user_error!("Please pass a valid value for use_binaries. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
end),
FastlaneCore::ConfigItem.new(key: :no_build,
env_name: "FL_CARTHAGE_NO_BUILD",
description: "When bootstrapping Carthage do not build",
is_string: false,
optional: true,
verify_block: proc do |value|
UI.user_error!("Please pass a valid value for no_build. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
end),
FastlaneCore::ConfigItem.new(key: :no_skip_current,
env_name: "FL_CARTHAGE_NO_SKIP_CURRENT",
description: "Don't skip building the Carthage project (in addition to its dependencies)",
is_string: false,
optional: true,
verify_block: proc do |value|
UI.user_error!("Please pass a valid value for no_skip_current. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
end),
FastlaneCore::ConfigItem.new(key: :derived_data,
env_name: "FL_CARTHAGE_DERIVED_DATA",
description: "Use derived data folder at path",
optional: true),
FastlaneCore::ConfigItem.new(key: :verbose,
env_name: "FL_CARTHAGE_VERBOSE",
description: "Print xcodebuild output inline",
is_string: false,
optional: true,
verify_block: proc do |value|
UI.user_error!("Please pass a valid value for verbose. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
end),
FastlaneCore::ConfigItem.new(key: :platform,
env_name: "FL_CARTHAGE_PLATFORM",
description: "Define which platform to build for",
optional: true,
verify_block: proc do |value|
value.split(',').each do |platform|
UI.user_error!("Please pass a valid platform. Use one of the following: #{available_platforms.join(', ')}") unless available_platforms.map(&:downcase).include?(platform.downcase)
end
end),
FastlaneCore::ConfigItem.new(key: :configuration,
env_name: "FL_CARTHAGE_CONFIGURATION",
description: "Define which build configuration to use when building",
optional: true,
verify_block: proc do |value|
if value.chomp(' ').empty?
UI.user_error!("Please pass a valid build configuration. You can review the list of configurations for this project using the command: xcodebuild -list")
end
end),
FastlaneCore::ConfigItem.new(key: :toolchain,
env_name: "FL_CARTHAGE_TOOLCHAIN",
description: "Define which xcodebuild toolchain to use when building",
optional: true)
]
end
|