pindo 5.14.3 → 5.14.5

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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/base/aeshelper.rb +1 -0
  3. data/lib/pindo/base/executable.rb +2 -0
  4. data/lib/pindo/base/git_handler.rb +45 -7
  5. data/lib/pindo/base/informative.rb +11 -0
  6. data/lib/pindo/base/plistbuddyexecutable.rb +2 -0
  7. data/lib/pindo/client/feishuclient.rb +1 -1
  8. data/lib/pindo/client/httpclient.rb +88 -12
  9. data/lib/pindo/command/android/autobuild.rb +3 -7
  10. data/lib/pindo/command/appstore/autobuild.rb +8 -18
  11. data/lib/pindo/command/gplay/pullconfig.rb +3 -2
  12. data/lib/pindo/command/ios/autobuild.rb +3 -7
  13. data/lib/pindo/command/jps/bind.rb +284 -121
  14. data/lib/pindo/command/jps/media.rb +1 -15
  15. data/lib/pindo/command/unity/autobuild.rb +5 -14
  16. data/lib/pindo/command/unity/packbuild.rb +3 -8
  17. data/lib/pindo/command/utils/tag.rb +2 -7
  18. data/lib/pindo/command/utils/updateconfig.rb +3 -2
  19. data/lib/pindo/command/web/autobuild.rb +23 -33
  20. data/lib/pindo/command.rb +1 -8
  21. data/lib/pindo/config/ios_config_parser.rb +26 -25
  22. data/lib/pindo/module/android/android_build_helper.rb +1 -1
  23. data/lib/pindo/module/android/android_config_helper.rb +1 -1
  24. data/lib/pindo/module/android/android_res_helper.rb +1 -1
  25. data/lib/pindo/module/pgyer/pgyerhelper.rb +87 -0
  26. data/lib/pindo/module/task/model/build/android_build_dev_task.rb +29 -15
  27. data/lib/pindo/module/task/model/build/ios_build_adhoc_task.rb +2 -3
  28. data/lib/pindo/module/task/model/build/ios_build_dev_task.rb +30 -16
  29. data/lib/pindo/module/task/model/git/git_commit_task.rb +68 -13
  30. data/lib/pindo/module/task/model/git/git_tag_task.rb +16 -7
  31. data/lib/pindo/module/task/model/jps/jps_bind_package_task.rb +217 -0
  32. data/lib/pindo/module/task/model/jps/jps_message_task.rb +3 -2
  33. data/lib/pindo/module/task/model/jps/jps_upload_media_task.rb +168 -49
  34. data/lib/pindo/module/task/model/jps/jps_workflow_message_task.rb +190 -0
  35. data/lib/pindo/module/task/model/unity/unity_config_task.rb +4 -0
  36. data/lib/pindo/module/task/pindo_task.rb +1 -0
  37. data/lib/pindo/module/xcode/xcode_app_config.rb +26 -16
  38. data/lib/pindo/module/xcode/xcode_build_config.rb +2 -2
  39. data/lib/pindo/module/xcode/xcode_swark_helper.rb +5 -5
  40. data/lib/pindo/version.rb +1 -1
  41. metadata +13 -54
