pindo 5.19.1 → 5.19.2

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: db02bf00df627b07423ebd53475c538b60a4d5d8d567b2bb81a61390aaae73bc
4
- data.tar.gz: 5252fb968e7bde86a095a78dce92599c9614061c1da9666e8cf2bea03927c8c6
3
+ metadata.gz: 68c6a51d50dad94212ebaf6360ce8a9f6a196b30aaf98a98e2114875ed6c0984
4
+ data.tar.gz: 34d0ca5bf09f50c5c3d2d25fa48cf761f526bd15381c57fca95c6b73567a41c1
5
5
  SHA512:
6
- metadata.gz: fa95f45065b4a8635c4d12c5a4c1d3a95e678df97724103857e055d9088d8f8613fddef8786229163bbd8ad01c87242e396e5b79e1c5f4d92411b61192e3bde1
7
- data.tar.gz: 931bd858133452f7cc5a3edafc60cbe7c4f56b5d0f8da6d720f24c23f7974cfe2c823e0bbc7e1d1a04bc8f99faa581ef7c52ae99b0676ec6cfc4e407411e3e05
6
+ metadata.gz: 7318ecbfadf6b0bee7febebff7f35e289984049f37b95760722abed6a59cc497b58f3fcb6786566a0f0ea71688da5434fc1c139cd68905f8b24dd326628a2187
7
+ data.tar.gz: c08a9a8fc36bdbe9850bff8601c1d4da3a371466fa2c7b95c24cdcdcbe9fa4e059d12e3cd692a7491c15f6faa7d5cbaac3f73b855b0b69470790a5c72e184f56
@@ -216,12 +216,17 @@ module Pindo
216
216
  def remote_tag_commit(local_repo_dir: nil, tag_name: nil)
217
217
  return nil if local_repo_dir.nil? || !File.exist?(local_repo_dir)
218
218
  tag_ref = "refs/tags/#{tag_name}"
