fastlane-plugin-zealot 0.6.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '094df9f916199c588e3d991874d996cbcde91fe1318c3ed59745ceeaab381b07'
|
4
|
+
data.tar.gz: fb5dd2f76921dee9a2d144519c534d629927d8e8be3e21bfacb6c09420ba7635
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e39a53958627bb1ba620320ef996ec2ef3cbc9fa9daa3048f2f80c5851495b92c8756b2db59bad512f375250596c0faf51a5066c19dc8e68a9f6effa54319bc
|
7
|
+
data.tar.gz: 643294ce82684f55c3c82978b07273d9f0156de55bfee73284b597b2e4d5a48b9ee167633904672d657aefe9301315d504a05176f240b357a93f516bcaaf3d3a
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# fastlane-plugin-zealot
|
2
2
|
|
3
3
|
[![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-zealot)
|
4
4
|
|
@@ -14,50 +14,299 @@
|
|
14
14
|
$ fastlane add_plugin zealot
|
15
15
|
```
|
16
16
|
|
17
|
-
##
|
17
|
+
## 功能列表
|
18
|
+
|
19
|
+
插件包含多个 actions 提供大家使用:
|
20
|
+
|
21
|
+
### zealot
|
22
|
+
|
23
|
+
上传 iOS/Android App 至 Zealot 系统,插件会通过参数和 CI 系统自动获取很多辅助信息。包括但不仅限于:
|
24
|
+
|
25
|
+
- 使用 gym 或 gradle 打包生成的 app 文件路径
|
26
|
+
- 解析应用获取的应用名称、打包类型
|
27
|
+
- Git 提交日志
|
28
|
+
- Git 分支名
|
29
|
+
- Git 最后一次提交的 Commit Hash
|
30
|
+
- CI 系统的名称
|
31
|
+
- CI 系统本次构建的 URL
|
32
|
+
|
33
|
+
#### 参数和返回值
|
18
34
|
|
19
35
|
```
|
20
|
-
|
21
|
-
|
|
22
|
-
|
23
|
-
| Key | Description
|
24
|
-
|
25
|
-
| endpoint | The endpoint of zealot
|
26
|
-
| token | The token of user
|
27
|
-
| channel_key | The key of app's channel
|
28
|
-
| file | The path of app file. Optional
|
29
|
-
| | `gym`, `ipa`,
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
36
|
+
+-----------------+-----------------------------------+------------------------+----------+
|
37
|
+
| zealot Options |
|
38
|
+
+-----------------+-----------------------------------+------------------------+----------+
|
39
|
+
| Key | Description | Env Var | Default |
|
40
|
+
+-----------------+-----------------------------------+------------------------+----------+
|
41
|
+
| endpoint | The endpoint of zealot | ZEALOT_ENDPOINT | |
|
42
|
+
| token | The token of user | ZEALOT_TOKEN | |
|
43
|
+
| channel_key | The key of app's channel | ZEALOT_CHANNEL_KEY | |
|
44
|
+
| file | The path of app file. Optional | ZEALOT_FILE | |
|
45
|
+
| | if you use the `gym`, `ipa`, | | |
|
46
|
+
| | `xcodebuild` or `gradle` action. | | |
|
47
|
+
| name | The name of app to display on | ZEALOT_NAME | |
|
48
|
+
| | zealot | | |
|
49
|
+
| changelog | The changelog of app | ZEALOT_CHANGELOG | |
|
50
|
+
| slug | The slug of app | ZEALOT_SLUG | |
|
51
|
+
| release_type | The release type of app | ZEALOT_RELEASE_TYPE | |
|
52
|
+
| branch | The name of git branch | ZEALOT_BRANCH | |
|
53
|
+
| git_commit | The hash of git commit | ZEALOT_GIT_COMMIT | |
|
54
|
+
| custom_fields | The key-value hash of custom | ZEALOT_CUSTOM_FIELDS | |
|
55
|
+
| | fields | | |
|
56
|
+
| password | The password of app to download | ZEALOT_PASSWORD | |
|
57
|
+
| source | The name of upload source | ZEALOT_SOURCE | fastlane |
|
58
|
+
| ci_url | The name of upload source | ZEALOT_CI_CURL | |
|
59
|
+
| timeout | Request timeout in seconds | ZEALOT_TIMEOUT | |
|
60
|
+
| hide_user_token | replase user token to *** to | ZEALOT_HIDE_USER_TOKEN | true |
|
61
|
+
| | keep secret | | |
|
62
|
+
| verify_ssl | Should verify SSL of zealot | ZEALOT_VERIFY_SSL | true |
|
63
|
+
| | service | | |
|
64
|
+
| fail_on_error | Should an error uploading app | ZEALOT_FAIL_ON_ERROR | false |
|
65
|
+
| | cause a failure | | |
|
66
|
+
+-----------------+-----------------------------------+------------------------+----------+
|
67
|
+
* = default value is dependent on the user's system
|
68
|
+
|
69
|
+
+-----------------------+---------------------------------------------+
|
70
|
+
| zealot Output Variables |
|
71
|
+
+-----------------------+---------------------------------------------+
|
72
|
+
| Key | Description |
|
73
|
+
+-----------------------+---------------------------------------------+
|
74
|
+
| ZEALOT_APP_ID | The id of app |
|
75
|
+
| ZEALOT_RELEASE_ID | The id of app's release |
|
76
|
+
| ZEALOT_RELEASE_URL | The release URL of the newly uploaded build |
|
77
|
+
| ZEALOT_INSTALL_URL | The install URL of the newly uploaded build |
|
78
|
+
| ZEALOT_QRCODE_URL | The QRCode URL of the newly uploaded build |
|
79
|
+
| ZEAALOT_ERROR_MESSAGE | The error message during upload process |
|
80
|
+
+-----------------------+---------------------------------------------+
|
43
81
|
```
|
44
82
|
|
45
|
-
|
83
|
+
#### 样例
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
# 自动根据上面结果来获取信息上传
|
87
|
+
lane :automatic_upload do
|
88
|
+
# iOS
|
89
|
+
gym
|
90
|
+
|
91
|
+
# Android
|
92
|
+
gradle
|
93
|
+
|
94
|
+
# 根据 CI 系统自动获取提交日志
|
95
|
+
ci_changelog
|
96
|
+
|
97
|
+
zealot(
|
98
|
+
endpoint: 'http://localhost:3000',
|
99
|
+
token: '...',
|
100
|
+
channel_key: '...'
|
101
|
+
)
|
102
|
+
|
103
|
+
# 或者通过环境变量配置参数
|
104
|
+
ENV['ZEALOT_ENDPOINT'] = 'http://localhost:3000'
|
105
|
+
ENV['ZEALOT_TOKEN'] = '...'
|
106
|
+
ENV['ZEALOT_CHANNEL_KEY'] = '...'
|
107
|
+
|
108
|
+
# 这里就无需再配置参数
|
109
|
+
zealot
|
110
|
+
end
|
111
|
+
|
112
|
+
# 上传指定文件
|
113
|
+
lane :upload_file do
|
114
|
+
zealot(
|
115
|
+
endpoint: 'http://localhost:3000',
|
116
|
+
token: '...',
|
117
|
+
channel_key: '...',
|
118
|
+
file: '.ipa_or_apk',
|
119
|
+
custom_fields: {
|
120
|
+
api_env: '测试环境'
|
121
|
+
}
|
122
|
+
)
|
123
|
+
end
|
124
|
+
```
|
125
|
+
|
126
|
+
### zealot_debug_file
|
127
|
+
|
128
|
+
上传 iOS 的 dSYM 或 Android 的 Proguard 调试文件到 Zealot
|
129
|
+
|
130
|
+
#### 参数和返回值
|
131
|
+
|
132
|
+
```
|
133
|
+
+--------------------+-----------------------------------+---------------------------+---------+
|
134
|
+
| zealot_debug_file Options |
|
135
|
+
+--------------------+-----------------------------------+---------------------------+---------+
|
136
|
+
| Key | Description | Env Var | Default |
|
137
|
+
+--------------------+-----------------------------------+---------------------------+---------+
|
138
|
+
| endpoint | The endpoint of zealot | ZEALOT_ENDPOINT | |
|
139
|
+
| token | The token of user | ZEALOT_TOKEN | |
|
140
|
+
| channel_key | Any channel key of app | ZEALOT_CHANNEL_KEY | |
|
141
|
+
| zip_file | Using given the path of zip file | DF_DSYM_ZIP_FILE | |
|
142
|
+
| | to direct upload | | |
|
143
|
+
| platform | The name of platfrom, avaiable | ZEALOT_PLATFORM | |
|
144
|
+
| | value are | | |
|
145
|
+
| | ios,mac,macos,osx,android | | |
|
146
|
+
| path | The path of debug file | ZEALOT_PATH | |
|
147
|
+
| | (iOS/macOS is archive path for | | |
|
148
|
+
| | Xcode, Android is path for app | | |
|
149
|
+
| | project) | | |
|
150
|
+
| xcode_scheme | The scheme name of app | ZEALOT_XCODE_SCHEME | |
|
151
|
+
| android_build_type | The build type of app | ZEALOT_ANDROID_BUILD_TYPE | release |
|
152
|
+
| android_flavor | The product flavor of app | ZEALOT_ANDROID_FLAVOR | |
|
153
|
+
| extra_files | A set file names | ZEALOT_EXTRA_FILES | [] |
|
154
|
+
| output_path | The output path of compressed | DF_DSYM_OUTPUT_PATH | . |
|
155
|
+
| | dSYM file | | |
|
156
|
+
| release_version | The release version of app | ZEALOT_RELEASE_VERSION | |
|
157
|
+
| | (Android needs) | | |
|
158
|
+
| build_version | The build version of app | ZEALOT_BUILD_VERSION | |
|
159
|
+
| | (Android needs) | | |
|
160
|
+
| overwrite | Overwrite output compressed file | DF_DSYM_OVERWRITE | false |
|
161
|
+
| | if it existed | | |
|
162
|
+
| timeout | Request timeout in seconds | ZEALOT_TIMEOUT | |
|
163
|
+
| verify_ssl | Should verify SSL of zealot | ZEALOT_VERIFY_SSL | true |
|
164
|
+
| | service | | |
|
165
|
+
| fail_on_error | Should an error uploading app | ZEALOT_FAIL_ON_ERROR | false |
|
166
|
+
| | cause a failure? (true/false) | | |
|
167
|
+
+--------------------+-----------------------------------+---------------------------+---------+
|
168
|
+
* = default value is dependent on the user's system
|
169
|
+
|
170
|
+
+-----------------------+-----------------------------------------+
|
171
|
+
| zealot_debug_file Output Variables |
|
172
|
+
+-----------------------+-----------------------------------------+
|
173
|
+
| Key | Description |
|
174
|
+
+-----------------------+-----------------------------------------+
|
175
|
+
| ZEAALOT_ERROR_MESSAGE | The error message during upload process |
|
176
|
+
+-----------------------+-----------------------------------------+
|
177
|
+
```
|
178
|
+
|
179
|
+
#### 样例
|
180
|
+
|
181
|
+
```ruby
|
182
|
+
# 自动根据上面结果来获取信息上传
|
183
|
+
lane :automatic_upload do
|
184
|
+
# iOS
|
185
|
+
gym
|
46
186
|
|
47
|
-
|
187
|
+
# Android
|
188
|
+
gradle
|
48
189
|
|
49
|
-
|
190
|
+
# 根据 CI 系统自动获取提交日志
|
191
|
+
ci_changelog
|
50
192
|
|
51
|
-
|
193
|
+
ENV['ZEALOT_ENDPOINT'] = 'http://localhost:3000'
|
194
|
+
ENV['ZEALOT_TOKEN'] = '...'
|
195
|
+
ENV['ZEALOT_CHANNEL_KEY'] = '...'
|
196
|
+
|
197
|
+
# 自动上传 App 和调试文件
|
198
|
+
zealot
|
199
|
+
zealot_debug_file
|
200
|
+
end
|
201
|
+
```
|
202
|
+
|
203
|
+
### zealot_sync_device
|
204
|
+
|
205
|
+
同步指定 Apple 开发者账号的设备列表信息到 Zealot,主要是为了让使用者更清晰看到每个设备 udid 记录的名称
|
206
|
+
|
207
|
+
#### 参数和返回值
|
208
|
+
|
209
|
+
```
|
210
|
+
+---------------+-----------------------------------+------------------------+---------+
|
211
|
+
| zealot_sync_devices Options |
|
212
|
+
+---------------+-----------------------------------+------------------------+---------+
|
213
|
+
| Key | Description | Env Var | Default |
|
214
|
+
+---------------+-----------------------------------+------------------------+---------+
|
215
|
+
| endpoint | The endpoint of zealot | ZEALOT_ENDPOINT | |
|
216
|
+
| token | The token of user | ZEALOT_TOKEN | |
|
217
|
+
| username | The apple id (username) of Apple | DELIVER_USER | * |
|
218
|
+
| | Developer Portal | | |
|
219
|
+
| team_id | The ID of your Developer Portal | ZEALOT_APPLE_TEAM_ID | * |
|
220
|
+
| | team if you're in multiple teams | | |
|
221
|
+
| team_name | The name of your Developer | ZEALOT_APPLE_TEAM_NAME | * |
|
222
|
+
| | Portal team if you're in | | |
|
223
|
+
| | multiple teams | | |
|
224
|
+
| platform | The platform to use (optional) | ZEALOT_APPLE_PLATFORM | ios |
|
225
|
+
| verify_ssl | Should verify SSL of zealot | ZEALOT_VERIFY_SSL | true |
|
226
|
+
| | service | | |
|
227
|
+
| timeout | Request timeout in seconds | ZEALOT_TIMEOUT | |
|
228
|
+
| fail_on_error | Should an error http request | ZEALOT_FAIL_ON_ERROR | false |
|
229
|
+
| | cause a failure? (true/false) | | |
|
230
|
+
+---------------+-----------------------------------+------------------------+---------+
|
231
|
+
```
|
232
|
+
|
233
|
+
#### 样例
|
234
|
+
|
235
|
+
```ruby
|
236
|
+
lane :sync do
|
237
|
+
zealot_sync_devices(
|
238
|
+
endpoint: "...",
|
239
|
+
token: "...",
|
240
|
+
username: "...",
|
241
|
+
team_id: "..."
|
242
|
+
)
|
243
|
+
end
|
244
|
+
```
|
245
|
+
|
246
|
+
### zealot_version_check
|
247
|
+
|
248
|
+
检查应用版本是否已经上传,避免重复打包、上传已经上传的应用,目前支持两种方式检查:
|
249
|
+
|
250
|
+
- bundle_id + git commit
|
251
|
+
- bundle_id+ release_version + build_version
|
252
|
+
|
253
|
+
参数和各平台实际值对应关系
|
254
|
+
|
255
|
+
参数 | iOS | Android
|
256
|
+
---|---|---
|
257
|
+
bundle_id | bundle_id | package_name
|
258
|
+
release_version | CFBundleShortVersionString | versionName
|
259
|
+
build_version | CFBundleVersion | versionCode
|
260
|
+
|
261
|
+
#### 参数和返回值
|
262
|
+
|
263
|
+
```
|
264
|
+
+-----------------+---------------------------------+------------------------+---------+
|
265
|
+
| zealot_version_check Options |
|
266
|
+
+-----------------+---------------------------------+------------------------+---------+
|
267
|
+
| Key | Description | Env Var | Default |
|
268
|
+
+-----------------+---------------------------------+------------------------+---------+
|
269
|
+
| endpoint | The endpoint of zealot | ZEALOT_ENDPOINT | |
|
270
|
+
| token | The token of user | ZEALOT_TOKEN | |
|
271
|
+
| channel_key | The key of app's channel | ZEALOT_CHANNEL_KEY | |
|
272
|
+
| bundle_id | The bundle id(package name) of | ZEALOT_BUNDLE_ID | |
|
273
|
+
| | app | | |
|
274
|
+
| release_version | The release version of app | ZEALOT_RELEASE_VERSION | |
|
275
|
+
| build_version | The build version of app | ZEALOT_BUILD_VERSION | |
|
276
|
+
| git_commit | The latest git commit of app | ZEALOT_GIT_COMMIT | |
|
277
|
+
| verify_ssl | Should verify SSL of zealot | ZEALOT_VERIFY_SSL | true |
|
278
|
+
| | service | | |
|
279
|
+
| hide_user_token | replase user token to *** to | ZEALOT_HIDE_USER_TOKEN | true |
|
280
|
+
| | keep secret | | |
|
281
|
+
| fail_on_error | Should an error http request | ZEALOT_FAIL_ON_ERROR | false |
|
282
|
+
| | cause a failure? (true/false) | | |
|
283
|
+
+-----------------+---------------------------------+------------------------+---------+
|
284
|
+
* = default value is dependent on the user's system
|
285
|
+
|
286
|
+
+------------------------+---------------------------------------------+
|
287
|
+
| zealot_version_check Output Variables |
|
288
|
+
+------------------------+---------------------------------------------+
|
289
|
+
| Key | Description |
|
290
|
+
+------------------------+---------------------------------------------+
|
291
|
+
| ZEALOT_VERSION_EXISTED | The result of app verison existed (Boolean) |
|
292
|
+
| ZEAALOT_ERROR_MESSAGE | The error message during upload process |
|
293
|
+
+------------------------+---------------------------------------------+
|
294
|
+
Access the output values using `lane_context[SharedValues::VARIABLE_NAME]`
|
295
|
+
|
296
|
+
+-----------------------------------+
|
297
|
+
| zealot_version_check Return Value |
|
298
|
+
+-----------------------------------+
|
299
|
+
| Fastlane::Boolean |
|
300
|
+
```
|
52
301
|
|
53
|
-
##
|
302
|
+
## 更多例子
|
54
303
|
|
55
|
-
|
304
|
+
检查[范例 `Fastfile` 文件](fastlane/Fastfile) 来看看如何使用插件吧
|
56
305
|
|
57
|
-
##
|
306
|
+
## 问题和反馈
|
58
307
|
|
59
|
-
|
308
|
+
使用本插件过程中遇到的任何问题和反馈请提交问题。
|
60
309
|
|
61
|
-
##
|
310
|
+
## 疑惑解答
|
62
311
|
|
63
|
-
|
312
|
+
如果你对 fastlane 不了解建议现看看[本教程](https://icyleaf.com/tags/fastlane/),再看看使用插件的[疑惑解答](https://docs.fastlane.tools/plugins/plugins-troubleshooting/)
|
@@ -57,7 +57,7 @@ module Fastlane
|
|
57
57
|
#####################################################
|
58
58
|
|
59
59
|
def self.description
|
60
|
-
'Upload a
|
60
|
+
'Upload IPA/APK files to Zealot which it provides a self-host Over The Air Server for deployment of Android and iOS apps.'
|
61
61
|
end
|
62
62
|
|
63
63
|
def self.available_options
|
@@ -14,7 +14,7 @@ module Fastlane
|
|
14
14
|
|
15
15
|
def self.run(params)
|
16
16
|
file = generate_zip_file(params)
|
17
|
-
UI.user_error! "Something wrong with
|
17
|
+
UI.user_error! "Something wrong with compressed debug file" unless file
|
18
18
|
|
19
19
|
response = upload_debug_file(params, file)
|
20
20
|
if parse_response(response, params[:endpoint], params[:fail_on_error])
|
@@ -27,32 +27,38 @@ module Fastlane
|
|
27
27
|
next unless value = params[key]
|
28
28
|
obj[key] = value
|
29
29
|
end
|
30
|
-
path = new_params.delete(:path)
|
31
|
-
platform = new_params[:platform]
|
32
30
|
|
33
|
-
|
31
|
+
if (zip_file = params[:zip_file]) && File.file?(zip_file)
|
32
|
+
UI.user_error! "The zip file can not be readable: #{zip_file}" unless File.readable?(zip_file)
|
33
|
+
|
34
|
+
UI.verbose "Using given zip file: #{zip_file}"
|
35
|
+
return zip_file
|
36
|
+
end
|
37
|
+
|
38
|
+
platform = new_params.delete(:platform)
|
39
|
+
if !platform && Fastlane::Actions.lane_context[SharedValues::XCODEBUILD_ARCHIVE]
|
40
|
+
return generate_dsym_zip(new_params, nil)
|
41
|
+
end
|
42
|
+
|
43
|
+
path = new_params.delete(:path)
|
44
|
+
case platform.downcase.to_sym
|
34
45
|
when :ios, :mac, :macos, :osx
|
35
46
|
generate_dsym_zip(new_params, path)
|
36
47
|
when :android
|
37
48
|
generate_proguard_zip(new_params, path)
|
38
49
|
else
|
39
|
-
UI.user_error!("No match value of platform: #{
|
50
|
+
UI.user_error!("No match value of platform: #{platform}, avaiable value are #{PLATFORM.join(',')}.")
|
40
51
|
end
|
41
52
|
end
|
42
53
|
|
43
|
-
def self.generate_dsym_zip(params,
|
44
|
-
params[:archive_path] =
|
45
|
-
path
|
46
|
-
else
|
47
|
-
Actions.lane_context[SharedValues::XCODEBUILD_ARCHIVE] || Fastlane::Actions::DsymAction::ARCHIVE_PATH
|
48
|
-
end
|
49
|
-
|
54
|
+
def self.generate_dsym_zip(params, archive_path)
|
55
|
+
params[:archive_path] = archive_path || Actions.lane_context[SharedValues::XCODEBUILD_ARCHIVE] || Fastlane::Actions::DsymAction::ARCHIVE_PATH
|
50
56
|
params[:scheme] = params.delete(:xcode_scheme)
|
51
57
|
Fastlane::Actions::DsymAction.run(params)
|
52
58
|
end
|
53
59
|
|
54
|
-
def self.generate_proguard_zip(params,
|
55
|
-
params[:app_path] =
|
60
|
+
def self.generate_proguard_zip(params, app_path)
|
61
|
+
params[:app_path] = app_path unless app_path.to_s.empty?
|
56
62
|
params[:build_type] = params.delete(:android_build_type)
|
57
63
|
params[:flavor] = params.delete(:android_flavor)
|
58
64
|
Fastlane::Actions::ProguardAction.run(params)
|
@@ -63,19 +69,39 @@ module Fastlane
|
|
63
69
|
|
64
70
|
UI.verbose response.body.to_s
|
65
71
|
if (body = response.body) && (error = body['error'])
|
66
|
-
return show_error("Error uploading to Zealot: #{response.body}", fail_on_error)
|
72
|
+
return show_error("Error uploading to Zealot[#{response.status}]: #{response.body}", fail_on_error)
|
67
73
|
end
|
68
74
|
|
75
|
+
print_uploaded_data(body)
|
76
|
+
|
69
77
|
true
|
70
78
|
end
|
71
79
|
private_class_method :parse_response
|
72
80
|
|
81
|
+
def self.print_uploaded_data(data)
|
82
|
+
rows = data.each_with_object({}) do |(key, value), obj|
|
83
|
+
if key == 'metadata'
|
84
|
+
obj["#{key} (#{value.size})"] = value.each_with_object([]) do |item, obj|
|
85
|
+
obj << item.map {|k, v| "#{k}: #{v}" }.join("\n")
|
86
|
+
end.join("\n-------------------------\n")
|
87
|
+
else
|
88
|
+
obj[key] = value.to_s
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
puts Terminal::Table.new(
|
93
|
+
title: 'Uploaded debug file information'.green,
|
94
|
+
rows: rows
|
95
|
+
)
|
96
|
+
end
|
97
|
+
private_class_method :print_uploaded_data
|
98
|
+
|
73
99
|
#####################################################
|
74
100
|
# @!group Documentation
|
75
101
|
#####################################################
|
76
102
|
|
77
103
|
def self.description
|
78
|
-
'Upload a
|
104
|
+
'Upload dSYM/Proguard files to Zealot which it provides a self-host Over The Air Server for deployment of Android and iOS apps.'
|
79
105
|
end
|
80
106
|
|
81
107
|
def self.available_options
|
@@ -94,15 +120,21 @@ module Fastlane
|
|
94
120
|
type: String),
|
95
121
|
FastlaneCore::ConfigItem.new(key: :channel_key,
|
96
122
|
env_name: 'ZEALOT_CHANNEL_KEY',
|
97
|
-
description: '
|
123
|
+
description: 'Any channel key of app',
|
124
|
+
verify_block: proc do |value|
|
125
|
+
UI.user_error!("No channel key of app, pass using `channel_key: 'channel_key'`") if value.nil? || value.empty?
|
126
|
+
end,
|
127
|
+
type: String),
|
128
|
+
FastlaneCore::ConfigItem.new(key: :zip_file,
|
129
|
+
env_name: 'DF_DSYM_ZIP_FILE',
|
130
|
+
description: "Using given the path of zip file to direct upload",
|
131
|
+
optional: true,
|
98
132
|
type: String),
|
99
133
|
FastlaneCore::ConfigItem.new(key: :platform,
|
100
134
|
env_name: 'ZEALOT_PLATFORM',
|
101
135
|
description: "The name of platfrom, avaiable value are #{PLATFORM.join(',')}",
|
102
|
-
|
103
|
-
|
104
|
-
end,
|
105
|
-
type: :Symbol),
|
136
|
+
optional: true,
|
137
|
+
type: String),
|
106
138
|
FastlaneCore::ConfigItem.new(key: :path,
|
107
139
|
env_name: 'ZEALOT_PATH',
|
108
140
|
description: 'The path of debug file (iOS/macOS is archive path for Xcode, Android is path for app project)',
|
@@ -138,12 +170,12 @@ module Fastlane
|
|
138
170
|
type: String),
|
139
171
|
FastlaneCore::ConfigItem.new(key: :release_version,
|
140
172
|
env_name: 'ZEALOT_RELEASE_VERSION',
|
141
|
-
description: 'The release version of app',
|
173
|
+
description: 'The release version of app (Android needs)',
|
142
174
|
optional: true,
|
143
175
|
type: String),
|
144
176
|
FastlaneCore::ConfigItem.new(key: :build_version,
|
145
177
|
env_name: 'ZEALOT_BUILD_VERSION',
|
146
|
-
description: 'The build version of app',
|
178
|
+
description: 'The build version of app (Android needs)',
|
147
179
|
optional: true,
|
148
180
|
type: String),
|
149
181
|
FastlaneCore::ConfigItem.new(key: :overwrite,
|
@@ -173,14 +205,37 @@ module Fastlane
|
|
173
205
|
|
174
206
|
def self.example_code
|
175
207
|
[
|
208
|
+
'zealot_debug_file(
|
209
|
+
endpoint: "...",
|
210
|
+
token: "...",
|
211
|
+
channel_key: "...",
|
212
|
+
platform: :ios
|
213
|
+
)',
|
214
|
+
'zealot_debug_file(
|
215
|
+
endpoint: "...",
|
216
|
+
token: "...",
|
217
|
+
channel_key: "...",
|
218
|
+
platform: :ios,
|
219
|
+
xcode_scheme: "AppName"
|
220
|
+
)',
|
221
|
+
'zealot_debug_file(
|
222
|
+
endpoint: "...",
|
223
|
+
token: "...",
|
224
|
+
channel_key: "...",
|
225
|
+
platform: :android,
|
226
|
+
android_build_type: "release",
|
227
|
+
android_flavor: "google_play",
|
228
|
+
release_version: "1.1.0",
|
229
|
+
build_version: "1",
|
230
|
+
)',
|
176
231
|
'zealot_debug_file(
|
177
232
|
endpoint: "...",
|
178
233
|
token: "...",
|
179
234
|
channel_key: "...",
|
180
235
|
zip_file: "...",
|
181
|
-
release_version: "
|
182
|
-
build_version: "
|
183
|
-
)'
|
236
|
+
release_version: "1.1.0",
|
237
|
+
build_version: "1",
|
238
|
+
)',
|
184
239
|
]
|
185
240
|
end
|
186
241
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-zealot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- icyleaf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: fastlane-plugin-debug_file
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.3.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.3.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -201,5 +201,6 @@ requirements: []
|
|
201
201
|
rubygems_version: 3.1.2
|
202
202
|
signing_key:
|
203
203
|
specification_version: 4
|
204
|
-
summary: Upload
|
204
|
+
summary: Upload IPA/APK/dSYM/Proguard files to Zealot which it provides a self-host
|
205
|
+
Over The Air Server for deployment of Android and iOS apps.
|
205
206
|
test_files: []
|