@@ -0,0 +1,190 @@
1
+ require 'pindo/module/task/model/jps_task'
2
+ require 'pindo/module/task/task_config'
3
+ require 'pindo/module/pgyer/pgyerhelper'
4
+
5
+ module Pindo
6
+ module TaskSystem
7
+ # JPS 工作流消息发送任务
8
+ # 使用 commit_log/send_message 接口发送 Git commit 消息到工作流
9
+ class JPSWorkFlowMessageTask < JPSTask
10
+ attr_reader :git_commit_id, :git_commit_time, :git_commit_desc
11
+ attr_reader :project_id, :workflow_id, :branch
12
+
13
+ # 任务键
14
+ def self.task_key
15
+ :jps_workflow_message
16
+ end
17
+
18
+ # 初始化工作流消息发送任务
19
+ # @param options [Hash] 选项
20
+ # @option options [String] :git_commit_id Git commit SHA(可选,从依赖任务获取)
21
+ # @option options [String] :git_commit_time Git commit 时间(可选)
22
+ # @option options [String] :git_commit_desc Git commit 描述(可选)
23
+ # @option options [String] :project_id 项目 ID(可选,从 app_info_obj 获取)
24
+ # @option options [Integer] :workflow_id 工作流 ID(可选,从 workflow_info 获取)
25
+ # @option options [String] :branch 分支名(可选,默认 'master')
26
+ # @option options [Boolean] :single 是否单个提交(默认 true)
27
+ # @option options [Hash] :app_info_obj JPS 应用信息对象(可选,用于获取 project_id)
28
+ # @option options [Hash] :workflow_info 工作流信息(可选,用于获取 workflow_id)
29
+ def initialize(options = {})
30
+ @git_commit_id = options[:git_commit_id]
31
+ @git_commit_time = options[:git_commit_time]
32
+ @git_commit_desc = options[:git_commit_desc]
33
+ @project_id = options[:project_id]
34
+ @workflow_id = options[:workflow_id]
35
+ @branch = options[:branch] || 'master'
36
+ @single = options.fetch(:single, true)
37
+
38
+ # 消息发送任务优先级为 LOW,确保在其他任务之后执行
39
+ options[:priority] ||= TaskPriority::LOW
40
+
41
+ super("JPS 工作流消息发送", options)
42
+ end
43
+
44
+ def validate
45
+ # 参数可以从依赖任务获取,这里不做严格验证
46
+ true
47
+ end
48
+
49
+ protected
50
+
51
+ def do_work
52
+ puts "\n 📋 开始发送 JPS 工作流消息..."
53
+
54
+ begin
55
+ # 1. 如果没有提供参数,从依赖任务获取
56
+ fetch_data_from_dependencies if need_fetch_dependencies?
57
+
58
+ # 2. 验证必需参数
59
+ validate_required_params!
60
+
61
+ # 3. 发送消息
62
+ send_workflow_message
63
+
64
+ puts " ✅ JPS 工作流消息发送完成\n"
65
+
66
+ {
67
+ success: true,
68
+ git_commit_id: @git_commit_id,
69
+ project_id: @project_id,
70
+ workflow_id: @workflow_id
71
+ }
72
+ rescue => e
73
+ # 外层错误保护:消息发送失败不应影响整体流程
74
+ puts " ⚠️ JPS 工作流消息发送发生错误: #{e.message}"
75
+ puts " ⚠️ 错误堆栈: #{e.backtrace.first(3).join("\n ")}" if ENV['PINDO_DEBUG'] && e.backtrace
76
+ puts " ℹ️ 消息发送失败不影响主流程\n"
77
+
78
+ # 消息发送失败不抛出异常,返回成功但带警告
79
+ {
80
+ success: true,
81
+ warning: e.message,
82
+ git_commit_id: @git_commit_id
83
+ }
84
+ end
85
+ end
86
+
87
+ private
88
+
89
+ # 判断是否需要从依赖任务获取数据
90
+ def need_fetch_dependencies?
91
+ @git_commit_id.nil? || @project_id.nil? || @workflow_id.nil?
92
+ end
93
+
94
+ # 从依赖任务获取数据
95
+ def fetch_data_from_dependencies
96
+ # 1. 从 GitCommitTask 获取 commit 信息
97
+ if @git_commit_id.nil?
98
+ git_commit_data = get_data_param_by_key(:git_commit)
99
+ if git_commit_data && git_commit_data[:task_param]
100
+ param = git_commit_data[:task_param]
101
+ @git_commit_id = param[:git_commit_id] if param[:git_commit_id]
102
+ @git_commit_time = param[:git_commit_time] if param[:git_commit_time]
103
+ @git_commit_desc = param[:git_commit_desc] if param[:git_commit_desc]
104
+ end
105
+ end
106
+
107
+ # 2. 从 JPSUploadTask 获取 project_id 和 workflow_id
108
+ if @project_id.nil? || @workflow_id.nil?
109
+ upload_data = get_data_param_by_key(:jps_upload)
110
+ if upload_data && upload_data[:task_param]
111
+ param = upload_data[:task_param]
112
+
113
+ # 从 app_info_obj 获取 project_id
114
+ if @project_id.nil? && param[:app_info_obj]
115
+ @project_id = param[:app_info_obj]["id"] || param[:app_info_obj][:id]
116
+ end
117
+
118
+ # 从 workflow_info 获取 workflow_id
119
+ if @workflow_id.nil? && param[:workflow_info]
120
+ @workflow_id = param[:workflow_info]["id"] ||
121
+ param[:workflow_info][:id] ||
122
+ param[:workflow_info]["workflow_id"] ||
123
+ param[:workflow_info][:workflow_id]
124
+ end
125
+ end
126
+ end
127
+
128
+ # 3. 如果还没有,尝试从 app_info_obj 和 workflow_info(基类属性)获取
129
+ if @project_id.nil? && @app_info_obj
130
+ @project_id = @app_info_obj["id"] || @app_info_obj[:id]
131
+ end
132
+
133
+ if @workflow_id.nil? && @workflow_info
134
+ @workflow_id = @workflow_info["id"] ||
135
+ @workflow_info[:id] ||
136
+ @workflow_info["workflow_id"] ||
137
+ @workflow_info[:workflow_id]
138
+ end
139
+ end
140
+
141
+ # 验证必需参数
142
+ def validate_required_params!
143
+ missing_params = []
144
+ missing_params << "git_commit_id" if @git_commit_id.nil? || @git_commit_id.empty?
145
+ missing_params << "project_id" if @project_id.nil? || @project_id.empty?
146
+ missing_params << "workflow_id" if @workflow_id.nil?
147
+
148
+ unless missing_params.empty?
149
+ raise "缺少必需参数: #{missing_params.join(', ')}"
150
+ end
151
+ end
152
+
153
+ # 发送工作流消息
154
+ def send_workflow_message
155
+ puts " 📨 发送工作流消息..."
156
+ puts " Project ID: #{@project_id}"
157
+ puts " Workflow ID: #{@workflow_id}"
158
+ puts " Commit ID: #{@git_commit_id[0..7]}" if @git_commit_id
159
+ puts " Branch: #{@branch}"
160
+ puts ""
161
+
162
+ pgyer_helper = PgyerHelper.share_instace
163
+
164
+ # 确保已登录
165
+ unless pgyer_helper.login
166
+ raise "无法登录 JPS,请检查配置"
167
+ end
168
+
169
+ # 使用 PgyerHelper 的便捷方法发送工作流消息
170
+ result = pgyer_helper.send_workflow_message(
171
+ project_id: @project_id,
172
+ workflow_id: @workflow_id,
173
+ commit_id: @git_commit_id,
174
+ branch: @branch,
175
+ single: @single
176
+ )
177
+
178
+ if result[:success]
179
+ puts " ✓ 工作流消息发送成功"
180
+ else
181
+ if ENV['PINDO_DEBUG']
182
+ puts "[PINDO_DEBUG] send_workflow_message 返回结果: #{result.inspect}"
183
+ end
184
+
185
+ raise "工作流消息发送失败: #{result[:error]}"
186
+ end
187
+ end
188
+ end
189
+ end
190
+ end
@@ -8,6 +8,10 @@ module Pindo
8
8
  class UnityConfigTask < UnityTask
9
9
  attr_reader :deploy_mode
10
10
 
11
+ def self.task_key
12
+ :unity_config
13
+ end
14
+
11
15
  # @param deploy_mode [String] 部署模式 ('dev', 'adhoc', 'release')
12
16
  # @param options [Hash] 额外选项
13
17
  # - :project_path [String] Unity 项目路径(默认当前目录)
@@ -1,4 +1,5 @@
1
1
  require 'securerandom'
2
+ require 'pindo/base/informative'
2
3
 
3
4
  module Pindo
4
5
  module TaskSystem
@@ -134,19 +134,27 @@ module Pindo
134
134
 
135
135
 
136
136
  def modify_appprefix_plist(project_dir:nil, appprefix_file:nil, config_json:nil)
137
-
137
+
138
+ # 如果未指定 appprefix_file,输出警告并返回
139
+ if appprefix_file.nil? || appprefix_file.empty?
140
+ Funlog.instance.fancyinfo_warning("⚠️ 未指定 AppPrefix.plist 配置文件,跳过配置")
141
+ return
142
+ end
143
+
138
144
  project_fullname = Dir.glob(File.join(project_dir, "/*.xcodeproj")).max_by {|f| File.mtime(f)}
139
- project_obj = Xcodeproj::Project.open(project_fullname)
145
+ project_obj = Xcodeproj::Project.open(project_fullname)
140
146
  presources_path = nil
141
147
 
148
+ # 1. 尝试在 Xcode 项目组中查找 PResources 或 PResource 组
142
149
  presources_group = find_group(group:project_obj.main_group, group_name:"PResources")
143
- if presources_group.nil?
150
+ if presources_group.nil?
144
151
  presources_group = find_group(group:project_obj.main_group, group_name:"PResource")
145
152
  end
146
- if !presources_group.nil?
153
+ if !presources_group.nil?
147
154
  presources_path = presources_group.real_path
148
- end
155
+ end
149
156
 
157
+ # 2. 如果项目组中未找到,尝试在文件系统中查找 PResources 目录
150
158
  if presources_path.nil?
151
159
  presources_path_array = Dir.glob(File.join(project_dir, "**", "PResources"))
152
160
  if presources_path_array.size > 1
@@ -156,6 +164,7 @@ module Pindo
156
164
  end
157
165
  end
158
166
 
167
+ # 3. 如果仍未找到,尝试在文件系统中查找 PResource 目录
159
168
  if presources_path.nil?
160
169
  presources_path_array = Dir.glob(File.join(project_dir, "**", "PResource"))
161
170
  if presources_path_array.size > 1
@@ -165,22 +174,23 @@ module Pindo
165
174
  end
166
175
  end
167
176
 
168
-
177
+ # 4. 如果找不到资源目录,抛出异常
169
178
  if presources_path.nil? || !File.exist?(presources_path)
170
- raise Informative, "没有找到资源目录PResources !!!!"
179
+ raise Informative, "未找到资源目录 PResources/PResource!请在项目根目录创建 PResources/ 目录并添加配置文件。"
171
180
  end
172
181
 
173
-
182
+ # 5. 在找到的资源目录中查找配置文件
174
183
  config_file = Dir.glob(File.join(presources_path, "**", appprefix_file)).first
175
184
  if config_file.nil? || config_file.empty? || !File.exist?(config_file)
176
- raise Informative, "工程本地配置未修改,PResources/目录下没有找到对应的配置文件 #{appprefix_file} !!!!"
177
- end
178
-
185
+ raise Informative, "在资源目录 #{presources_path} 下未找到配置文件: #{appprefix_file}!请确保配置文件存在。"
186
+ end
179
187
 
180
- config_json['app_setting'].each do |key, value|
181
- # puts value
182
- if !value.nil? && value.to_s.include?("__________config")
183
- raise Informative, "config.json 配置文件key : #{key} 包含初始值未修改, 配置正确的值或者删除!!!"
188
+ # 6. 验证 config_json 中的 app_setting 配置(如果存在)
189
+ if config_json['app_setting']
190
+ config_json['app_setting'].each do |key, value|
191
+ if !value.nil? && value.to_s.include?("__________config")
192
+ raise Informative, "config.json 配置文件 key: #{key} 包含初始值未修改,请配置正确的值或删除该项!"
193
+ end
184
194
  end
185
195
  end
186
196
 
@@ -291,7 +301,7 @@ module Pindo
291
301
 
292
302
  rescue StandardError => e
293
303
  Funlog.instance.fancyinfo_error("创建 tag 失败: #{e.message}")
294
- puts e.backtrace
304
+ puts e.backtrace.join("\n") if ENV['PINDO_DEBUG']
295
305
  return false
296
306
  end
297
307
  end
@@ -481,7 +481,7 @@ module Pindo
481
481
 
482
482
  rescue => e
483
483
  Funlog.instance.fancyinfo_error("Icon 处理失败: #{e.message}")
484
- puts e.backtrace
484
+ puts e.backtrace.join("\n") if ENV['PINDO_DEBUG']
485
485
  replace_success = false
486
486
  ensure
487
487
  # 清理临时文件(无论成功失败都清理)
@@ -624,7 +624,7 @@ module Pindo
624
624
  return true
625
625
  rescue StandardError => e
626
626
  Funlog.instance.fancyinfo_error("配置 Xcode 项目失败: #{e.message}")
627
- puts e.backtrace
627
+ puts e.backtrace.join("\n") if ENV['PINDO_DEBUG']
628
628
  raise Informative, "配置 Xcode 项目失败: #{e.message}"
629
629
  end
630
630
 
@@ -57,7 +57,7 @@ module Pindo
57
57
 
58
58
  rescue StandardError => e
59
59
  Funlog.instance.fancyinfo_error("配置 Quark 环境失败: #{e.message}")
60
- puts e.backtrace
60
+ puts e.backtrace.join("\n") if ENV['PINDO_DEBUG']
61
61
  return false
62
62
  end
63
63
  end
@@ -115,7 +115,7 @@ module Pindo
115
115
 
116
116
  rescue StandardError => e
117
117
  Funlog.instance.fancyinfo_error("配置 Swark 环境失败: #{e.message}")
118
- puts e.backtrace
118
+ puts e.backtrace.join("\n") if ENV['PINDO_DEBUG']
119
119
  return false
120
120
  end
121
121
  end
@@ -207,7 +207,7 @@ module Pindo
207
207
 
208
208
  rescue StandardError => e
209
209
  Funlog.instance.fancyinfo_error("Swark 配置失败: #{e.message}")
210
- puts e.backtrace
210
+ puts e.backtrace.join("\n") if ENV['PINDO_DEBUG']
211
211
  return false
212
212
  end
213
213
  end
@@ -274,7 +274,7 @@ module Pindo
274
274
 
275
275
  rescue StandardError => e
276
276
  Funlog.instance.fancyinfo_error("Quark 配置失败: #{e.message}")
277
- puts e.backtrace
277
+ puts e.backtrace.join("\n") if ENV['PINDO_DEBUG']
278
278
  return false
279
279
  end
280
280
  end
@@ -340,7 +340,7 @@ module Pindo
340
340
 
341
341
  rescue StandardError => e
342
342
  Funlog.instance.fancyinfo_error("Swark 授权失败: #{e.message}")
343
- puts e.backtrace
343
+ puts e.backtrace.join("\n") if ENV['PINDO_DEBUG']
344
344
  return false
345
345
  end
346
346
  end
data/lib/pindo/version.rb CHANGED
@@ -6,7 +6,7 @@ require 'time'
6
6
 
7
7
  module Pindo
8
8
 
9
- VERSION = "5.14.3"
9
+ VERSION = "5.14.5"
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.14.3
4
+ version: 5.14.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade
@@ -33,9 +33,6 @@ dependencies:
33
33
  name: cocoapods
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - "~>"
37
- - !ruby/object:Gem::Version
38
- version: '1.15'
39
36
  - - ">="
40
37
  - !ruby/object:Gem::Version
41
38
  version: 1.15.2
@@ -43,9 +40,6 @@ dependencies:
43
40
  prerelease: false
44
41
  version_requirements: !ruby/object:Gem::Requirement
45
42
  requirements:
46
- - - "~>"
47
- - !ruby/object:Gem::Version
48
- version: '1.15'
49
43
  - - ">="
50
44
  - !ruby/object:Gem::Version
51
45
  version: 1.15.2
@@ -53,9 +47,6 @@ dependencies:
53
47
  name: fastlane
54
48
  requirement: !ruby/object:Gem::Requirement
55
49
  requirements:
56
- - - "~>"
57
- - !ruby/object:Gem::Version
58
- version: '2.220'
59
50
  - - ">="
60
51
  - !ruby/object:Gem::Version
61
52
  version: 2.220.0
@@ -63,9 +54,6 @@ dependencies:
63
54
  prerelease: false
64
55
  version_requirements: !ruby/object:Gem::Requirement
65
56
  requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '2.220'
69
57
  - - ">="
70
58
  - !ruby/object:Gem::Version
71
59
  version: 2.220.0
@@ -115,20 +103,20 @@ dependencies:
115
103
  requirements:
116
104
  - - "~>"
117
105
  - !ruby/object:Gem::Version
118
- version: '1.7'
106
+ version: '1.8'
119
107
  - - ">="
120
108
  - !ruby/object:Gem::Version
121
- version: 1.7.0
109
+ version: 1.8.0
122
110
  type: :runtime
123
111
  prerelease: false
124
112
  version_requirements: !ruby/object:Gem::Requirement
125
113
  requirements:
126
114
  - - "~>"
127
115
  - !ruby/object:Gem::Version
128
- version: '1.7'
116
+ version: '1.8'
129
117
  - - ">="
