pindo 5.4.1 → 5.5.1

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.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/client/aws3sclient.rb +2 -2
  3. data/lib/pindo/client/httpclient.rb +1 -2
  4. data/lib/pindo/command/android/autobuild.rb +40 -18
  5. data/lib/pindo/command/android/build.rb +37 -16
  6. data/lib/pindo/command/android/debug.rb +34 -20
  7. data/lib/pindo/command/appstore/iap.rb +15 -1
  8. data/lib/pindo/command/appstore/itcapp.rb +15 -1
  9. data/lib/pindo/command/appstore/metadata.rb +15 -1
  10. data/lib/pindo/command/appstore/screenshots.rb +15 -1
  11. data/lib/pindo/command/appstore/upload.rb +15 -1
  12. data/lib/pindo/command/deploy/build.rb +35 -20
  13. data/lib/pindo/command/deploy/bundleid.rb +15 -1
  14. data/lib/pindo/command/deploy/cert.rb +19 -2
  15. data/lib/pindo/command/deploy/check.rb +15 -1
  16. data/lib/pindo/command/deploy/configproj.rb +15 -1
  17. data/lib/pindo/command/deploy/confusecode.rb +15 -1
  18. data/lib/pindo/command/deploy/confuseproj.rb +11 -1
  19. data/lib/pindo/command/deploy/fabric.rb +10 -1
  20. data/lib/pindo/command/deploy/getitcinfo.rb +11 -1
  21. data/lib/pindo/command/deploy/iap.rb +12 -1
  22. data/lib/pindo/command/deploy/initconfig.rb +11 -1
  23. data/lib/pindo/command/deploy/itcinfo.rb +12 -1
  24. data/lib/pindo/command/deploy/pullconfig.rb +11 -1
  25. data/lib/pindo/command/deploy/pushconfig.rb +11 -1
  26. data/lib/pindo/command/deploy/quswark.rb +12 -1
  27. data/lib/pindo/command/deploy/quswauth.rb +10 -1
  28. data/lib/pindo/command/deploy/reportbug.rb +11 -1
  29. data/lib/pindo/command/deploy/resign.rb +12 -1
  30. data/lib/pindo/command/deploy/updateconfig.rb +11 -1
  31. data/lib/pindo/command/deploy/uploadipa.rb +11 -1
  32. data/lib/pindo/command/env/dreamstudio.rb +13 -1
  33. data/lib/pindo/command/env/quarkenv.rb +13 -1
  34. data/lib/pindo/command/env/swarkenv.rb +13 -1
  35. data/lib/pindo/command/env/workhard.rb +13 -1
  36. data/lib/pindo/command/gplay/iap.rb +21 -5
  37. data/lib/pindo/command/gplay/itcapp.rb +19 -5
  38. data/lib/pindo/command/gplay/metadata.rb +23 -5
  39. data/lib/pindo/command/gplay/screenshots.rb +23 -5
  40. data/lib/pindo/command/gplay/upload.rb +21 -5
  41. data/lib/pindo/command/gplay.rb +8 -8
  42. data/lib/pindo/command/ios/adhoc.rb +18 -3
  43. data/lib/pindo/command/ios/autobuild.rb +22 -7
  44. data/lib/pindo/command/ios/autoresign.rb +18 -3
  45. data/lib/pindo/command/ios/build.rb +18 -4
  46. data/lib/pindo/command/ipa/autoresign.rb +35 -4
  47. data/lib/pindo/command/ipa/import.rb +19 -1
  48. data/lib/pindo/command/ipa/output.rb +39 -4
  49. data/lib/pindo/command/{pgyer → jps}/apptest.rb +35 -24
  50. data/lib/pindo/command/jps/bind.rb +191 -0
  51. data/lib/pindo/command/{pgyer → jps}/comment.rb +19 -19
  52. data/lib/pindo/command/{pgyer → jps}/download.rb +20 -20
  53. data/lib/pindo/command/{pgyer → jps}/login.rb +9 -9
  54. data/lib/pindo/command/{pgyer → jps}/resign.rb +40 -25
  55. data/lib/pindo/command/{pgyer → jps}/upload.rb +60 -43
  56. data/lib/pindo/command/jps.rb +18 -0
  57. data/lib/pindo/command/lib/forcepush.rb +15 -1
  58. data/lib/pindo/command/lib/push.rb +15 -1
  59. data/lib/pindo/command/lib/update.rb +15 -1
  60. data/lib/pindo/command/repo/clone.rb +11 -1
  61. data/lib/pindo/command/repo/create.rb +13 -1
  62. data/lib/pindo/command/repo/login.rb +14 -3
  63. data/lib/pindo/command/repo/search.rb +14 -2
  64. data/lib/pindo/command/unity/apk.rb +14 -28
  65. data/lib/pindo/command/unity/autobuild.rb +13 -13
  66. data/lib/pindo/command/unity/ipa.rb +15 -29
  67. data/lib/pindo/command/unity/web.rb +15 -15
  68. data/lib/pindo/command/utils/boss.rb +19 -2
  69. data/lib/pindo/command/utils/clearcert.rb +18 -2
  70. data/lib/pindo/command/utils/device.rb +19 -2
  71. data/lib/pindo/command/utils/icon.rb +20 -2
  72. data/lib/pindo/command/utils/renewcert.rb +28 -3
  73. data/lib/pindo/command/utils/renewproj.rb +25 -2
  74. data/lib/pindo/command/utils/tgate.rb +28 -3
  75. data/lib/pindo/command/utils/xcassets.rb +20 -2
  76. data/lib/pindo/command/web/autobuild.rb +18 -3
  77. data/lib/pindo/command.rb +1 -1
  78. data/lib/pindo/module/pgyer/pgyerhelper.rb +185 -85
  79. data/lib/pindo/version.rb +1 -1
  80. metadata +30 -12
  81. data/lib/pindo/client/pgyer_feishu_oauth_cli.rb +0 -669
  82. data/lib/pindo/client/pgyerclient.rb +0 -466
  83. data/lib/pindo/client/pgyeruploadclient.rb +0 -517
  84. data/lib/pindo/command/pgyer.rb +0 -18
@@ -5,14 +5,14 @@ require 'pindo/module/pgyer/pgyerhelper'
5
5
 
6
6
  module Pindo
7
7
  class Command
8
- class Pgyer < Command
8
+ class Jps < Command
9
9
 
10
- class Login < Pgyer
10
+ class Login < Jps
11
11
 
12
- self.summary = '登录pgyer测试平台'
12
+ self.summary = '登录jps测试平台'
13
13
 
14
14
  self.description = <<-DESC
15
- 登录pgyer测试平台。
15
+ 登录jps测试平台。
16
16
 
17
17
  支持功能:
18
18
 
@@ -22,9 +22,9 @@ module Pindo
22
22
 
23
23
  使用示例:
24
24
 
25
- $ pindo pgyer login # 登录pgyer
26
-
27
- $ pindo pgyer login --force # 强制重新登录
25
+ $ pindo jps login # 登录jps
26
+
27
+ $ pindo jps login --force # 强制重新登录
28
28
  DESC
29
29
 
30
30
  self.arguments = [
@@ -33,7 +33,7 @@ module Pindo
33
33
 
34
34
  def self.options
35
35
  [
36
- ['--force', '强制重新登录pgyer'],
36
+ ['--force', '强制重新登录jps'],
37
37
  ].concat(super)
38
38
  end
39
39
 
@@ -67,4 +67,4 @@ module Pindo
67
67
  end
68
68
  end
69
69
  end
70
- end
70
+ end
@@ -4,14 +4,14 @@ require 'pindo/module/pgyer/pgyerhelper'
4
4
 
5
5
  module Pindo
6
6
  class Command
7
- class Pgyer < Command
8
- class Resign < Pgyer
7
+ class Jps < Command
8
+ class Resign < Jps
9
9
 
10
10
 
11
- self.summary = '重签名pgyer中的安装包'
11
+ self.summary = '重签名jps中的安装包'
12
12
 
13
13
  self.description = <<-DESC
14
- 重签名pgyer中的安装包。
14
+ 重签名jps中的安装包。
15
15
 
16
16
  支持功能:
17
17
 
@@ -21,15 +21,15 @@ module Pindo
21
21
 
22
22
  使用示例:
23
23
 
24
- $ pindo pgyer resign # 重签名当前项目最新版本
25
-
26
- $ pindo pgyer resign --proj=demo # 重签名指定项目
27
-
28
- $ pindo pgyer resign --list # 列出历史版本供选择
29
-
30
- $ pindo pgyer resign --certid=xxx # 使用指定证书重签名
31
-
32
- $ pindo pgyer resign --send # 重签名后发送测试信息
24
+ $ pindo jps resign # 重签名当前项目最新版本
25
+
26
+ $ pindo jps resign --proj=demo # 重签名指定项目
27
+
28
+ $ pindo jps resign --list # 列出历史版本供选择
29
+
30
+ $ pindo jps resign --certid=xxx # 使用指定证书重签名
31
+
32
+ $ pindo jps resign --send # 重签名后发送测试信息
33
33
  DESC
34
34
 
35
35
  self.arguments = [
@@ -38,11 +38,11 @@ module Pindo
38
38
 
39
39
  def self.options
40
40
  [
41
- ['--login', '强制再次登录pgyer网站'],
42
- ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo pgyer resign --proj=prancksoundv4'],
43
- ['--list', '列出上传记录并选择,用法:pindo pgyer resign --list'],
44
- ['--send', '上传到之后是否发送测试信息,用法:pindo pgyer resign --send'],
45
- ['--certid', '设置重签名的正式id,用法:pindo pgyer resign --resignid=com.test.bundleid'],
41
+ ['--login', '强制再次登录jps网站'],
42
+ ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo jps resign --proj=prancksoundv4'],
43
+ ['--list', '列出上传记录并选择,用法:pindo jps resign --list'],
44
+ ['--send', '发送消息到项目群(注意:不带此参数也会发送给自己),用法:pindo jps resign --send'],
45
+ ['--certid', '设置重签名的正式id,用法:pindo jps resign --resignid=com.test.bundleid'],
46
46
  ].concat(super)
47
47
  end
48
48
 
@@ -70,7 +70,7 @@ module Pindo
70
70
  app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:@args_proj_name)
71
71
 
72
72
  if app_info_obj.nil?
73
- raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
73
+ raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, jps网站没有该App"
74
74
  end
75
75
 
76
76
 
@@ -102,7 +102,7 @@ module Pindo
102
102
 
103
103
 
104
104
 
105
- result = PgyerHelper.share_instace.resign(version_id:version_item_obj["id"], cert_id:cert_item["id"])
105
+ result = PgyerHelper.share_instace.resign(package_id:version_item_obj["id"], cert_id:cert_item["id"])
106
106
 
107
107
  if result
108
108
  version_item_obj = PgyerHelper.share_instace.get_versioon_history_item(app_info_obj:app_info_obj, list_select_flat:false)
@@ -110,11 +110,26 @@ module Pindo
110
110
  if version_item_obj.nil?
111
111
  raise Informative, "没有找到上传记录"
112
112
  end
113
- msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:version_item_obj)
114
- PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
115
-
113
+ PgyerHelper.share_instace.print_app_version_info(
114
+ app_info_obj: app_info_obj,
115
+ app_version_info_obj: version_item_obj
116
+ )
117
+
118
+ # 始终发送给自己
119
+ PgyerHelper.share_instace.send_apptest_msg(
120
+ app_info_obj: app_info_obj,
121
+ app_version_info_obj: version_item_obj,
122
+ receiveType: "self"
123
+ )
124
+
125
+ # 如果有 --send 参数,额外发送到测试群
116
126
  if @args_send_flag
117
- PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data, wechat_url:app_info_obj["prodWeComUrl"])
127
+ PgyerHelper.share_instace.send_apptest_msg(
128
+ app_info_obj: app_info_obj,
129
+ app_version_info_obj: version_item_obj,
130
+ chatEnv: "DevTest",
131
+ receiveType: "chat"
132
+ )
118
133
  end
119
134
  end
120
135
 
@@ -126,4 +141,4 @@ module Pindo
126
141
  end
127
142
  end
128
143
  end
129
- end
144
+ end
@@ -7,14 +7,14 @@ require 'pindo/module/build/buildhelper'
7
7
 
8
8
  module Pindo
9
9
  class Command
10
- class Pgyer < Command
11
- class Upload < Pgyer
10
+ class Jps < Command
11
+ class Upload < Jps
12
12
 
13
13
 
14
- self.summary = '上传安装包到pgyer测试平台'
14
+ self.summary = '上传安装包到jps测试平台'
15
15
 
16
16
  self.description = <<-DESC
17
- 上传安装包到pgyer测试平台。
17
+ 上传安装包到jps测试平台。
18
18
 
19
19
  支持功能:
20
20
 
@@ -26,17 +26,17 @@ module Pindo
26
26
 
27
27
  使用示例:
28
28
 
29
- $ pindo pgyer upload path/to/app.ipa # 上传指定安装包
30
-
31
- $ pindo pgyer upload --proj=demo # 上传到指定项目
32
-
33
- $ pindo pgyer upload --desc="版本说明" # 添加版本描述
34
-
35
- $ pindo pgyer upload --attach=file.zip # 上传附件
36
-
37
- $ pindo pgyer upload --resign # 上传后重签名
38
-
39
- $ pindo pgyer upload --send # 上传后发送企业微信测试信息
29
+ $ pindo jps upload path/to/app.ipa # 上传指定安装包
30
+
31
+ $ pindo jps upload --proj=demo # 上传到指定项目
32
+
33
+ $ pindo jps upload --desc="版本说明" # 添加版本描述
34
+
35
+ $ pindo jps upload --attach=file.zip # 上传附件
36
+
37
+ $ pindo jps upload --resign # 上传后重签名
38
+
39
+ $ pindo jps upload --send # 上传后发送企业微信测试信息
40
40
  DESC
41
41
 
42
42
  self.arguments = [
@@ -45,15 +45,15 @@ module Pindo
45
45
 
46
46
  def self.options
47
47
  [
48
- ['--login', '强制再次登录pgyer网站,用法: pindo pgyer upload --login'],
49
- ['--ipa', '强制指定上传的ipa文件: pindo pgyer upload --ipa=path/to/demo.ipa'],
50
- ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo pgyer upload --proj=prancksoundv4'],
51
- ['--attach', '指定需要和ipa一起上传的附件: pindo pgyer upload --attach=path/to/attach.zip'],
52
- ['--send', '上传到之后是否发送测试信息,用法:pindo pgyer upload --send'],
53
- ['--desc', '指定上传的备注信息: -pindo pgyer upload -desc="1.upload message"'],
54
- ['--resign', '上传到之后是否重签名,用法:pindo pgyer upload --resign'],
55
- ['--certid', '设置重签名的正式id,用法:pindo pgyer upload --certid=com.test.bundleid'],
56
-
48
+ ['--login', '强制再次登录jps网站,用法: pindo jps upload --login'],
49
+ ['--ipa', '强制指定上传的ipa文件: pindo jps upload --ipa=path/to/demo.ipa'],
50
+ ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo jps upload --proj=prancksoundv4'],
51
+ ['--attach', '指定需要和ipa一起上传的附件: pindo jps upload --attach=path/to/attach.zip'],
52
+ ['--send', '发送消息到项目群(注意:不带此参数也会发送给自己),用法:pindo jps upload --send'],
53
+ ['--desc', '指定上传的备注信息: -pindo jps upload -desc="1.upload message"'],
54
+ ['--resign', '上传到之后是否重签名,用法:pindo jps upload --resign'],
55
+ ['--certid', '设置重签名的正式id,用法:pindo jps upload --certid=com.test.bundleid'],
56
+
57
57
  ].concat(super)
58
58
  end
59
59
 
@@ -110,7 +110,7 @@ module Pindo
110
110
  Dir.chdir(current_project_dir)
111
111
  is_need_add_tag,tag_action_parms = build_helper.check_is_need_add_tag?(current_project_dir)
112
112
  if is_need_add_tag
113
- Pindo::Command::Dev::Tag::run(tag_action_parms)
113
+ Pindo::Command::Dev::Tag::run(tag_action_parms)
114
114
  end
115
115
 
116
116
  if @args_ipa_file.nil? || !File.exist?(@args_ipa_file)
@@ -124,7 +124,7 @@ module Pindo
124
124
  build_path = File.join(current_project_dir, "build", "*.{apk}")
125
125
  @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
126
126
  when :unity
127
-
127
+
128
128
  if File.exist?(File.join(current_project_dir, "GoodPlatform/BaseiOS"))
129
129
  build_path = File.join(current_project_dir, "GoodPlatform/BaseiOS/build", "*.{ipa,app}")
130
130
  @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
@@ -164,27 +164,44 @@ module Pindo
164
164
  app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:@args_proj_name)
