pindo 5.4.0 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/pindo/base/pindocontext.rb +42 -31
- data/lib/pindo/client/aws3sclient.rb +2 -2
- data/lib/pindo/client/httpclient.rb +1 -2
- data/lib/pindo/command/android/autobuild.rb +40 -18
- data/lib/pindo/command/android/build.rb +37 -16
- data/lib/pindo/command/android/debug.rb +34 -20
- data/lib/pindo/command/appstore/iap.rb +15 -1
- data/lib/pindo/command/appstore/itcapp.rb +15 -1
- data/lib/pindo/command/appstore/metadata.rb +15 -1
- data/lib/pindo/command/appstore/screenshots.rb +15 -1
- data/lib/pindo/command/appstore/upload.rb +15 -1
- data/lib/pindo/command/deploy/build.rb +35 -20
- data/lib/pindo/command/deploy/bundleid.rb +15 -1
- data/lib/pindo/command/deploy/cert.rb +19 -2
- data/lib/pindo/command/deploy/check.rb +15 -1
- data/lib/pindo/command/deploy/configproj.rb +15 -1
- data/lib/pindo/command/deploy/confusecode.rb +15 -1
- data/lib/pindo/command/deploy/confuseproj.rb +11 -1
- data/lib/pindo/command/deploy/fabric.rb +10 -1
- data/lib/pindo/command/deploy/getitcinfo.rb +11 -1
- data/lib/pindo/command/deploy/iap.rb +12 -1
- data/lib/pindo/command/deploy/initconfig.rb +11 -1
- data/lib/pindo/command/deploy/itcinfo.rb +12 -1
- data/lib/pindo/command/deploy/pullconfig.rb +11 -1
- data/lib/pindo/command/deploy/pushconfig.rb +11 -1
- data/lib/pindo/command/deploy/quswark.rb +12 -1
- data/lib/pindo/command/deploy/quswauth.rb +10 -1
- data/lib/pindo/command/deploy/reportbug.rb +11 -1
- data/lib/pindo/command/deploy/resign.rb +12 -1
- data/lib/pindo/command/deploy/updateconfig.rb +11 -1
- data/lib/pindo/command/deploy/uploadipa.rb +11 -1
- data/lib/pindo/command/env/dreamstudio.rb +13 -1
- data/lib/pindo/command/env/quarkenv.rb +13 -1
- data/lib/pindo/command/env/swarkenv.rb +13 -1
- data/lib/pindo/command/env/workhard.rb +13 -1
- data/lib/pindo/command/gplay/iap.rb +21 -5
- data/lib/pindo/command/gplay/itcapp.rb +19 -5
- data/lib/pindo/command/gplay/metadata.rb +23 -5
- data/lib/pindo/command/gplay/screenshots.rb +23 -5
- data/lib/pindo/command/gplay/upload.rb +21 -5
- data/lib/pindo/command/gplay.rb +8 -8
- data/lib/pindo/command/ios/adhoc.rb +18 -3
- data/lib/pindo/command/ios/autobuild.rb +22 -7
- data/lib/pindo/command/ios/autoresign.rb +18 -3
- data/lib/pindo/command/ios/build.rb +18 -4
- data/lib/pindo/command/ipa/autoresign.rb +35 -4
- data/lib/pindo/command/ipa/import.rb +19 -1
- data/lib/pindo/command/ipa/output.rb +39 -4
- data/lib/pindo/command/{pgyer → jps}/apptest.rb +35 -24
- data/lib/pindo/command/jps/bind.rb +191 -0
- data/lib/pindo/command/{pgyer → jps}/comment.rb +19 -19
- data/lib/pindo/command/{pgyer → jps}/download.rb +20 -20
- data/lib/pindo/command/{pgyer → jps}/login.rb +9 -9
- data/lib/pindo/command/{pgyer → jps}/resign.rb +40 -25
- data/lib/pindo/command/{pgyer → jps}/upload.rb +60 -43
- data/lib/pindo/command/jps.rb +18 -0
- data/lib/pindo/command/lib/forcepush.rb +15 -1
- data/lib/pindo/command/lib/push.rb +15 -1
- data/lib/pindo/command/lib/update.rb +15 -1
- data/lib/pindo/command/repo/clone.rb +11 -1
- data/lib/pindo/command/repo/create.rb +13 -1
- data/lib/pindo/command/repo/login.rb +14 -3
- data/lib/pindo/command/repo/search.rb +14 -2
- data/lib/pindo/command/unity/apk.rb +14 -28
- data/lib/pindo/command/unity/autobuild.rb +13 -13
- data/lib/pindo/command/unity/ipa.rb +15 -29
- data/lib/pindo/command/unity/web.rb +15 -15
- data/lib/pindo/command/utils/boss.rb +19 -2
- data/lib/pindo/command/utils/clearcert.rb +18 -2
- data/lib/pindo/command/utils/device.rb +19 -2
- data/lib/pindo/command/utils/icon.rb +20 -2
- data/lib/pindo/command/utils/renewcert.rb +28 -3
- data/lib/pindo/command/utils/renewproj.rb +25 -2
- data/lib/pindo/command/utils/tgate.rb +28 -3
- data/lib/pindo/command/utils/xcassets.rb +20 -2
- data/lib/pindo/command/web/autobuild.rb +18 -3
- data/lib/pindo/command.rb +8 -2
- data/lib/pindo/module/pgyer/pgyerhelper.rb +185 -85
- data/lib/pindo/version.rb +1 -1
- metadata +30 -12
- data/lib/pindo/client/pgyer_feishu_oauth_cli.rb +0 -669
- data/lib/pindo/client/pgyerclient.rb +0 -466
- data/lib/pindo/client/pgyeruploadclient.rb +0 -517
- data/lib/pindo/command/pgyer.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d82f581545a6d50b91407f6108f8e15685e8936b4895c3a8fec46976fed550b
|
4
|
+
data.tar.gz: 70c45cb83b96f356cd2fd19b0de9f7802642785ef80ee93cc41bd4e6bd6bddb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '089690f061917d3c9ebc07e19643c166c407900359e958474fa698bda6c02ea70d05b615efd4165f9f883d712a4c488870322a4aefb9607da1d46f4990e350c6'
|
7
|
+
data.tar.gz: bcadc0aa51c54a38d2297befe0e358e384a7789603b4a072c350ff4e3968cad1ea7db16b6b2c54c4665bc7adc95d2f36fa548dcf5af0cb1e2ce9e020f90ff614
|
@@ -16,14 +16,20 @@ module Pindo
|
|
16
16
|
@file_cache_loaded = false # 标记文件缓存是否已加载
|
17
17
|
@cache_enabled = false # 默认禁用缓存
|
18
18
|
@command_group = nil # 命令组名称
|
19
|
+
@verbose = false # 是否输出详细日志
|
19
20
|
ensure_cache_dir
|
20
21
|
end
|
21
22
|
|
23
|
+
# 判断是否处于 verbose 模式
|
24
|
+
def verbose?
|
25
|
+
@verbose || ENV['PINDO_VERBOSE'] == '1' || ENV['PINDO_DEBUG'] == '1'
|
26
|
+
end
|
27
|
+
|
22
28
|
# 设置当前上下文
|
23
29
|
def set_context(command, directory = nil, options = {})
|
24
30
|
# 如果已有命令在执行,这是嵌套调用,不需要做任何事
|
25
31
|
unless @current_command.nil?
|
26
|
-
puts "[PindoContext] 嵌套调用 #{command},使用已有上下文 (根命令: #{@current_command},命令组: #{@command_group})"
|
32
|
+
puts "[PindoContext] 嵌套调用 #{command},使用已有上下文 (根命令: #{@current_command},命令组: #{@command_group})" if verbose?
|
27
33
|
return
|
28
34
|
end
|
29
35
|
|
@@ -33,29 +39,34 @@ module Pindo
|
|
33
39
|
|
34
40
|
# 从选项中获取缓存配置
|
35
41
|
@cache_enabled = options[:cache_enabled] || false
|
42
|
+
@verbose = options[:verbose] || false
|
36
43
|
# 使用 get_command_group 来确定缓存组
|
37
44
|
@command_group = get_command_group(command)
|
38
45
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
46
|
+
if verbose?
|
47
|
+
puts "\n[PindoContext] ========== 设置顶层命令上下文 =========="
|
48
|
+
puts "[PindoContext] 命令: #{command}"
|
49
|
+
puts "[PindoContext] 目录: #{@current_directory}"
|
50
|
+
puts "[PindoContext] 缓存启用: #{@cache_enabled}"
|
51
|
+
puts "[PindoContext] 命令组: #{@command_group}"
|
52
|
+
puts "[PindoContext] options: #{options.inspect}"
|
53
|
+
end
|
45
54
|
|
46
55
|
# 仅在启用缓存时加载文件缓存
|
47
56
|
if @cache_enabled && !@file_cache_loaded
|
48
|
-
puts "[PindoContext] 准备加载文件缓存..."
|
57
|
+
puts "[PindoContext] 准备加载文件缓存..." if verbose?
|
49
58
|
load_file_cache_with_confirmation
|
50
59
|
@file_cache_loaded = true
|
51
60
|
else
|
52
|
-
if
|
53
|
-
|
54
|
-
|
55
|
-
|
61
|
+
if verbose?
|
62
|
+
if !@cache_enabled
|
63
|
+
puts "[PindoContext] 缓存未启用,跳过文件缓存加载"
|
64
|
+
elsif @file_cache_loaded
|
65
|
+
puts "[PindoContext] 文件缓存已加载,跳过重复加载"
|
66
|
+
end
|
56
67
|
end
|
57
68
|
end
|
58
|
-
puts "[PindoContext] ======================================\n"
|
69
|
+
puts "[PindoContext] ======================================\n" if verbose?
|
59
70
|
end
|
60
71
|
|
61
72
|
# 重置上下文(顶层命令结束时调用)
|
@@ -91,14 +102,14 @@ module Pindo
|
|
91
102
|
# 更新该命令组的最后修改时间
|
92
103
|
@memory_selections[project_path][root_command]['__last_modified__'] = Time.now.to_i
|
93
104
|
|
94
|
-
puts "[PindoContext] 保存到内存: [#{project_path}][#{root_command}][#{key}] = #{value.inspect}"
|
105
|
+
puts "[PindoContext] 保存到内存: [#{project_path}][#{root_command}][#{key}] = #{value.inspect}" if verbose?
|
95
106
|
|
96
107
|
# 仅在启用缓存时保存到文件
|
97
108
|
if @cache_enabled
|
98
109
|
save_file_cache
|
99
|
-
puts "[PindoContext] 已保存到文件缓存"
|
110
|
+
puts "[PindoContext] 已保存到文件缓存" if verbose?
|
100
111
|
else
|
101
|
-
puts "[PindoContext] 缓存未启用,仅保存到内存"
|
112
|
+
puts "[PindoContext] 缓存未启用,仅保存到内存" if verbose?
|
102
113
|
end
|
103
114
|
end
|
104
115
|
|
@@ -114,9 +125,9 @@ module Pindo
|
|
114
125
|
value = @memory_selections.dig(project_path, root_command, key)
|
115
126
|
|
116
127
|
if value
|
117
|
-
puts "[PindoContext] 从内存获取: [#{project_path}][#{root_command}][#{key}] = #{value.inspect}"
|
128
|
+
puts "[PindoContext] 从内存获取: [#{project_path}][#{root_command}][#{key}] = #{value.inspect}" if verbose?
|
118
129
|
else
|
119
|
-
puts "[PindoContext] 内存中未找到: [#{project_path}][#{root_command}][#{key}]" if
|
130
|
+
puts "[PindoContext] 内存中未找到: [#{project_path}][#{root_command}][#{key}]" if verbose?
|
120
131
|
end
|
121
132
|
|
122
133
|
value
|
@@ -192,7 +203,7 @@ module Pindo
|
|
192
203
|
@memory_selections[proj_path].delete(cmd)
|
193
204
|
@memory_selections.delete(proj_path) if @memory_selections[proj_path].empty?
|
194
205
|
save_file_cache
|
195
|
-
puts "[PindoContext] 清除缓存: [#{proj_path}][#{cmd}]" if
|
206
|
+
puts "[PindoContext] 清除缓存: [#{proj_path}][#{cmd}]" if verbose?
|
196
207
|
end
|
197
208
|
end
|
198
209
|
|
@@ -222,10 +233,10 @@ module Pindo
|
|
222
233
|
def load_file_cache_with_confirmation
|
223
234
|
file_path = cache_file_path
|
224
235
|
|
225
|
-
puts "[PindoContext] 检查文件缓存: #{file_path}"
|
236
|
+
puts "[PindoContext] 检查文件缓存: #{file_path}" if verbose?
|
226
237
|
|
227
238
|
unless File.exist?(file_path)
|
228
|
-
puts "[PindoContext] 文件缓存不存在,跳过加载"
|
239
|
+
puts "[PindoContext] 文件缓存不存在,跳过加载" if verbose?
|
229
240
|
return
|
230
241
|
end
|
231
242
|
|
@@ -240,7 +251,7 @@ module Pindo
|
|
240
251
|
project_path = get_project_path
|
241
252
|
root_command = @command_group || @current_command
|
242
253
|
|
243
|
-
puts "[PindoContext] 查找缓存: [#{project_path}][#{root_command}]"
|
254
|
+
puts "[PindoContext] 查找缓存: [#{project_path}][#{root_command}]" if verbose?
|
244
255
|
|
245
256
|
# 检查三级结构中是否有当前上下文的缓存
|
246
257
|
cached_selections = file_cache.dig(project_path, root_command)
|
@@ -327,9 +338,9 @@ module Pindo
|
|
327
338
|
end
|
328
339
|
end
|
329
340
|
|
330
|
-
puts "[PindoContext] 处理文件缓存: #{file_path}" if
|
341
|
+
puts "[PindoContext] 处理文件缓存: #{file_path}" if verbose?
|
331
342
|
rescue => e
|
332
|
-
puts "[PindoContext] 加载缓存失败: #{e.message}" if
|
343
|
+
puts "[PindoContext] 加载缓存失败: #{e.message}" if verbose?
|
333
344
|
end
|
334
345
|
end
|
335
346
|
|
@@ -355,9 +366,9 @@ module Pindo
|
|
355
366
|
# 写入文件
|
356
367
|
File.write(file_path, JSON.pretty_generate(file_cache))
|
357
368
|
|
358
|
-
puts "[PindoContext] 保存文件缓存: #{file_path}" if
|
369
|
+
puts "[PindoContext] 保存文件缓存: #{file_path}" if verbose?
|
359
370
|
rescue => e
|
360
|
-
puts "[PindoContext] 保存缓存失败: #{e.message}" if
|
371
|
+
puts "[PindoContext] 保存缓存失败: #{e.message}" if verbose?
|
361
372
|
end
|
362
373
|
end
|
363
374
|
|
@@ -403,7 +414,7 @@ module Pindo
|
|
403
414
|
# 如果没有时间戳,视为过期
|
404
415
|
if last_modified.nil?
|
405
416
|
expired_commands << "[#{project_path}][#{command}] (无时间戳)"
|
406
|
-
puts "[PindoContext] 清理无时间戳缓存: [#{project_path}][#{command}]" if
|
417
|
+
puts "[PindoContext] 清理无时间戳缓存: [#{project_path}][#{command}]" if verbose?
|
407
418
|
next
|
408
419
|
end
|
409
420
|
|
@@ -411,7 +422,7 @@ module Pindo
|
|
411
422
|
if (current_time - last_modified.to_i) > seven_days_in_seconds
|
412
423
|
days_old = (current_time - last_modified.to_i) / (24 * 60 * 60)
|
413
424
|
expired_commands << "[#{project_path}][#{command}] (#{days_old}天前)"
|
414
|
-
puts "[PindoContext] 清理过期缓存 (#{days_old}天前): [#{project_path}][#{command}]" if
|
425
|
+
puts "[PindoContext] 清理过期缓存 (#{days_old}天前): [#{project_path}][#{command}]" if verbose?
|
415
426
|
next
|
416
427
|
end
|
417
428
|
|
@@ -425,7 +436,7 @@ module Pindo
|
|
425
436
|
else
|
426
437
|
# 整个项目路径下的所有命令都过期了,删除整个项目路径
|
427
438
|
expired_projects << project_path
|
428
|
-
puts "[PindoContext] 删除空项目路径: #{project_path}" if
|
439
|
+
puts "[PindoContext] 删除空项目路径: #{project_path}" if verbose?
|
429
440
|
end
|
430
441
|
end
|
431
442
|
|
@@ -434,11 +445,11 @@ module Pindo
|
|
434
445
|
puts "[PindoContext] 缓存清理完成:"
|
435
446
|
if expired_commands.any?
|
436
447
|
puts " - 清理了 #{expired_commands.size} 个过期命令缓存"
|
437
|
-
expired_commands.each { |cmd| puts " • #{cmd}" } if
|
448
|
+
expired_commands.each { |cmd| puts " • #{cmd}" } if verbose?
|
438
449
|
end
|
439
450
|
if expired_projects.any?
|
440
451
|
puts " - 删除了 #{expired_projects.size} 个空项目路径"
|
441
|
-
expired_projects.each { |proj| puts " • #{proj}" } if
|
452
|
+
expired_projects.each { |proj| puts " • #{proj}" } if verbose?
|
442
453
|
end
|
443
454
|
|
444
455
|
# 立即保存清理后的缓存到文件
|
@@ -29,7 +29,7 @@ module Pindo
|
|
29
29
|
|
30
30
|
begin
|
31
31
|
|
32
|
-
config_file = File.join(File::expand_path(Pindoconfig.instance.pindo_common_configdir), "
|
32
|
+
config_file = File.join(File::expand_path(Pindoconfig.instance.pindo_common_configdir), "jps_client_config.json")
|
33
33
|
config_json = JSON.parse(File.read(config_file))
|
34
34
|
|
35
35
|
@region = config_json["region"]
|
@@ -40,7 +40,7 @@ module Pindo
|
|
40
40
|
@attach_url = config_json["attach_url"]
|
41
41
|
|
42
42
|
rescue => error
|
43
|
-
raise Informative, "加载
|
43
|
+
raise Informative, "加载jps配置文件失败, 需要执行 pindo setup 或者pindo env dreamstudio"
|
44
44
|
end
|
45
45
|
|
46
46
|
|
@@ -21,28 +21,35 @@ module Pindo
|
|
21
21
|
end
|
22
22
|
|
23
23
|
self.description = <<-DESC
|
24
|
-
|
24
|
+
编译Android包并支持上传到测试平台。
|
25
25
|
|
26
|
-
|
27
|
-
* 编译Debug/Release包
|
28
|
-
* 上传到测试平台
|
29
|
-
* 发送测试通知
|
26
|
+
支持功能:
|
30
27
|
|
31
|
-
|
32
|
-
$ pindo android autobuild # 编译Debug包
|
33
|
-
$ pindo android autobuild --release # 编译Release包
|
34
|
-
$ pindo android autobuild --upload # 编译并上传
|
35
|
-
$ pindo android autobuild --send # 编译上传并发送通知
|
36
|
-
$ pindo android autobuild --proj=myapp # 指定项目名称
|
28
|
+
* 编译Debug/Release包
|
37
29
|
|
30
|
+
* 上传到测试平台
|
31
|
+
|
32
|
+
* 发送测试通知
|
33
|
+
|
34
|
+
使用示例:
|
35
|
+
|
36
|
+
$ pindo android autobuild # 编译Debug包
|
37
|
+
|
38
|
+
$ pindo android autobuild --release # 编译Release包
|
39
|
+
|
40
|
+
$ pindo android autobuild --upload # 编译并上传
|
41
|
+
|
42
|
+
$ pindo android autobuild --send # 编译上传并发送通知
|
43
|
+
|
44
|
+
$ pindo android autobuild --proj=myapp # 指定项目名称
|
38
45
|
DESC
|
39
46
|
|
40
47
|
def self.options
|
41
48
|
[
|
42
49
|
['--release', '使用release模式构建'],
|
43
50
|
['--proj', '指定上传到测试平台的项目名称'],
|
44
|
-
['--upload', '上传编译后的apk到测试平台'],
|
45
|
-
['--send', '
|
51
|
+
['--upload', '上传编译后的apk到测试平台(上传成功后会自动发送消息给自己)'],
|
52
|
+
['--send', '发送消息到项目群(注意:不带此参数也会发送给自己)']
|
46
53
|
].concat(super)
|
47
54
|
end
|
48
55
|
|
@@ -104,8 +111,8 @@ module Pindo
|
|
104
111
|
end
|
105
112
|
|
106
113
|
scheme_name = @args_proj_name if @args_proj_name
|
107
|
-
if !app_info_obj.nil? && !app_info_obj["
|
108
|
-
scheme_name = app_info_obj["
|
114
|
+
if !app_info_obj.nil? && !app_info_obj["projectName"].nil? && !app_info_obj["projectName"].empty?
|
115
|
+
scheme_name = app_info_obj["projectName"]
|
109
116
|
end
|
110
117
|
if scheme_name.nil? || scheme_name.empty? && is_git_directory?(local_repo_dir:pindo_project_dir)
|
111
118
|
current_git_root_path = git_root_directory(local_repo_dir: pindo_project_dir)
|
@@ -154,10 +161,25 @@ module Pindo
|
|
154
161
|
description = nil
|
155
162
|
result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
|
156
163
|
if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
|
157
|
-
|
158
|
-
|
164
|
+
PgyerHelper.share_instace.print_app_version_info(
|
165
|
+
app_info_obj: app_info_obj,
|
166
|
+
app_version_info_obj: result_data["data"]
|
167
|
+
)
|
168
|
+
# 始终发送给自己
|
169
|
+
PgyerHelper.share_instace.send_apptest_msg(
|
170
|
+
app_info_obj: app_info_obj,
|
171
|
+
app_version_info_obj: result_data["data"],
|
172
|
+
receiveType: "self"
|
173
|
+
)
|
174
|
+
|
175
|
+
# 如果有 --send 参数,额外发送到测试群
|
159
176
|
if @args_send_flag
|
160
|
-
PgyerHelper.share_instace.
|
177
|
+
PgyerHelper.share_instace.send_apptest_msg(
|
178
|
+
app_info_obj: app_info_obj,
|
179
|
+
app_version_info_obj: result_data["data"],
|
180
|
+
chatEnv: "DevTest",
|
181
|
+
receiveType: "chat"
|
182
|
+
)
|
161
183
|
end
|
162
184
|
end
|
163
185
|
end
|
@@ -11,18 +11,25 @@ module Pindo
|
|
11
11
|
|
12
12
|
self.summary = '编译Android工程并支持上传apk'
|
13
13
|
self.description = <<-DESC
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
14
|
+
编译Android工程并生成apk文件。
|
15
|
+
|
16
|
+
支持功能:
|
17
|
+
|
18
|
+
* 编译工程
|
19
|
+
|
20
|
+
* 生成APK文件
|
21
|
+
|
22
|
+
* 支持上传分发
|
23
|
+
|
24
|
+
使用示例:
|
25
|
+
|
26
|
+
$ pindo android build # 仅编译
|
27
|
+
|
28
|
+
$ pindo android build --upload # 编译并上传
|
29
|
+
|
30
|
+
$ pindo android build --send # 编译并发送通知
|
31
|
+
|
32
|
+
$ pindo android build --proj=myapp # 指定项目名称
|
26
33
|
DESC
|
27
34
|
|
28
35
|
def self.options
|
@@ -97,11 +104,25 @@ module Pindo
|
|
97
104
|
description = nil
|
98
105
|
result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
|
99
106
|
if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
|
100
|
-
|
101
|
-
|
102
|
-
|
107
|
+
PgyerHelper.share_instace.print_app_version_info(
|
108
|
+
app_info_obj: app_info_obj,
|
109
|
+
app_version_info_obj: result_data["data"]
|
110
|
+
)
|
103
111
|
if @args_send_flag
|
104
|
-
|
112
|
+
# 始终发送给自己
|
113
|
+
PgyerHelper.share_instace.send_apptest_msg(
|
114
|
+
app_info_obj: app_info_obj,
|
115
|
+
app_version_info_obj: result_data["data"],
|
116
|
+
receiveType: "self"
|
117
|
+
)
|
118
|
+
|
119
|
+
# 额外发送到测试群
|
120
|
+
PgyerHelper.share_instace.send_apptest_msg(
|
121
|
+
app_info_obj: app_info_obj,
|
122
|
+
app_version_info_obj: result_data["data"],
|
123
|
+
chatEnv: "DevTest",
|
124
|
+
receiveType: "chat"
|
125
|
+
)
|
105
126
|
end
|
106
127
|
end
|
107
128
|
end
|
@@ -10,32 +10,31 @@ module Pindo
|
|
10
10
|
|
11
11
|
# 详细说明
|
12
12
|
self.description = <<-DESC
|
13
|
-
|
13
|
+
编译Android Debug包并支持上传到测试平台。
|
14
14
|
|
15
|
-
|
15
|
+
支持功能:
|
16
16
|
|
17
|
-
|
17
|
+
* 编译Debug包
|
18
18
|
|
19
|
-
|
19
|
+
* 上传到测试平台
|
20
20
|
|
21
|
-
|
21
|
+
* 发送测试通知
|
22
22
|
|
23
|
-
|
23
|
+
使用示例:
|
24
24
|
|
25
|
-
|
25
|
+
$ pindo android debug # 编译Debug包
|
26
26
|
|
27
|
-
|
27
|
+
$ pindo android debug --upload # 编译并上传
|
28
28
|
|
29
|
-
|
29
|
+
$ pindo android debug --send # 编译上传并发送通知
|
30
30
|
|
31
|
-
|
31
|
+
$ pindo android debug --proj=myapp # 指定项目名称
|
32
32
|
|
33
|
-
|
33
|
+
$ pindo android debug --release # 编译Release包
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
$ pindo android debug --direct # 直接打包而不编译 unity 子 Lib
|
35
|
+
$ pindo android debug --dsign # 测试获取签名文件
|
38
36
|
|
37
|
+
$ pindo android debug --direct # 直接打包而不编译 unity 子 Lib
|
39
38
|
DESC
|
40
39
|
|
41
40
|
# 命令参数
|
@@ -80,8 +79,8 @@ module Pindo
|
|
80
79
|
|
81
80
|
|
82
81
|
app_info_obj = nil
|
83
|
-
if @
|
84
|
-
proj_name = @
|
82
|
+
if @upload_flag
|
83
|
+
proj_name = @proj_name
|
85
84
|
app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:proj_name)
|
86
85
|
end
|
87
86
|
|
@@ -93,10 +92,25 @@ module Pindo
|
|
93
92
|
description = nil
|
94
93
|
result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
|
95
94
|
if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
95
|
+
PgyerHelper.share_instace.print_app_version_info(
|
96
|
+
app_info_obj: app_info_obj,
|
97
|
+
app_version_info_obj: result_data["data"]
|
98
|
+
)
|
99
|
+
if @send_flag
|
100
|
+
# 始终发送给自己
|
101
|
+
PgyerHelper.share_instace.send_apptest_msg(
|
102
|
+
app_info_obj: app_info_obj,
|
103
|
+
app_version_info_obj: result_data["data"],
|
104
|
+
receiveType: "self"
|
105
|
+
)
|
106
|
+
|
107
|
+
# 额外发送到测试群
|
108
|
+
PgyerHelper.share_instace.send_apptest_msg(
|
109
|
+
app_info_obj: app_info_obj,
|
110
|
+
app_version_info_obj: result_data["data"],
|
111
|
+
chatEnv: "DevTest",
|
112
|
+
receiveType: "chat"
|
113
|
+
)
|
100
114
|
end
|
101
115
|
end
|
102
116
|
end
|
@@ -12,7 +12,21 @@ module Pindo
|
|
12
12
|
self.summary = 'Appstore中iap相关操作'
|
13
13
|
|
14
14
|
self.description = <<-DESC
|
15
|
-
|
15
|
+
Appstore中iap相关操作。
|
16
|
+
|
17
|
+
支持功能:
|
18
|
+
|
19
|
+
* 创建IAP购买项
|
20
|
+
|
21
|
+
* 更新IAP配置
|
22
|
+
|
23
|
+
* 管理订阅项目
|
24
|
+
|
25
|
+
使用示例:
|
26
|
+
|
27
|
+
$ pindo appstore iap # 默认创建iap购买项
|
28
|
+
|
29
|
+
$ pindo appstore iap config.json # 使用指定配置文件
|
16
30
|
DESC
|
17
31
|
|
18
32
|
self.arguments = [
|
@@ -12,7 +12,21 @@ module Pindo
|
|
12
12
|
self.summary = 'Appstore中创建app'
|
13
13
|
|
14
14
|
self.description = <<-DESC
|
15
|
-
|
15
|
+
Appstore中创建app。
|
16
|
+
|
17
|
+
支持功能:
|
18
|
+
|
19
|
+
* 在App Store Connect创建新应用
|
20
|
+
|
21
|
+
* 配置应用基本信息
|
22
|
+
|
23
|
+
* 设置应用权限
|
24
|
+
|
25
|
+
使用示例:
|
26
|
+
|
27
|
+
$ pindo appstore itcapp # 使用默认配置创建app
|
28
|
+
|
29
|
+
$ pindo appstore itcapp config.json # 使用指定配置文件创建app
|
16
30
|
DESC
|
17
31
|
|
18
32
|
self.arguments = [
|
@@ -12,7 +12,21 @@ module Pindo
|
|
12
12
|
self.summary = 'Appstore中metadata相关操作'
|
13
13
|
|
14
14
|
self.description = <<-DESC
|
15
|
-
|
15
|
+
Appstore中metadata相关操作。
|
16
|
+
|
17
|
+
支持功能:
|
18
|
+
|
19
|
+
* 更新应用描述信息
|
20
|
+
|
21
|
+
* 管理多语言内容
|
22
|
+
|
23
|
+
* 配置关键词和分类
|
24
|
+
|
25
|
+
使用示例:
|
26
|
+
|
27
|
+
$ pindo appstore metadata # 使用默认配置更新metadata
|
28
|
+
|
29
|
+
$ pindo appstore metadata config.json # 使用指定配置文件更新metadata
|
16
30
|
DESC
|
17
31
|
|
18
32
|
self.arguments = [
|
@@ -12,7 +12,21 @@ module Pindo
|
|
12
12
|
self.summary = 'Appstore中screenshots相关操作'
|
13
13
|
|
14
14
|
self.description = <<-DESC
|
15
|
-
|
15
|
+
Appstore中screenshots相关操作。
|
16
|
+
|
17
|
+
支持功能:
|
18
|
+
|
19
|
+
* 上传应用截图
|
20
|
+
|
21
|
+
* 管理不同设备的截图
|
22
|
+
|
23
|
+
* 批量处理截图文件
|
24
|
+
|
25
|
+
使用示例:
|
26
|
+
|
27
|
+
$ pindo appstore screenshots # 使用默认配置上传截图
|
28
|
+
|
29
|
+
$ pindo appstore screenshots config.json # 使用指定配置文件上传截图
|
16
30
|
DESC
|
17
31
|
|
18
32
|
self.arguments = [
|
@@ -11,7 +11,21 @@ module Pindo
|
|
11
11
|
self.summary = '上传ipa到appstore'
|
12
12
|
|
13
13
|
self.description = <<-DESC
|
14
|
-
|
14
|
+
上传ipa到App Store。
|
15
|
+
|
16
|
+
支持功能:
|
17
|
+
|
18
|
+
* 验证IPA文件
|
19
|
+
|
20
|
+
* 上传到App Store Connect
|
21
|
+
|
22
|
+
* 提交审核准备
|
23
|
+
|
24
|
+
使用示例:
|
25
|
+
|
26
|
+
$ pindo appstore upload # 使用默认配置上传
|
27
|
+
|
28
|
+
$ pindo appstore upload config.json # 使用指定配置文件上传
|
15
29
|
DESC
|
16
30
|
|
17
31
|
self.arguments = [
|