pindo 5.9.0 → 5.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e26747a73dfa47b5379d698b521f08edfe4daa0fb72d1b298eeacb45db40d0c5
4
- data.tar.gz: 6c1cdd4dd46bdca0107da545916c1f8caf7300eba9883010e383d7897d5472ed
3
+ metadata.gz: 0db013721ed33d91504f227eaa4ae585c648808c9091fa1f7e7cb8fecb5042b9
4
+ data.tar.gz: 775da05eca99d6b0bc3a11a8ae1e5be5756879c8c88d5404f637f7cad8c9afdf
5
5
  SHA512:
6
- metadata.gz: 2bfa1a08f4bfca1704f240d4ee4517e1a45684dc38c84b91262f87203cf0768445834b75f2c951950782a93a66beb7e616e5c38329f8c38795d92e4b4c93e1d4
7
- data.tar.gz: 395233f028b3df2350a442ab8ddebbe8514ced5f56f7d14229a6dd09b044dbffc4900848a43fe9b0e3ce8a66f63248e9e9635fe0b8cde32275e799070b644e62
6
+ metadata.gz: eadd395d931c0bb6993efd6085de67c7ea6e3a71a2904c2cbf32ff11b028d5064cb857f15c6ef7a385a8478b0eea4475cd1594c079da53765157fed98ff1f972
7
+ data.tar.gz: b3423e1e6498b5a526bffcbb6faf009d855bece2f0b91e01ce7bb51bdfb98c48fd29d1af34dc9b41d421147662787ee65d5d1d0c17d3d3dae457abc0f1c535e0
@@ -172,7 +172,12 @@ module Pindo
172
172
 
173
173
  if !ipa_file_upload.nil? && !app_info_obj.nil? && @args_upload_flag
174
174
  description = nil
175
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
175
+ result_data = PgyerHelper.share_instace.start_upload(
176
+ app_info_obj: app_info_obj,
177
+ ipa_file_upload: ipa_file_upload,
178
+ description: description,
179
+ workflow_info: workflow_info
180
+ )
176
181
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
177
182
  PgyerHelper.share_instace.print_app_version_info(
178
183
  app_info_obj: app_info_obj,
@@ -124,7 +124,12 @@ module Pindo
124
124
  if !ipa_file_upload.nil? && !app_info_obj.nil?
125
125
 
126
126
  description = nil
127
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
127
+ result_data = PgyerHelper.share_instace.start_upload(
128
+ app_info_obj: app_info_obj,
129
+ ipa_file_upload: ipa_file_upload,
130
+ description: description,
131
+ workflow_info: workflow_info
132
+ )
128
133
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
129
134
  PgyerHelper.share_instace.print_app_version_info(
130
135
  app_info_obj: app_info_obj,
@@ -112,7 +112,12 @@ module Pindo
112
112
 
113
113
  if !ipa_file_upload.nil? && !app_info_obj.nil?
114
114
  description = nil
115
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
115
+ result_data = PgyerHelper.share_instace.start_upload(
116
+ app_info_obj: app_info_obj,
117
+ ipa_file_upload: ipa_file_upload,
118
+ description: description,
119
+ workflow_info: workflow_info
120
+ )
116
121
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
117
122
  PgyerHelper.share_instace.print_app_version_info(
118
123
  app_info_obj: app_info_obj,
@@ -58,9 +58,15 @@ module Pindo
58
58
  def run
59
59
 
60
60
  app_info_obj = nil
61
+ workflow_info = nil
61
62
  if @args_upload_flag
62
63
  proj_name = @args_proj_name
63
- app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:proj_name)
64
+ # 传入 package_type 获取 workflow_info
65
+ app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
66
+ working_directory: Dir.pwd,
67
+ proj_name: proj_name,
68
+ package_type: 'ipa'
69
+ )
64
70
  end
65
71
 
66
72
  new_project_dir = Dir.pwd
@@ -80,9 +86,14 @@ module Pindo
80
86
  ipa_file_upload = Dir.glob(build_path).max_by {|f| File.mtime(f)}
81
87
 
82
88
  if !ipa_file_upload.nil? && !app_info_obj.nil?
83
-
89
+
84
90
  description = nil
85
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
91
+ result_data = PgyerHelper.share_instace.start_upload(
92
+ app_info_obj: app_info_obj,
93
+ ipa_file_upload: ipa_file_upload,
94
+ description: description,
95
+ workflow_info: workflow_info
96
+ )
86
97
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
87
98
  PgyerHelper.share_instace.print_app_version_info(
88
99
  app_info_obj: app_info_obj,
@@ -185,7 +185,7 @@ module Pindo
185
185
  build_path = File.join(pindo_new_project_dir, "build", "*.{ipa,app}")
186
186
  ipa_file_upload = Dir.glob(build_path).max_by {|f| File.mtime(f)}
187
187
 
188
- if !ipa_file_upload.nil? && !app_info_obj.nil?
188
+ if !ipa_file_upload.nil? && !app_info_obj.nil?
189
189
  description = nil
190
190
  if File.exist?(File.join(pindo_new_project_dir, ".release_info"))
191
191
  description = File.read(File.join(pindo_new_project_dir, ".release_info"))
@@ -194,7 +194,12 @@ module Pindo
194
194
  description = git!(%W(-C #{pindo_new_project_dir} show -s --format=%h::%s)).strip
195
195
  end
196
196
  end
197
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
197
+ result_data = PgyerHelper.share_instace.start_upload(
198
+ app_info_obj: app_info_obj,
199
+ ipa_file_upload: ipa_file_upload,
200
+ description: description,
201
+ workflow_info: workflow_info
202
+ )
198
203
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
199
204
  PgyerHelper.share_instace.print_app_version_info(
200
205
  app_info_obj: app_info_obj,
@@ -276,7 +276,12 @@ module Pindo
276
276
 
277
277
  if !ipa_file_upload.nil? && !app_info_obj.nil? && @args_upload_flag
278
278
  description = nil
279
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
279
+ result_data = PgyerHelper.share_instace.start_upload(
280
+ app_info_obj: app_info_obj,
281
+ ipa_file_upload: ipa_file_upload,
282
+ description: description,
283
+ workflow_info: workflow_info
284
+ )
280
285
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
281
286
  PgyerHelper.share_instace.print_app_version_info(
282
287
  app_info_obj: app_info_obj,
@@ -115,9 +115,15 @@ module Pindo
115
115
  Pindo::Command::Deploy::Pullconfig::run(args_temp)
116
116
 
117
117
  app_info_obj = nil
118
- if @args_upload_flag
118
+ workflow_info = nil
119
+ if @args_upload_flag
119
120
  proj_name = @args_proj_name
120
- app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:proj_name)
121
+ # 传入 package_type 获取 workflow_info
122
+ app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
123
+ working_directory: Dir.pwd,
124
+ proj_name: proj_name,
125
+ package_type: 'ipa'
126
+ )
121
127
  end
122
128
 
123
129
  args_temp = []
@@ -138,8 +144,13 @@ module Pindo
138
144
  ipa_dir = File.dirname(ipa_file_name)
139
145
  ipa_file_upload = File.join(ipa_dir, ipa_base_name + "_resigned.ipa")
140
146
 
141
- if !ipa_file_upload.nil? && !app_info_obj.nil?
142
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:nil)
147
+ if !ipa_file_upload.nil? && !app_info_obj.nil?
148
+ result_data = PgyerHelper.share_instace.start_upload(
149
+ app_info_obj: app_info_obj,
150
+ ipa_file_upload: ipa_file_upload,
151
+ description: nil,
152
+ workflow_info: workflow_info
153
+ )
143
154
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
144
155
  PgyerHelper.share_instace.print_app_version_info(
145
156
  app_info_obj: app_info_obj,
@@ -149,10 +149,15 @@ module Pindo
149
149
  build_path = File.join(pindo_project_dir, "build", "*.{ipa,app}")
150
150
  ipa_file_upload = Dir.glob(build_path).max_by {|f| File.mtime(f)}
151
151
 
152
- if !ipa_file_upload.nil? && !app_info_obj.nil?
152
+ if !ipa_file_upload.nil? && !app_info_obj.nil?
153
153
 
154
154
  description = nil
155
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
155
+ result_data = PgyerHelper.share_instace.start_upload(
156
+ app_info_obj: app_info_obj,
157
+ ipa_file_upload: ipa_file_upload,
158
+ description: description,
159
+ workflow_info: workflow_info
160
+ )
156
161
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
157
162
  PgyerHelper.share_instace.print_app_version_info(
158
163
  app_info_obj: app_info_obj,
@@ -110,8 +110,14 @@ module Pindo
110
110
  Pindo::Command::Deploy::Pullconfig::run(args_temp)
111
111
 
112
112
  app_info_obj = nil
113
+ workflow_info = nil
113
114
  if @args_upload_flag || @args_send_flag
114
- app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:@args_proj_name)
115
+ # 传入 package_type 获取 workflow_info
116
+ app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
117
+ working_directory: Dir.pwd,
118
+ proj_name: @args_proj_name,
119
+ package_type: 'ipa'
120
+ )
115
121
  end
116
122
 
117
123
 
@@ -133,9 +139,14 @@ module Pindo
133
139
  ipa_dir = File.dirname(ipa_file_name)
134
140
  ipa_file_upload = File.join(ipa_dir, ipa_base_name + "_resigned.ipa")
135
141
 
136
- if !ipa_file_upload.nil? && !app_info_obj.nil?
142
+ if !ipa_file_upload.nil? && !app_info_obj.nil?
137
143
  description = "提交包重签名"
138
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
144
+ result_data = PgyerHelper.share_instace.start_upload(
145
+ app_info_obj: app_info_obj,
146
+ ipa_file_upload: ipa_file_upload,
147
+ description: description,
148
+ workflow_info: workflow_info
149
+ )
139
150
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
140
151
  PgyerHelper.share_instace.print_app_version_info(
141
152
  app_info_obj: app_info_obj,
@@ -99,9 +99,15 @@ module Pindo
99
99
  end
100
100
 
101
101
  app_info_obj = nil
102
+ workflow_info = nil
102
103
  if @args_upload_flag || @args_send_flag
103
104
  proj_name = @args_proj_name
104
- app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:proj_name)
105
+ # 传入 package_type 获取 workflow_info
106
+ app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
107
+ working_directory: Dir.pwd,
108
+ proj_name: proj_name,
109
+ package_type: 'ipa'
110
+ )
105
111
  end
106
112
 
107
113
 
@@ -112,8 +118,13 @@ module Pindo
112
118
  build_path = File.join(pindo_new_project_dir, "build", "*.ipa")
113
119
  ipa_file_upload = Dir.glob(build_path).max_by {|f| File.mtime(f)}
114
120
 
115
- if !ipa_file_upload.nil? && !app_info_obj.nil?
116
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:nil)
121
+ if !ipa_file_upload.nil? && !app_info_obj.nil?
122
+ result_data = PgyerHelper.share_instace.start_upload(
123
+ app_info_obj: app_info_obj,
124
+ ipa_file_upload: ipa_file_upload,
125
+ description: nil,
126
+ workflow_info: workflow_info
127
+ )
117
128
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
118
129
  PgyerHelper.share_instace.print_app_version_info(
119
130
  app_info_obj: app_info_obj,
@@ -192,14 +192,39 @@ module Pindo
192
192
  raise Informative, "#{@args_ipa_file} 文件不存在"
193
193
  end
194
194
 
195
+ # 根据文件后缀确定 package_type
196
+ package_type = nil
197
+ ext = File.extname(@args_ipa_file).downcase
198
+ case ext
199
+ when '.ipa'
200
+ package_type = 'ipa'
201
+ when '.apk'
202
+ package_type = 'apk'
203
+ when '.html'
204
+ package_type = 'zip'
205
+ when '.app'
206
+ package_type = 'mac'
207
+ else
208
+ raise Informative, "不支持的文件类型: #{ext},支持的类型:.ipa, .apk, .html, .app"
209
+ end
210
+
195
211
  PgyerHelper.share_instace.setForeLogin(beforeLogin:@args_login_flag)
196
- app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:@args_proj_name)
212
+ app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
213
+ working_directory: Dir.pwd,
214
+ proj_name: @args_proj_name,
215
+ package_type: package_type
216
+ )
197
217
 
198
218
  if app_info_obj.nil?
199
219
  raise Informative, "#{@args_proj_name} 错误, 请输入正确的App代号名称, jps网站没有该App"
200
220
  end
201
221
 
202
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:@args_ipa_file, description:@args_upload_desc)
222
+ result_data = PgyerHelper.share_instace.start_upload(
223
+ app_info_obj: app_info_obj,
224
+ ipa_file_upload: @args_ipa_file,
225
+ description: @args_upload_desc,
226
+ workflow_info: workflow_info
227
+ )
203
228
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
204
229
  PgyerHelper.share_instace.print_app_version_info(
205
230
  app_info_obj: app_info_obj,
@@ -188,7 +188,7 @@ module Pindo
188
188
  # 4. 提交到 JPS 项目
189
189
  puts "📋 提交到 JPS 项目..."
190
190
 
191
- result = jps_client.upload_project_package(
191
+ result = jps_client.upload_nuget_package(
192
192
  projectId: nuget_project['id'],
193
193
  params: {
194
194
  packageUrl: file_url,
@@ -192,7 +192,12 @@ module Pindo
192
192
 
193
193
  if !html_file_upload.nil? && !app_info_obj.nil? && @args_upload_flag
194
194
  description = nil
195
- result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:html_file_upload, description:description)
195
+ result_data = PgyerHelper.share_instace.start_upload(
196
+ app_info_obj: app_info_obj,
197
+ ipa_file_upload: html_file_upload,
198
+ description: description,
199
+ workflow_info: workflow_info
200
+ )
196
201
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
197
202
  PgyerHelper.share_instace.print_app_version_info(
198
203
  app_info_obj: app_info_obj,
@@ -430,22 +430,11 @@ module Pindo
430
430
  app_info_obj
431
431
  end
432
432
 
433
- def start_upload(app_info_obj:nil, ipa_file_upload:nil, description:nil)
434
-
435
- # 根据文件扩展名判断包类型
436
- package_type = nil
437
- if ipa_file_upload
438
- ext = File.extname(ipa_file_upload).downcase
439
- case ext
440
- when '.ipa'
441
- package_type = 'ipa'
442
- when '.apk'
443
- package_type = 'apk'
444
- when '.aab'
445
- package_type = 'apk' # AAB也归类为apk类型
446
- when '.zip', '.html', '.app'
447
- package_type = 'zip'
448
- end
433
+ def start_upload(app_info_obj:nil, ipa_file_upload:nil, description:nil, workflow_info:nil)
434
+
435
+ # 验证 workflow_info 必传
436
+ if workflow_info.nil? || workflow_info[:workflow_id].nil?
437
+ raise Informative, "workflow_info 和 workflow_id 是必传参数,请确保调用 prepare_upload 时传入了 package_type"
449
438
  end
450
439
 
451
440
  if !ipa_file_upload.nil? &&
@@ -568,16 +557,18 @@ module Pindo
568
557
 
569
558
  puts attachFileUrls
570
559
 
571
- result_data = @pgyer_client.upload_project_package(projectId:app_info_obj["id"], params:{
560
+ # 准备上传参数(workflowId 必传)
561
+ upload_params = {
572
562
  description: description,
573
563
  packageUrl: upload_res,
574
- attachFileUrls:attachFileUrls
575
- })
576
-
577
- # 将package_type信息附加到返回结果中
578
- if result_data && result_data["data"]
579
- result_data["package_type"] = package_type
580
- end
564
+ attachFileUrls: attachFileUrls,
565
+ workflowId: workflow_info[:workflow_id] # workflowId 必传
566
+ }
567
+
568
+ result_data = @pgyer_client.upload_project_package(
569
+ projectId: app_info_obj["id"],
570
+ params: upload_params
571
+ )
581
572
 
582
573
  return result_data
583
574
  else
data/lib/pindo/version.rb CHANGED
@@ -6,7 +6,7 @@ require 'time'
6
6
 
7
7
  module Pindo
8
8
 
9
- VERSION = "5.9.0"
9
+ VERSION = "5.10.0"
10
10
 
11
11
  class VersionCheck
12
12
  RUBYGEMS_API = 'https://rubygems.org/api/v1/gems/pindo.json'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pindo
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.9.0
4
+ version: 5.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade
@@ -115,20 +115,20 @@ dependencies:
115
115
  requirements:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '1.4'
118
+ version: '1.5'
119
119
  - - ">="
120
120
  - !ruby/object:Gem::Version
121
- version: 1.4.0
121
+ version: 1.5.0
122
122
  type: :runtime
123
123
  prerelease: false
124
124
  version_requirements: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - "~>"
127
127
  - !ruby/object:Gem::Version
128
- version: '1.4'
128
+ version: '1.5'
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 1.4.0
131
+ version: 1.5.0
132
132
  - !ruby/object:Gem::Dependency
133
133
  name: rqrcode
134
134
  requirement: !ruby/object:Gem::Requirement