165
165
 
166
166
  if app_info_obj.nil?
167
- raise Informative, "#{@args_proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
167
+ raise Informative, "#{@args_proj_name} 错误, 请输入正确的App代号名称, jps网站没有该App"
168
168
  end
169
169
 
170
170
  result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:@args_ipa_file, description:@args_upload_desc)
171
171
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
172
- msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:result_data["data"])
173
- PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
174
-
175
- if @args_send_flag
176
- if @args_resign_flag
177
- args = []
172
+ PgyerHelper.share_instace.print_app_version_info(
173
+ app_info_obj: app_info_obj,
174
+ app_version_info_obj: result_data["data"]
175
+ )
176
+
177
+ if @args_resign_flag
178
+ args = []
179
+ if @args_send_flag
178
180
  args << "--send"
179
- if !@args_cert_id.nil? && !@args_cert_id.empty?
180
- args << "--certid=#{@args_cert_id}"
181
- end
182
- if !@args_proj_name.nil? && !@args_proj_name.empty?
183
- args << "--proj=#{@args_proj_name}"
184
- end
185
- Pindo::Command::Pgyer::Resign::run(args)
186
- else
187
- PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data)
181
+ end
182
+ if !@args_cert_id.nil? && !@args_cert_id.empty?
183
+ args << "--certid=#{@args_cert_id}"
184
+ end
185
+ if !@args_proj_name.nil? && !@args_proj_name.empty?
186
+ args << "--proj=#{@args_proj_name}"
187
+ end
188
+ Pindo::Command::Jps::Resign::run(args)
189
+ else
190
+ # 始终发送给自己
191
+ PgyerHelper.share_instace.send_apptest_msg(
192
+ app_info_obj: app_info_obj,
193
+ app_version_info_obj: result_data["data"],
194
+ receiveType: "self"
195
+ )
196
+
197
+ # 如果有 --send 参数,额外发送到测试群
198
+ if @args_send_flag
199
+ PgyerHelper.share_instace.send_apptest_msg(
200
+ app_info_obj: app_info_obj,
201
+ app_version_info_obj: result_data["data"],
202
+ chatEnv: "DevTest",
203
+ receiveType: "chat"
204
+ )
188
205
  end
189
206
  end
190
207
  end
@@ -194,4 +211,4 @@ module Pindo
194
211
  end
195
212
  end
196
213
  end
197
- end
214
+ end
@@ -0,0 +1,18 @@
1
+ require 'pindo/command/jps/login'
2
+ require 'pindo/command/jps/upload'
3
+ require 'pindo/command/jps/download'
4
+ require 'pindo/command/jps/comment'
5
+ require 'pindo/command/jps/apptest'
6
+ require 'pindo/command/jps/resign'
7
+ require 'pindo/command/jps/bind'
8
+
9
+ module Pindo
10
+ class Command
11
+
12
+ class Jps < Command
13
+ self.abstract_command = true
14
+ self.summary = 'jps网站的相关命令'
15
+ end
16
+
17
+ end
18
+ end
@@ -10,7 +10,21 @@ module Pindo
10
10
  self.summary = '将私有pod库推送到远程仓库中'
11
11
 
12
12
  self.description = <<-DESC
