Class: Fastlane::Actions::BuildAndUploadToAppetizeAction
Constant Summary
Fastlane::Action::AVAILABLE_CATEGORIES
Class Method Summary
collapse
action_name, author, lane_context, method_missing, other_action, sample_return_value, sh, step_text
Class Method Details
.authors ⇒ Object
74
75
76
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 74
def self.authors
["KrauseFx"]
end
|
.available_options ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 47
def self.available_options
[
FastlaneCore::ConfigItem.new(key: :xcodebuild,
description: "Parameters that are passed to the xcodebuild action",
type: Hash,
default_value: {},
short_option: '-x',
optional: true),
FastlaneCore::ConfigItem.new(key: :scheme,
description: "The scheme to build. Can also be passed using the `xcodebuild` parameter",
type: String,
short_option: '-s',
optional: true),
FastlaneCore::ConfigItem.new(key: :api_token,
env_name: "APPETIZE_API_TOKEN",
description: "Appetize.io API Token",
is_string: true)
]
end
|
.category ⇒ Object
88
89
90
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 88
def self.category
:misc
end
|
.description ⇒ Object
36
37
38
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 36
def self.description
"Generate and upload an ipa file to appetize.io"
end
|
.details ⇒ Object
40
41
42
43
44
45
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 40
def self.details
[
"This should be called from danger",
"More information in the [device_grid guide](https://github.com/fastlane/fastlane/blob/master/fastlane/lib/fastlane/actions/device_grid/README.md)"
].join("\n")
end
|
.example_code ⇒ Object
82
83
84
85
86
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 82
def self.example_code
[
]
end
|
.is_supported?(platform) ⇒ Boolean
78
79
80
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 78
def self.is_supported?(platform)
platform == :ios
end
|
.output ⇒ Object
67
68
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 67
def self.output
end
|
.return_value ⇒ Object
70
71
72
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 70
def self.return_value
""
end
|
.run(params) ⇒ Object
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/fastlane/actions/build_and_upload_to_appetize.rb', line 4
def self.run(params)
tmp_path = "/tmp/fastlane_build"
xcodebuild_configs = params[:xcodebuild]
xcodebuild_configs[:sdk] = "iphonesimulator"
xcodebuild_configs[:derivedDataPath] = tmp_path
xcodebuild_configs[:xcargs] = "CONFIGURATION_BUILD_DIR=" + tmp_path
xcodebuild_configs[:scheme] ||= params[:scheme] if params[:scheme].to_s.length > 0
Actions::XcodebuildAction.run(xcodebuild_configs)
app_path = Dir[File.join(tmp_path, "**", "*.app")].last
UI.user_error!("Couldn't find app") unless app_path
zipped_bundle = Actions::ZipAction.run(path: app_path,
output_path: File.join(tmp_path, "Result.zip"))
Actions::AppetizeAction.run(path: zipped_bundle,
api_token: params[:api_token])
public_key = Actions.lane_context[SharedValues::APPETIZE_PUBLIC_KEY]
UI.success("Generated Public Key: #{Actions.lane_context[SharedValues::APPETIZE_PUBLIC_KEY]}")
FileUtils.rm_rf(tmp_path)
return public_key
end
|