30
31
32
33
34
35
36
37
38
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
|
# File 'lib/fastlane/plugin/saucectl/actions/sauce_upload_action.rb', line 30
def self.available_options
[
FastlaneCore::ConfigItem.new(key: :platform,
description: "application under test platform (ios or android)",
optional: false,
is_string: true,
verify_block: proc do |value|
UI.user_error!(@messages['platform_error']) if value.to_s.empty?
end),
FastlaneCore::ConfigItem.new(key: :file,
description: "File to upload to sauce storage",
optional: false,
is_string: true,
verify_block: proc do |value|
UI.user_error!(@messages['file_error']) unless value && !value.empty?
if value
UI.user_error!("Could not find file to upload \"#{value}\" ") unless File.exist?(value)
extname = File.extname(value)
UI.user_error!("Extension not supported for \"#{value}\" ") unless @messages['accepted_file_types'].include?(extname)
end
end),
FastlaneCore::ConfigItem.new(key: :app,
description: "Name of the application to be uploaded",
optional: false,
is_string: true,
verify_block: proc do |value|
UI.user_error!(@messages['app_name_error']) unless value && !value.empty?
end),
FastlaneCore::ConfigItem.new(key: :region,
description: "Data Center region (us or eu), set using: region: 'eu'",
optional: false,
is_string: true,
verify_block: proc do |value|
UI.user_error!(@messages['region_error'].gsub!('$region', value)) unless @messages['supported_regions'].include?(value)
end),
FastlaneCore::ConfigItem.new(key: :sauce_username,
env_name: "SAUCE_USERNAME",
description: "Your sauce labs username in order to authenticate upload requests",
default_value: Actions.lane_context[SharedValues::SAUCE_USERNAME],
optional: false,
type: String,
verify_block: proc do |value|
UI.user_error!(@messages['sauce_username_error']) unless value && !value.empty?
end),
FastlaneCore::ConfigItem.new(key: :sauce_access_key,
env_name: "SAUCE_ACCESS_KEY",
description: "Your sauce labs access key in order to authenticate upload requests",
default_value: Actions.lane_context[SharedValues::SAUCE_ACCESS_KEY],
optional: false,
type: String,
verify_block: proc do |value|
UI.user_error!(@messages['sauce_api_key_error']) unless value && !value.empty?
end),
FastlaneCore::ConfigItem.new(key: :app_description,
description: "A description of the artifact (optional, 1-255 chars)",
optional: true,
is_string: true,
type: String,
verify_block: proc do |value|
UI.user_error!(@messages['description_malformed']) unless value && !value.empty? && value.to_s.length < 256
end)
]
end
|