219
- res_data = git_remote!(local_repo_dir, %W(-C #{local_repo_dir} ls-remote --tags origin #{tag_ref}))
220
- lines = res_data.to_s.lines.map(&:strip).reject(&:empty?)
221
- return nil if lines.empty?
222
- # annotated tag ^{} 解引用行才是真实 commit,优先取它
223
- deref = lines.find { |l| l.include?("^{}") }
224
- (deref || lines.first).split(/\s+/).first
219
+ peeled_ref = "#{tag_ref}^{}"
220
+ # annotated tag 需要 ^{} 解引用行才能拿到真实 commit;但只传 tag_ref 精确过滤时,
221
+ # git ls-remote 不会附带 ^{} 行,必须显式把 peeled_ref 一起传入才能拿到它
222
+ res_data = git_remote!(local_repo_dir, %W(-C #{local_repo_dir} ls-remote --tags origin #{tag_ref} #{peeled_ref}))
223
+ entries = res_data.to_s.lines.map { |l| l.strip.split(/\s+/, 2) }
224
+ .select { |sha, ref| sha && ref }
225
+ return nil if entries.empty?
226
+ # 优先取 ^{} 行(annotated tag 的真实 commit);lightweight tag 只有 tag_ref 行且本身即 commit
227
+ peeled = entries.find { |_sha, ref| ref == peeled_ref }
228
+ plain = entries.find { |_sha, ref| ref == tag_ref }
229
+ (peeled || plain)&.first
225
230
  end
226
231
 
227
232
  def remote_tag_exists?(local_repo_dir: nil, tag_name: nil)
@@ -98,7 +98,7 @@ module Pindo
98
98
  @option_items ||= Pindo::Options::OptionGroup.merge(
99
99
  Pindo::Options::BuildOptions.select(:bundle_name, :release),
100
100
  Pindo::Options::JPSOptions.select(:conf, :upload, :media, :bind, :send),
101
- Pindo::Options::UnityOptions.select(:skiplib, :skipyoo),
101
+ Pindo::Options::UnityOptions.select(:skiplib, :skipyoo, :kill_unity),
102
102
  Pindo::Options::UnityOptions.select_with_defaults(skipmacro: true),
103
103
  Pindo::Options::TaskOptions.select(:multi),
104
104
  Pindo::Options::GitOptions.all
@@ -130,6 +130,7 @@ module Pindo
130
130
  # Unity 参数
131
131
  @args_skip_lib = @options[:skiplib] || false
132
132
  @args_skip_yoo = @options[:skipyoo] || false
133
+ @args_kill_unity = @options[:kill_unity] || false
133
134
 
134
135
  # Task 参数
135
136
  @args_multi_flag = @options[:multi] || false
@@ -313,7 +314,8 @@ module Pindo
313
314
  # 2.1 Unity 更新必备库任务(可选)
314
315
  unless @args_skip_lib
315
316
  unity_update_task = Pindo::TaskSystem::UnityUpdateTask.new(
316
- project_path: config[:project_path]
317
+ project_path: config[:project_path],
318
+ auto_kill: @args_kill_unity
317
319
  )
318
320
  unity_update_task.dependencies << last_task.id
319
321
  tasks << unity_update_task
@@ -324,7 +326,8 @@ module Pindo
324
326
  unless @args_skip_yoo
325
327
  unity_yoo_task = Pindo::TaskSystem::UnityYooAssetTask.new(
326
328
  'android',
327
- project_path: config[:project_path]
329
+ project_path: config[:project_path],
330
+ auto_kill: @args_kill_unity
328
331
  )
329
332
  unity_yoo_task.dependencies << last_task.id
330
333
  tasks << unity_yoo_task
@@ -339,7 +342,8 @@ module Pindo
339
342
  'android',
340
343
  project_path: config[:project_path],
341
344
  export_path: android_export_path,
342
- context: unity_context
345
+ context: unity_context,
346
+ auto_kill: @args_kill_unity
343
347
  )
344
348
  unity_export_task.dependencies << last_task.id
345
349
  tasks << unity_export_task
@@ -101,7 +101,7 @@ module Pindo
101
101
  @option_items ||= Pindo::Options::OptionGroup.merge(
102
102
  Pindo::Options::BuildOptions.select(:bundleid, :build_type),
103
103
  Pindo::Options::JPSOptions.select(:conf, :upload, :media, :bind, :send),
104
- Pindo::Options::UnityOptions.select(:skiplib, :skipyoo),
104
+ Pindo::Options::UnityOptions.select(:skiplib, :skipyoo, :kill_unity),
105
105
  Pindo::Options::UnityOptions.select_with_defaults(skipmacro: true),
106
106
  Pindo::Options::TaskOptions.select(:multi),
107
107
  Pindo::Options::GitOptions.all
@@ -141,6 +141,7 @@ module Pindo
141
141
  # Unity 参数
142
142
  @args_skip_lib = @options[:skiplib] || false
143
143
  @args_skip_yoo = @options[:skipyoo] || false
144
+ @args_kill_unity = @options[:kill_unity] || false
144
145
 
145
146
  # Task 参数
146
147
  @args_multi_flag = @options[:multi] || false
@@ -282,7 +283,8 @@ module Pindo
282
283
  # 2.1 Unity 更新必备库任务(可选)
283
284
  unless @args_skip_lib
284
285
  unity_update_task = Pindo::TaskSystem::UnityUpdateTask.new(
285
- project_path: config[:project_path]
286
+ project_path: config[:project_path],
287
+ auto_kill: @args_kill_unity
286
288
  )
287
289
  unity_update_task.dependencies << last_task.id
288
290
  tasks << unity_update_task
@@ -293,7 +295,8 @@ module Pindo
293
295
  unless @args_skip_yoo
294
296
  unity_yoo_task = Pindo::TaskSystem::UnityYooAssetTask.new(
295
297
  'ios',
296
- project_path: config[:project_path]
298
+ project_path: config[:project_path],
299
+ auto_kill: @args_kill_unity
297
300
  )
298
301
  unity_yoo_task.dependencies << last_task.id
299
302
  tasks << unity_yoo_task
@@ -309,7 +312,8 @@ module Pindo
309
312
  project_path: config[:project_path],
310
313
  export_path: ios_export_path,
311
314
  deploy_mode: @build_type, # 根据 build_type 传递部署模式
312
- context: unity_context
315
+ context: unity_context,
316
+ auto_kill: @args_kill_unity
313
317
  )
314
318
  unity_export_task.dependencies << last_task.id
315
319
  tasks << unity_export_task
@@ -90,7 +90,7 @@ module Pindo
90
90
 
91
91
  $ pindo unity autobuild --multi # 使用并发模式执行
92
92
 
93
- $ pindo unity autobuild --kill-unity # 自动关闭 Unity 进程(不询问确认)
93
+ $ pindo unity autobuild --kill_unity # 自动关闭 Unity 进程(不询问确认)
94
94
  DESC
95
95
 
96
96
  # 命令参数
@@ -94,7 +94,7 @@ module Pindo
94
94
  @option_items ||= Pindo::Options::OptionGroup.merge(
95
95
  Pindo::Options::BuildOptions.select(:bundleid),
96
96
  Pindo::Options::JPSOptions.select(:conf, :upload, :send, :media, :bind),
97
- Pindo::Options::UnityOptions.select(:skiplib, :skipyoo),
97
+ Pindo::Options::UnityOptions.select(:skiplib, :skipyoo, :kill_unity),
98
98
  Pindo::Options::UnityOptions.select_with_defaults(skipmacro: true),
99
99
  Pindo::Options::TaskOptions.select(:multi),
100
100
  Pindo::Options::UtilsOptions.select(:run),
@@ -128,6 +128,7 @@ module Pindo
128
128
  # Unity 参数
129
129
  @args_skip_lib = @options[:skiplib] || false
130
130
  @args_skip_yoo = @options[:skipyoo] || false
131
+ @args_kill_unity = @options[:kill_unity] || false
131
132
 
132
133
  # Task 参数
133
134
  @args_multi_flag = @options[:multi] || false
@@ -283,7 +284,8 @@ module Pindo
283
284
  # 3. Unity 更新必备库任务(可选)
284
285
  unless @args_skip_lib
285
286
  unity_update_task = Pindo::TaskSystem::UnityUpdateTask.new(
286
- project_path: config[:project_path]
287
+ project_path: config[:project_path],
288
+ auto_kill: @args_kill_unity
287
289
  )
288
290
  unity_update_task.dependencies << last_task.id if last_task
289
291
  tasks << unity_update_task
@@ -294,7 +296,8 @@ module Pindo
294
296
  unless @args_skip_yoo
295
297
  unity_yoo_task = Pindo::TaskSystem::UnityYooAssetTask.new(
296
298
  'web',
297
- project_path: config[:project_path]
299
+ project_path: config[:project_path],
300
+ auto_kill: @args_kill_unity
298
301
  )
299
302
  unity_yoo_task.dependencies << last_task.id if last_task
300
303
  tasks << unity_yoo_task
@@ -313,7 +316,8 @@ module Pindo
313
316
  'web',
314
317
  project_path: config[:project_path],
315
318
  export_path: web_export_path,
316
- context: unity_context
319
+ context: unity_context,
320
+ auto_kill: @args_kill_unity
317
321
  )
318
322
  unity_export_task.dependencies << last_task.id if last_task
319
323
  tasks << unity_export_task
@@ -51,7 +51,7 @@ module Pindo
51
51
  env_name: 'PINDO_KILL_UNITY',
52
52
  default_value: false,
53
53
  optional: true,
54
- example: 'pindo unity autobuild --kill-unity'
54
+ example: 'pindo unity autobuild --kill_unity'
55
55
  )
56
56
  }
57
57
  end
data/lib/pindo/version.rb CHANGED
@@ -6,7 +6,7 @@ require 'time'
6
6
 
7
7
  module Pindo
8
8
 
9
- VERSION = "5.19.1"
9
+ VERSION = "5.19.2"
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.19.1
4
+ version: 5.19.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade