pindo 5.6.6 → 5.7.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/command/android/autobuild.rb +50 -4
- data/lib/pindo/command/android/build.rb +35 -1
- data/lib/pindo/command/android/debug.rb +35 -1
- data/lib/pindo/command/ios/adhoc.rb +55 -8
- data/lib/pindo/command/ios/autobuild.rb +57 -5
- data/lib/pindo/command/ios/build.rb +44 -3
- data/lib/pindo/command/unity/apk.rb +7 -1
- data/lib/pindo/command/unity/ipa.rb +10 -4
- data/lib/pindo/command/unity/upload.rb +1 -1
- data/lib/pindo/command/unity/web.rb +7 -21
- data/lib/pindo/command/web/autobuild.rb +39 -2
- data/lib/pindo/module/android/android_build_config_helper.rb +140 -0
- data/lib/pindo/module/android/base_helper.rb +5 -5
- data/lib/pindo/module/android/gp_compliance_helper.rb +297 -2
- data/lib/pindo/module/android/gradle_helper.rb +164 -619
- data/lib/pindo/module/build/buildhelper.rb +2 -0
- data/lib/pindo/module/build/unityhelper.rb +1 -36
- data/lib/pindo/module/pgyer/pgyerhelper.rb +366 -72
- data/lib/pindo/module/xcode/xcodebuildconfig.rb +130 -1
- data/lib/pindo/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b2c0a15b51042f5ec552927e91ec27520410303e55c09b649d34cf57f5368bb8
|
|
4
|
+
data.tar.gz: 3bd8415b61c8fa8628d0369740a68ab0e83fcaf30fae3e7b399a814e83d8aab0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 23d4e4087e51f318f48894781856534fb462f6cb476ac9e16104fb22e759dfa9a3ec4617fb4720798eaf1c6fd9f31b8da7fa91203fe6f339b70c9818bbdf365b
|
|
7
|
+
data.tar.gz: 80cb1d494c4f3913af733560f2492a0203a96ffc5e0ff7ace90b204d0ebd2c08f95d3c645f5fbc7e866e6365addd6444554c224d5d5fc4ecbba5291b1e4174f7
|
|
@@ -96,12 +96,48 @@ module Pindo
|
|
|
96
96
|
private
|
|
97
97
|
|
|
98
98
|
def android_autobuild
|
|
99
|
+
# 记录构建开始时间
|
|
100
|
+
build_start_time = Time.now
|
|
99
101
|
|
|
100
102
|
pindo_project_dir = Dir.pwd
|
|
101
|
-
|
|
103
|
+
|
|
102
104
|
app_info_obj = nil
|
|
105
|
+
workflow_info = nil
|
|
103
106
|
proj_name = @args_proj_name
|
|
104
|
-
|
|
107
|
+
# 传入 package_type 获取 workflow_info
|
|
108
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
109
|
+
working_directory: Dir.pwd,
|
|
110
|
+
proj_name: proj_name,
|
|
111
|
+
package_type: 'apk'
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
# ===== 使用 workflow 配置修改 Android 配置 =====
|
|
115
|
+
if workflow_info && workflow_info[:package_name]
|
|
116
|
+
package_name = workflow_info[:package_name]
|
|
117
|
+
|
|
118
|
+
puts "\n使用工作流配置更新 Android 配置:"
|
|
119
|
+
puts " Package Name: #{package_name}"
|
|
120
|
+
|
|
121
|
+
# 修改 App Name
|
|
122
|
+
Pindo::AndroidBuildConfigHelper.update_app_name_with_packagename(
|
|
123
|
+
project_dir: pindo_project_dir,
|
|
124
|
+
package_name: package_name
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
# 修改 Application ID
|
|
128
|
+
Pindo::AndroidBuildConfigHelper.update_applicationid_with_packagename(
|
|
129
|
+
project_dir: pindo_project_dir,
|
|
130
|
+
package_name: package_name
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
# 添加基于 package_name 的 Scheme
|
|
134
|
+
Pindo::AndroidBuildConfigHelper.add_scheme_packagename(
|
|
135
|
+
project_dir: pindo_project_dir,
|
|
136
|
+
package_name: package_name
|
|
137
|
+
)
|
|
138
|
+
else
|
|
139
|
+
raise Informative, "未获取到工作流信息"
|
|
140
|
+
end
|
|
105
141
|
|
|
106
142
|
build_helper = Pindo::BuildHelper.share_instance
|
|
107
143
|
if @args_upload_flag
|
|
@@ -185,8 +221,18 @@ module Pindo
|
|
|
185
221
|
end
|
|
186
222
|
end
|
|
187
223
|
|
|
188
|
-
#
|
|
189
|
-
|
|
224
|
+
# 计算并显示总耗时
|
|
225
|
+
total_time = Time.now - build_start_time
|
|
226
|
+
minutes = (total_time / 60).to_i
|
|
227
|
+
seconds = (total_time % 60).to_i
|
|
228
|
+
|
|
229
|
+
if minutes > 0
|
|
230
|
+
puts "\e[32m构建完成!总耗时: #{minutes}分#{seconds}秒\e[0m"
|
|
231
|
+
else
|
|
232
|
+
puts "\e[32m构建完成!总耗时: #{seconds}秒\e[0m"
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
puts "\e[32m正在打开目标文件夹...\e[0m"
|
|
190
236
|
system "open #{pindo_project_dir}"
|
|
191
237
|
|
|
192
238
|
rescue => e
|
|
@@ -87,9 +87,43 @@ module Pindo
|
|
|
87
87
|
end
|
|
88
88
|
|
|
89
89
|
app_info_obj = nil
|
|
90
|
+
workflow_info = nil
|
|
90
91
|
if @args_upload_flag
|
|
91
92
|
proj_name = @args_proj_name
|
|
92
|
-
|
|
93
|
+
# 传入 package_type 获取 workflow_info
|
|
94
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
95
|
+
working_directory: Dir.pwd,
|
|
96
|
+
proj_name: proj_name,
|
|
97
|
+
package_type: 'apk'
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# ===== 使用 workflow 配置修改 Android 配置 =====
|
|
101
|
+
if workflow_info && workflow_info[:package_name]
|
|
102
|
+
package_name = workflow_info[:package_name]
|
|
103
|
+
|
|
104
|
+
puts "\n使用工作流配置更新 Android 配置:"
|
|
105
|
+
puts " Package Name: #{package_name}"
|
|
106
|
+
|
|
107
|
+
# 修改 App Name
|
|
108
|
+
Pindo::AndroidBuildConfigHelper.update_app_name_with_packagename(
|
|
109
|
+
project_dir: pindo_project_dir,
|
|
110
|
+
package_name: package_name
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
# 修改 Application ID
|
|
114
|
+
Pindo::AndroidBuildConfigHelper.update_applicationid_with_packagename(
|
|
115
|
+
project_dir: pindo_project_dir,
|
|
116
|
+
package_name: package_name
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
# 添加基于 package_name 的 Scheme
|
|
120
|
+
Pindo::AndroidBuildConfigHelper.add_scheme_packagename(
|
|
121
|
+
project_dir: pindo_project_dir,
|
|
122
|
+
package_name: package_name
|
|
123
|
+
)
|
|
124
|
+
else
|
|
125
|
+
raise Informative, "未获取到工作流信息"
|
|
126
|
+
end
|
|
93
127
|
end
|
|
94
128
|
|
|
95
129
|
|
|
@@ -79,9 +79,43 @@ module Pindo
|
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
app_info_obj = nil
|
|
82
|
+
workflow_info = nil
|
|
82
83
|
if @upload_flag
|
|
83
84
|
proj_name = @proj_name
|
|
84
|
-
|
|
85
|
+
# 传入 package_type 获取 workflow_info
|
|
86
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
87
|
+
working_directory: Dir.pwd,
|
|
88
|
+
proj_name: proj_name,
|
|
89
|
+
package_type: 'apk'
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
# ===== 使用 workflow 配置修改 Android 配置 =====
|
|
93
|
+
if workflow_info && workflow_info[:package_name]
|
|
94
|
+
package_name = workflow_info[:package_name]
|
|
95
|
+
|
|
96
|
+
puts "\n使用工作流配置更新 Android 配置:"
|
|
97
|
+
puts " Package Name: #{package_name}"
|
|
98
|
+
|
|
99
|
+
# 修改 App Name
|
|
100
|
+
Pindo::AndroidBuildConfigHelper.update_app_name_with_packagename(
|
|
101
|
+
project_dir: pindo_project_dir,
|
|
102
|
+
package_name: package_name
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
# 修改 Application ID
|
|
106
|
+
Pindo::AndroidBuildConfigHelper.update_applicationid_with_packagename(
|
|
107
|
+
project_dir: pindo_project_dir,
|
|
108
|
+
package_name: package_name
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
# 添加基于 package_name 的 Scheme
|
|
112
|
+
Pindo::AndroidBuildConfigHelper.add_scheme_packagename(
|
|
113
|
+
project_dir: pindo_project_dir,
|
|
114
|
+
package_name: package_name
|
|
115
|
+
)
|
|
116
|
+
else
|
|
117
|
+
raise Informative, "未获取到工作流信息"
|
|
118
|
+
end
|
|
85
119
|
end
|
|
86
120
|
|
|
87
121
|
begin
|
|
@@ -76,7 +76,43 @@ module Pindo
|
|
|
76
76
|
end
|
|
77
77
|
|
|
78
78
|
def run
|
|
79
|
-
|
|
79
|
+
|
|
80
|
+
project_dir = Dir.pwd
|
|
81
|
+
|
|
82
|
+
app_info_obj = nil
|
|
83
|
+
workflow_info = nil
|
|
84
|
+
if @args_upload_flag
|
|
85
|
+
proj_name = @args_proj_name
|
|
86
|
+
# 传入 package_type 获取 workflow_info
|
|
87
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
88
|
+
working_directory: Dir.pwd,
|
|
89
|
+
proj_name: proj_name,
|
|
90
|
+
package_type: 'ipa'
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
# ===== 使用 workflow 配置修改 plist =====
|
|
94
|
+
if workflow_info && workflow_info[:package_name]
|
|
95
|
+
package_name = workflow_info[:package_name]
|
|
96
|
+
|
|
97
|
+
puts "\n使用工作流配置更新 Info.plist:"
|
|
98
|
+
puts " Package Name: #{package_name}"
|
|
99
|
+
|
|
100
|
+
# 修改 Display Name
|
|
101
|
+
Pindo::XcodeBuildConfig.update_display_name_with_packagename(
|
|
102
|
+
project_dir: project_dir,
|
|
103
|
+
package_name: package_name
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
# 修改 Bundle ID
|
|
107
|
+
Pindo::XcodeBuildConfig.update_bundleid_with_packagename(
|
|
108
|
+
project_dir: project_dir,
|
|
109
|
+
package_name: package_name
|
|
110
|
+
)
|
|
111
|
+
else
|
|
112
|
+
raise Informative, "未获取到工作流信息"
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
|
|
80
116
|
mainapp_bundleid= nil
|
|
81
117
|
if @args_deploy_flag
|
|
82
118
|
mainapp_bundleid = get_selected_deploy_bundleid()
|
|
@@ -84,22 +120,33 @@ module Pindo
|
|
|
84
120
|
mainapp_bundleid = get_selected_dev_bundleid()
|
|
85
121
|
end
|
|
86
122
|
|
|
87
|
-
app_info_obj = nil
|
|
88
|
-
if @args_upload_flag
|
|
89
|
-
proj_name = @args_proj_name
|
|
90
|
-
app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:proj_name)
|
|
91
|
-
end
|
|
92
|
-
|
|
93
123
|
args_temp = []
|
|
94
124
|
args_temp << mainapp_bundleid
|
|
95
125
|
Pindo::Command::Deploy::Pullconfig::run(args_temp)
|
|
96
126
|
|
|
97
|
-
project_dir = Dir.pwd
|
|
98
127
|
Dir.chdir(project_dir)
|
|
128
|
+
|
|
99
129
|
config_json_file = File.join(project_dir,"config.json")
|
|
100
130
|
# 处理entitlements配置
|
|
101
131
|
Pindo::XcodeBuildConfig.update_entitlements_config(project_dir: project_dir, config_file: config_json_file)
|
|
102
132
|
|
|
133
|
+
# 添加URL Scheme(基于 package_name)
|
|
134
|
+
if @args_upload_flag && workflow_info && workflow_info[:package_name]
|
|
135
|
+
Pindo::XcodeBuildConfig.add_url_scheme_packagename(
|
|
136
|
+
project_dir: project_dir,
|
|
137
|
+
package_name: workflow_info[:package_name]
|
|
138
|
+
)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# 添加URL Schemes(基于 scheme_name 和 Bundle ID)
|
|
142
|
+
if @args_upload_flag
|
|
143
|
+
scheme_name = @args_proj_name
|
|
144
|
+
Pindo::XcodeBuildConfig.add_url_schemes(
|
|
145
|
+
project_dir: project_dir,
|
|
146
|
+
scheme_name: scheme_name
|
|
147
|
+
)
|
|
148
|
+
end
|
|
149
|
+
|
|
103
150
|
if File.exist?(File.join(project_dir, "Podfile"))
|
|
104
151
|
|
|
105
152
|
args_temp = []
|
|
@@ -118,6 +118,8 @@ module Pindo
|
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
def ios_autobuild
|
|
121
|
+
# 记录构建开始时间
|
|
122
|
+
build_start_time = Time.now
|
|
121
123
|
|
|
122
124
|
pindo_project_dir = Dir.pwd
|
|
123
125
|
build_helper = Pindo::BuildHelper.share_instance
|
|
@@ -146,9 +148,36 @@ module Pindo
|
|
|
146
148
|
end
|
|
147
149
|
|
|
148
150
|
app_info_obj = nil
|
|
151
|
+
workflow_info = nil
|
|
149
152
|
proj_name = @args_proj_name
|
|
150
|
-
|
|
151
|
-
|
|
153
|
+
# 传入 package_type 获取 workflow_info
|
|
154
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
155
|
+
working_directory: Dir.pwd,
|
|
156
|
+
proj_name: proj_name,
|
|
157
|
+
package_type: 'ipa'
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
# ===== 使用 workflow 配置修改 plist =====
|
|
161
|
+
if workflow_info && workflow_info[:package_name]
|
|
162
|
+
package_name = workflow_info[:package_name]
|
|
163
|
+
|
|
164
|
+
puts "\n使用工作流配置更新 Info.plist:"
|
|
165
|
+
puts " Package Name: #{package_name}"
|
|
166
|
+
|
|
167
|
+
# 修改 Display Name
|
|
168
|
+
Pindo::XcodeBuildConfig.update_display_name_with_packagename(
|
|
169
|
+
project_dir: pindo_project_dir,
|
|
170
|
+
package_name: package_name
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
# 修改 Bundle ID
|
|
174
|
+
Pindo::XcodeBuildConfig.update_bundleid_with_packagename(
|
|
175
|
+
project_dir: pindo_project_dir,
|
|
176
|
+
package_name: package_name
|
|
177
|
+
)
|
|
178
|
+
else
|
|
179
|
+
raise Informative, "未获取到工作流信息"
|
|
180
|
+
end
|
|
152
181
|
|
|
153
182
|
args_temp = []
|
|
154
183
|
args_temp << mainapp_bundleid
|
|
@@ -156,7 +185,7 @@ module Pindo
|
|
|
156
185
|
|
|
157
186
|
Dir.chdir(pindo_project_dir)
|
|
158
187
|
config_json_file = File.join(pindo_project_dir,"config.json")
|
|
159
|
-
|
|
188
|
+
|
|
160
189
|
scheme_name = @args_proj_name if @args_proj_name
|
|
161
190
|
if !app_info_obj.nil? && !app_info_obj["scheme"].nil? && !app_info_obj["scheme"].empty?
|
|
162
191
|
scheme_name = app_info_obj["scheme"]
|
|
@@ -174,8 +203,19 @@ module Pindo
|
|
|
174
203
|
# 处理entitlements配置
|
|
175
204
|
Pindo::XcodeBuildConfig.update_entitlements_config(project_dir: pindo_project_dir, config_file: config_json_file)
|
|
176
205
|
|
|
177
|
-
# 添加URL
|
|
178
|
-
|
|
206
|
+
# 添加URL Scheme(基于 package_name)
|
|
207
|
+
if workflow_info && workflow_info[:package_name]
|
|
208
|
+
Pindo::XcodeBuildConfig.add_url_scheme_packagename(
|
|
209
|
+
project_dir: pindo_project_dir,
|
|
210
|
+
package_name: workflow_info[:package_name]
|
|
211
|
+
)
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
# 添加URL Schemes(基于 scheme_name 和 Bundle ID)
|
|
215
|
+
Pindo::XcodeBuildConfig.add_url_schemes(
|
|
216
|
+
project_dir: pindo_project_dir,
|
|
217
|
+
scheme_name: scheme_name
|
|
218
|
+
)
|
|
179
219
|
|
|
180
220
|
if File.exist?(File.join(pindo_project_dir, "Podfile"))
|
|
181
221
|
|
|
@@ -278,6 +318,18 @@ module Pindo
|
|
|
278
318
|
end
|
|
279
319
|
end
|
|
280
320
|
|
|
321
|
+
# 计算并显示总耗时
|
|
322
|
+
total_time = Time.now - build_start_time
|
|
323
|
+
minutes = (total_time / 60).to_i
|
|
324
|
+
seconds = (total_time % 60).to_i
|
|
325
|
+
|
|
326
|
+
if minutes > 0
|
|
327
|
+
puts "\e[32m构建完成!总耗时: #{minutes}分#{seconds}秒\e[0m"
|
|
328
|
+
else
|
|
329
|
+
puts "\e[32m构建完成!总耗时: #{seconds}秒\e[0m"
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
puts "\e[32m正在打开目标文件夹...\e[0m"
|
|
281
333
|
system "open #{pindo_project_dir}"
|
|
282
334
|
|
|
283
335
|
end
|
|
@@ -94,7 +94,7 @@ module Pindo
|
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
def ios_build
|
|
97
|
-
|
|
97
|
+
|
|
98
98
|
pindo_project_dir = Dir.pwd
|
|
99
99
|
build_helper = Pindo::BuildHelper.share_instance
|
|
100
100
|
if @args_upload_flag
|
|
@@ -111,9 +111,50 @@ module Pindo
|
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
app_info_obj = nil
|
|
114
|
-
|
|
114
|
+
workflow_info = nil
|
|
115
|
+
if @args_upload_flag
|
|
115
116
|
proj_name = @args_proj_name
|
|
116
|
-
|
|
117
|
+
# 传入 package_type 获取 workflow_info
|
|
118
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
119
|
+
working_directory: Dir.pwd,
|
|
120
|
+
proj_name: proj_name,
|
|
121
|
+
package_type: 'ipa'
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
# ===== 使用 workflow 配置修改 plist =====
|
|
125
|
+
if workflow_info && workflow_info[:package_name]
|
|
126
|
+
package_name = workflow_info[:package_name]
|
|
127
|
+
|
|
128
|
+
puts "\n使用工作流配置更新 Info.plist:"
|
|
129
|
+
puts " Package Name: #{package_name}"
|
|
130
|
+
|
|
131
|
+
# 修改 Display Name
|
|
132
|
+
Pindo::XcodeBuildConfig.update_display_name_with_packagename(
|
|
133
|
+
project_dir: pindo_project_dir,
|
|
134
|
+
package_name: package_name
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
# 修改 Bundle ID
|
|
138
|
+
Pindo::XcodeBuildConfig.update_bundleid_with_packagename(
|
|
139
|
+
project_dir: pindo_project_dir,
|
|
140
|
+
package_name: package_name
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
# 添加URL Scheme(基于 package_name)
|
|
144
|
+
Pindo::XcodeBuildConfig.add_url_scheme_packagename(
|
|
145
|
+
project_dir: pindo_project_dir,
|
|
146
|
+
package_name: package_name
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
# 添加URL Schemes(基于 scheme_name 和 Bundle ID)
|
|
150
|
+
scheme_name = @args_proj_name
|
|
151
|
+
Pindo::XcodeBuildConfig.add_url_schemes(
|
|
152
|
+
project_dir: pindo_project_dir,
|
|
153
|
+
scheme_name: scheme_name
|
|
154
|
+
)
|
|
155
|
+
else
|
|
156
|
+
raise Informative, "未获取到工作流信息"
|
|
157
|
+
end
|
|
117
158
|
end
|
|
118
159
|
|
|
119
160
|
|
|
@@ -101,8 +101,14 @@ DESC
|
|
|
101
101
|
puts
|
|
102
102
|
|
|
103
103
|
app_info_obj = nil
|
|
104
|
+
workflow_info = nil
|
|
104
105
|
proj_name = @args_proj_name
|
|
105
|
-
|
|
106
|
+
# 传入 package_type 获取 workflow_info
|
|
107
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
108
|
+
working_directory: Dir.pwd,
|
|
109
|
+
proj_name: proj_name,
|
|
110
|
+
package_type: 'apk'
|
|
111
|
+
)
|
|
106
112
|
|
|
107
113
|
isLibrary = @args_base_flag
|
|
108
114
|
|
|
@@ -121,8 +121,14 @@ DESC
|
|
|
121
121
|
puts
|
|
122
122
|
|
|
123
123
|
app_info_obj = nil
|
|
124
|
+
workflow_info = nil
|
|
124
125
|
proj_name = @args_proj_name
|
|
125
|
-
|
|
126
|
+
# 传入 package_type 获取 workflow_info
|
|
127
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
128
|
+
working_directory: Dir.pwd,
|
|
129
|
+
proj_name: proj_name,
|
|
130
|
+
package_type: 'ipa'
|
|
131
|
+
)
|
|
126
132
|
|
|
127
133
|
mainapp_bundleid= nil
|
|
128
134
|
if @args_bundle_id
|
|
@@ -151,12 +157,12 @@ DESC
|
|
|
151
157
|
ipa_count = app_info_obj&.dig("ipaCount") || -1
|
|
152
158
|
|
|
153
159
|
unity_helper.build_project(unity_exe_full_path:unity_exe_path, project_path:pindo_project_dir, platform:'iOS', isLibrary:isLibrary, indexNo:ipa_count)
|
|
154
|
-
|
|
155
|
-
|
|
160
|
+
|
|
161
|
+
|
|
156
162
|
args_temp = []
|
|
157
163
|
args_temp << "--bundleid=#{mainapp_bundleid}"
|
|
158
164
|
|
|
159
|
-
if @args_upload_flag
|
|
165
|
+
if @args_upload_flag
|
|
160
166
|
args_temp << "--proj=#{app_info_obj["projectName"]}"
|
|
161
167
|
args_temp << "--upload"
|
|
162
168
|
end
|
|
@@ -220,7 +220,7 @@ module Pindo
|
|
|
220
220
|
raise Informative, "JPS 中没有任何项目,请联系管理员创建"
|
|
221
221
|
end
|
|
222
222
|
|
|
223
|
-
nuget_project = projects.find { |p| p['projectName']&.downcase == 'nuget' }
|
|
223
|
+
nuget_project = projects.find { |p| p['projectName']&.downcase == 'nuget' || p['projectName']&.downcase == 'nuget 库' }
|
|
224
224
|
|
|
225
225
|
if nuget_project.nil?
|
|
226
226
|
puts
|
|
@@ -112,15 +112,15 @@ DESC
|
|
|
112
112
|
puts
|
|
113
113
|
|
|
114
114
|
app_info_obj = nil
|
|
115
|
+
workflow_info = nil
|
|
115
116
|
proj_name = @args_proj_name
|
|
116
|
-
|
|
117
|
+
# 传入 package_type 获取 workflow_info
|
|
118
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
119
|
+
working_directory: Dir.pwd,
|
|
120
|
+
proj_name: proj_name,
|
|
121
|
+
package_type: 'zip'
|
|
122
|
+
)
|
|
117
123
|
|
|
118
|
-
mainapp_bundleid= nil
|
|
119
|
-
if @args_deploy_flag
|
|
120
|
-
mainapp_bundleid = get_selected_deploy_bundleid()
|
|
121
|
-
else
|
|
122
|
-
mainapp_bundleid = get_selected_dev_bundleid()
|
|
123
|
-
end
|
|
124
124
|
|
|
125
125
|
isLibrary = @args_base_flag
|
|
126
126
|
|
|
@@ -140,21 +140,7 @@ DESC
|
|
|
140
140
|
unity_helper.build_project(unity_exe_full_path:unity_exe_path, project_path:pindo_project_dir, platform:'iOS', isLibrary:isLibrary, indexNo:ipa_count)
|
|
141
141
|
|
|
142
142
|
|
|
143
|
-
args_temp = []
|
|
144
|
-
args_temp << "--bundleid=#{mainapp_bundleid}"
|
|
145
|
-
|
|
146
|
-
if @args_upload_flag
|
|
147
|
-
args_temp << "--proj=#{app_info_obj["projectName"]}"
|
|
148
|
-
args_temp << "--upload"
|
|
149
|
-
end
|
|
150
|
-
if @args_send_flag
|
|
151
|
-
args_temp << "--send"
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
Dir.chdir(pindo_ios_project_dir)
|
|
155
143
|
|
|
156
|
-
Pindo::Command::Ios::Autobuild::run(args_temp)
|
|
157
|
-
|
|
158
144
|
|
|
159
145
|
end
|
|
160
146
|
|
|
@@ -137,13 +137,50 @@ module Pindo
|
|
|
137
137
|
puts
|
|
138
138
|
|
|
139
139
|
app_info_obj = nil
|
|
140
|
+
workflow_info = nil
|
|
140
141
|
proj_name = @args_proj_name
|
|
141
|
-
|
|
142
|
+
# 传入 package_type 获取 workflow_info
|
|
143
|
+
app_info_obj, workflow_info = PgyerHelper.share_instace.prepare_upload(
|
|
144
|
+
working_directory: Dir.pwd,
|
|
145
|
+
proj_name: proj_name,
|
|
146
|
+
package_type: 'zip'
|
|
147
|
+
)
|
|
142
148
|
|
|
143
149
|
web_export_dir = File.join(pindo_project_dir, "GoodPlatform/WebGL")
|
|
144
150
|
|
|
145
151
|
# 获取 zipCount 用于传递给 Unity 构建
|
|
146
|
-
|
|
152
|
+
# 根据 workflow_info 的 package_name 从 JPS API 获取 WebGL 包的 indexNo
|
|
153
|
+
zip_count = -1
|
|
154
|
+
if workflow_info && workflow_info[:package_name]
|
|
155
|
+
begin
|
|
156
|
+
jps_client = JPSClient::Client.share_client
|
|
157
|
+
project_id = jps_client.get_project_id
|
|
158
|
+
|
|
159
|
+
# 根据 workflow_info 的 package_name 获取 WebGL 包列表
|
|
160
|
+
result = jps_client.project_package.get_project_package_list(
|
|
161
|
+
projectId: project_id,
|
|
162
|
+
params: {
|
|
163
|
+
pageNo: 1,
|
|
164
|
+
pageSize: 1,
|
|
165
|
+
nativePackageType: 'zip',
|
|
166
|
+
packageName: workflow_info[:package_name]
|
|
167
|
+
}
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
# 从返回结果中获取 indexNo
|
|
171
|
+
if result && result['data'] && !result['data'].empty?
|
|
172
|
+
latest_package = result['data'].first
|
|
173
|
+
zip_count = latest_package['indexNo'] || 0
|
|
174
|
+
puts " ✓ 获取到WebGL包序号: #{zip_count}"
|
|
175
|
+
else
|
|
176
|
+
puts " ⚠ 未找到WebGL包,使用初始序号: 0"
|
|
177
|
+
zip_count = 0
|
|
178
|
+
end
|
|
179
|
+
rescue => e
|
|
180
|
+
puts " ⚠ 获取WebGL包序号失败: #{e.message},使用默认值: -1"
|
|
181
|
+
zip_count = -1
|
|
182
|
+
end
|
|
183
|
+
end
|
|
147
184
|
|
|
148
185
|
unity_helper.build_project(unity_exe_full_path:unity_exe_path, project_path:pindo_project_dir, platform:'WebGL', indexNo:zip_count)
|
|
149
186
|
|