130
118
  - !ruby/object:Gem::Version
131
- version: 1.7.0
119
+ version: 1.8.0
132
120
  - !ruby/object:Gem::Dependency
133
121
  name: rqrcode
134
122
  requirement: !ruby/object:Gem::Requirement
@@ -149,53 +137,24 @@ dependencies:
149
137
  - - ">="
150
138
  - !ruby/object:Gem::Version
151
139
  version: 2.2.0
152
- - !ruby/object:Gem::Dependency
153
- name: faraday-retry
154
- requirement: !ruby/object:Gem::Requirement
155
- requirements:
156
- - - "~>"
157
- - !ruby/object:Gem::Version
158
- version: '1.0'
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- version: 1.0.3
162
- type: :runtime
163
- prerelease: false
164
- version_requirements: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: '1.0'
169
- - - ">="
170
- - !ruby/object:Gem::Version
171
- version: 1.0.3
172
140
  - !ruby/object:Gem::Dependency
173
141
  name: typhoeus
174
142
  requirement: !ruby/object:Gem::Requirement
175
143
  requirements:
176
144
  - - "~>"
177
145
  - !ruby/object:Gem::Version
178
- version: 1.4.0
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- version: 1.4.1
146
+ version: '1.4'
182
147
  type: :runtime
183
148
  prerelease: false
184
149
  version_requirements: !ruby/object:Gem::Requirement
185
150
  requirements:
186
151
  - - "~>"
187
152
  - !ruby/object:Gem::Version
188
- version: 1.4.0
189
- - - ">="
190
- - !ruby/object:Gem::Version
191
- version: 1.4.1
153
+ version: '1.4'
192
154
  - !ruby/object:Gem::Dependency
193
155
  name: nokogiri
194
156
  requirement: !ruby/object:Gem::Requirement
195
157
  requirements:
196
- - - "~>"
197
- - !ruby/object:Gem::Version
198
- version: '1.15'
199
158
  - - ">="
200
159
  - !ruby/object:Gem::Version
201
160
  version: 1.15.4
@@ -203,9 +162,6 @@ dependencies:
203
162
  prerelease: false
204
163
  version_requirements: !ruby/object:Gem::Requirement
205
164
  requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: '1.15'
209
165
  - - ">="
210
166
  - !ruby/object:Gem::Version
211
167
  version: 1.15.4
@@ -299,6 +255,7 @@ files:
299
255
  - lib/pindo/base/funlog.rb
300
256
  - lib/pindo/base/git_handler.rb
301
257
  - lib/pindo/base/hashhelper.rb
258
+ - lib/pindo/base/informative.rb
302
259
  - lib/pindo/base/output_sink.rb
303
260
  - lib/pindo/base/plaininformative.rb
304
261
  - lib/pindo/base/plistbuddyexecutable.rb
@@ -449,10 +406,12 @@ files:
449
406
  - lib/pindo/module/task/model/git/git_commit_task.rb
450
407
  - lib/pindo/module/task/model/git/git_tag_task.rb
451
408
  - lib/pindo/module/task/model/git_task.rb
409
+ - lib/pindo/module/task/model/jps/jps_bind_package_task.rb
452
410
  - lib/pindo/module/task/model/jps/jps_message_task.rb
453
411
  - lib/pindo/module/task/model/jps/jps_resign_task.rb
454
412
  - lib/pindo/module/task/model/jps/jps_upload_media_task.rb
455
413
  - lib/pindo/module/task/model/jps/jps_upload_task.rb
414
+ - lib/pindo/module/task/model/jps/jps_workflow_message_task.rb
456
415
  - lib/pindo/module/task/model/jps_task.rb
457
416
  - lib/pindo/module/task/model/nuget/nuget_build_task.rb
458
417
  - lib/pindo/module/task/model/nuget/nuget_upload_task.rb
@@ -529,9 +488,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
529
488
  requirements:
530
489
  - - ">="
531
490
  - !ruby/object:Gem::Version
532
- version: '0'
491
+ version: 3.0.0
533
492
  requirements: []
534
- rubygems_version: 3.6.9
535
- specification_version: 3
493
+ rubygems_version: 4.0.3
494
+ specification_version: 4
536
495
  summary: easy work
537
496
  test_files: []