13
- 将私有pod库推送到远程仓库并添加到索引库中。用法:在工程目录下执行 pod lib libpush
13
+ 强制将私有pod库推送到远程仓库并添加到索引库中。
14
+
15
+ 支持功能:
16
+
17
+ * 强制推送podspec
18
+
19
+ * 覆盖已存在的版本
20
+
21
+ * 跳过验证步骤
22
+
23
+ 使用示例:
24
+
25
+ $ pindo lib forcepush MyLib.podspec # 强制推送指定的podspec
26
+
27
+ $ pindo lib forcepush # 强制推送当前目录的podspec
14
28
  DESC
15
29
 
16
30
  self.arguments = [
@@ -10,7 +10,21 @@ module Pindo
10
10
  self.summary = '将私有pod库推送到远程仓库中'
11
11
 
12
12
  self.description = <<-DESC
13
- 将私有pod库推送到远程仓库并添加到索引库中。用法:在工程目录下执行 pod lib libpush
13
+ 将私有pod库推送到远程仓库并添加到索引库中。
14
+
15
+ 支持功能:
16
+
17
+ * 验证podspec文件
18
+
19
+ * 推送到远程Git仓库
20
+
21
+ * 添加到私有索引库
22
+
23
+ 使用示例:
24
+
25
+ $ pindo lib push MyLib.podspec # 推送指定的podspec
26
+
27
+ $ pindo lib push # 自动查找并推送podspec
14
28
  DESC
15
29
 
16
30
  self.arguments = [
@@ -10,7 +10,21 @@ module Pindo
10
10
  self.summary = '更新私有库索引地址'
11
11
 
12
12
  self.description = <<-DESC
13
- 更新私有库索引地址,终端下运行 pindo lib update
13
+ 更新私有库索引地址。
14
+
15
+ 支持功能:
16
+
17
+ * 更新私有索引库
18
+
19
+ * 同步最新的podspec
20
+
21
+ * 清理缓存
22
+
23
+ 使用示例:
24
+
25
+ $ pindo lib update # 更新所有私有索引库
26
+
27
+ $ pindo lib update MySpecs # 更新指定的索引库
14
28
  DESC
15
29
 
16
30
  self.arguments = [
@@ -14,7 +14,17 @@ module Pindo
14
14
  self.summary = '下载仓库到本地'
15
15
 
16
16
  self.description = <<-DESC
17
- 下载仓库到本地,终端运行:pindo repo clone 仓库名称
17
+ 下载仓库到本地,支持从配置文件自动获取仓库信息或手动指定仓库名称进行下载。
18
+
19
+ 支持功能:
20
+ • 手动指定仓库名称进行下载
21
+ • 自动从当前目录config.json文件读取仓库信息
22
+ • 支持指定分支下载(默认master分支)
23
+ • 下载到当前工作目录
24
+
25
+ 使用示例:
26
+ pindo repo clone my-repo # 下载指定仓库
27
+ pindo repo clone # 从config.json自动获取仓库信息下载
18
28
  DESC
19
29
 
20
30
  self.arguments = [
@@ -12,7 +12,19 @@ module Pindo
12
12
  self.summary = '代码托管网站中创建仓库'
13
13
 
14
14
  self.description = <<-DESC
15
- 代码托管网站中创建仓库,终端运行:pindo repo create
15
+ 在代码托管网站中创建新的仓库,支持指定仓库名称、组织信息和强制登录等功能。
16
+
17
+ 支持功能:
18
+ • 在代码托管网站创建新仓库
19
+ • 支持指定仓库名称和组织信息
20
+ • 支持强制重新登录
21
+ • 命令行参数和选项灵活配置
22
+
23
+ 使用示例:
24
+ pindo repo create my-repo # 创建指定名称的仓库
25
+ pindo repo create --repo my-repo # 通过选项指定仓库名称
26
+ pindo repo create --org my-org --repo test # 指定组织和仓库名称
27
+ pindo repo create --login # 强制重新登录后创建
16
28
  DESC
17
29
 
18
30
  self.arguments = [
@@ -4,7 +4,7 @@ require 'highline/import'
4
4
  require 'fileutils'
5
5
  require 'json'
6
6
  require 'faraday'
7
- require 'pindo/client/pgyerclient'
7
+ require 'jpsclient'
8
8
  require 'pindo/client/aws3sclient'
9
9
 
10
10
 
@@ -17,7 +17,17 @@ module Pindo
17
17
  self.summary = '登录代码仓库托管网站'
18
18
 
19
19
  self.description = <<-DESC
20
- 登录代码仓库托管网站,终端运行:pindo repo login
20
+ 登录代码仓库托管网站,使用JPS客户端进行身份验证和会话管理。
21
+
22
+ 支持功能:
23
+ • 自动登录代码仓库托管网站
24
+ • 支持强制重新登录覆盖现有会话
25
+ • 使用配置文件管理登录凭据
26
+ • 登录状态验证和错误处理
27
+
28
+ 使用示例:
29
+ pindo repo login # 正常登录
30
+ pindo repo login --force # 强制重新登录
21
31
  DESC
22
32
 
23
33
  self.arguments = [
@@ -47,7 +57,8 @@ module Pindo
47
57
  def run
48
58
 
49
59
  app_info_obj = nil
50
- @pgyer_client = PgyerClient.new
60
+ config_file = File.join(File::expand_path(Pindoconfig.instance.pindo_common_configdir), "jps_client_config.json")
61
+ @pgyer_client = JPSClient::Client.new(config_file: config_file)
51
62
 
52
63
  login_success = @pgyer_client.do_login(force_login:@args_login_flag)
53
64
 
@@ -4,7 +4,7 @@ require 'highline/import'
4
4
  require 'fileutils'
5
5
  require 'json'
6
6
  require 'faraday'
7
- require 'pindo/client/pgyerclient'
7
+ require 'jpsclient'
8
8
  require 'pindo/client/aws3sclient'
9
9
 
10
10
 
@@ -16,7 +16,19 @@ module Pindo
16
16
  self.summary = '代码托管网站中模糊搜索仓库信息'
17
17
 
18
18
  self.description = <<-DESC
19
- 代码托管网站中模糊搜索仓库信息,终端运行:pindo repo search 搜索关键词
19
+ 在代码托管网站中模糊搜索仓库信息,支持关键词搜索和多种过滤条件。
20
+
21
+ 支持功能:
22
+ • 基于关键词的模糊搜索仓库
23
+ • 支持指定仓库名称精确搜索
24
+ • 支持按组织过滤搜索结果
25
+ • 支持强制重新登录进行搜索
26
+
27
+ 使用示例:
28
+ pindo repo search my-project # 搜索包含关键词的仓库
29
+ pindo repo search --repo exact-name # 精确搜索指定仓库名称
30
+ pindo repo search --org my-org keyword # 在指定组织中搜索
31
+ pindo repo search --login keyword # 强制重新登录后搜索
20
32
  DESC
21
33
 
22
34
  self.arguments = [
@@ -21,26 +21,26 @@ module Pindo
21
21
 
22
22
  # 命令的详细说明,包含用法示例
23
23
  self.description = <<-DESC
24
- 编译Unity工程生成Android APK。
24
+ 编译Unity工程生成Android APK。
25
25
 
26
- 支持功能:
26
+ 支持功能:
27
27
 
28
- * 编译生成APK
28
+ * 编译生成APK
29
29
 
30
- * 上传到测试平台
30
+ * 上传到测试平台
31
31
 
32
- * 发送测试通知
32
+ * 发送测试通知
33
33
 
34
- 使用示例:
34
+ 使用示例:
35
35
 
36
- $ pindo unity apk # 编译APK
36
+ $ pindo unity apk # 编译APK
37
37
 
38
- $ pindo unity apk --upload # 编译并上传
38
+ $ pindo unity apk --upload # 编译并上传
39
39
 
40
- $ pindo unity apk --send # 编译并上传并发送通知
40
+ $ pindo unity apk --send # 编译并上传并发送通知
41
41
 
42
- $ pindo unity apk --proj=myapp # 指定项目名称
43
- DESC
42
+ $ pindo unity apk --proj=myapp # 指定项目名称
43
+ DESC
44
44
 
45
45
  # 命令的参数列表
46
46
  self.arguments = [
@@ -53,9 +53,9 @@ module Pindo
53
53
  # 指定上传到蒲公英的项目
54
54
  ['--proj', '指定上传到测试平台的项目名称'],
55
55
  # 上传编译包
56
- ['--upload', '上传编译后的APK到测试平台'],
56
+ ['--upload', '上传编译后的APK到测试平台(上传成功后会自动发送消息给自己)'],
57
57
  # 发送通知
58
- ['--send', '上传成功后发送测试通知']
58
+ ['--send', '发送消息到项目群(注意:不带此参数也会发送给自己)']
59
59
 
60
60
  ].concat(super)
61
61
  end
@@ -114,20 +114,6 @@ module Pindo
114
114
  pindo_android_project_dir = android_export_lib_dir
115
115
  end
116
116
 
117
- # 验证构建输出目录是否存在
118
- unless File.directory?(pindo_android_project_dir)
119
- puts "\e[31m错误: Unity 构建输出目录不存在: #{pindo_android_project_dir}\e[0m"
120
- puts "\e[33m可能的原因:\e[0m"
121
- puts "• Unity 构建失败但未正确报告错误"
122
- puts "• GoodUnityBuild 配置的输出路径不正确"
123
- puts "• Unity 项目配置问题"
124
- puts "\e[33m建议检查:\e[0m"
125
- puts "• Unity 控制台日志"
126
- puts "• GoodUnityBuild 的 AndroidBuildConfiguration.cs 配置"
127
- puts "• 项目路径和权限设置"
128
- raise "Unity 构建输出目录不存在,构建可能失败"
129
- end
130
-
131
117
  puts "开始构建Unity项目..."
132
118
 
133
119
  unity_helper.build_project(
@@ -141,7 +127,7 @@ module Pindo
141
127
  args_temp = []
142
128
 
143
129
  if @args_upload_flag
144
- args_temp << "--proj=#{app_info_obj["appName"]}"
130
+ args_temp << "--proj=#{app_info_obj["projectName"]}"
145
131
  args_temp << "--upload"
146
132
  end
147
133
  if @args_send_flag
@@ -19,24 +19,24 @@ module Pindo
19
19
 
20
20
  # 详细说明
21
21
  self.description = <<-DESC
22
- 编译Unity工程生成iOS IPA并支持上传到测试平台。
23
-
24
- 支持功能:
22
+ 编译Unity工程生成iOS IPA并支持上传到测试平台。
23
+
24
+ 支持功能:
25
25
 
26
- * 编译生成IPA
26
+ * 编译生成IPA
27
27
 
28
- * 上传到测试平台
28
+ * 上传到测试平台
29
29
 
30
- * 发送测试通知
30
+ * 发送测试通知
31
31
 
32
- 使用示例:
32
+ 使用示例:
33
33
 
34
- $ pindo unity autobuild # 编译
34
+ $ pindo unity autobuild # 编译
35
35
 
36
- $ pindo unity autobuild --upload # 编译并上传
36
+ $ pindo unity autobuild --upload # 编译并上传
37
37
 
38
- $ pindo unity autobuild --proj=myapp # 指定项目名称
39
- DESC
38
+ $ pindo unity autobuild --proj=myapp # 指定项目名称
39
+ DESC
40
40
 
41
41
  # 命令参数
42
42
  self.arguments = [
@@ -151,7 +151,7 @@ module Pindo
151
151
  args_temp << "--bundleid=#{mainapp_bundleid}"
152
152
 
153
153
  if @args_upload_flag
154
- args_temp << "--proj=#{app_info_obj["appName"]}"
154
+ args_temp << "--proj=#{app_info_obj["projectName"]}"
155
155
  args_temp << "--upload"
156
156
  end
157
157
 
@@ -188,7 +188,7 @@ module Pindo
188
188
  args_temp = []
189
189
 
190
190
  if @args_upload_flag
191
- args_temp << "--proj=#{app_info_obj["appName"]}"
191
+ args_temp << "--proj=#{app_info_obj["projectName"]}"
192
192
  args_temp << "--upload"
193
193
  end
194
194