pindo 5.14.7 → 5.15.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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/base/aeshelper.rb +53 -22
  3. data/lib/pindo/base/git_handler.rb +295 -32
  4. data/lib/pindo/client/giteeclient.rb +15 -6
  5. data/lib/pindo/command/android/autobuild.rb +7 -5
  6. data/lib/pindo/command/appstore/autobuild.rb +5 -2
  7. data/lib/pindo/command/appstore/cert.rb +6 -0
  8. data/lib/pindo/command/appstore/iap.rb +2 -3
  9. data/lib/pindo/command/ios/autobuild.rb +31 -21
  10. data/lib/pindo/command/ios/cert.rb +1 -1
  11. data/lib/pindo/command/jps/apptest.rb +1 -1
  12. data/lib/pindo/command/jps/bind.rb +6 -2
  13. data/lib/pindo/command/jps/media.rb +6 -2
  14. data/lib/pindo/command/jps/upload.rb +6 -4
  15. data/lib/pindo/command/repo/clone.rb +110 -32
  16. data/lib/pindo/command/repo/subgit.rb +91 -0
  17. data/lib/pindo/command/repo.rb +1 -0
  18. data/lib/pindo/command/unity/autobuild.rb +6 -4
  19. data/lib/pindo/command/unity/packbuild.rb +14 -7
  20. data/lib/pindo/command/utils/tag.rb +5 -3
  21. data/lib/pindo/command/web/autobuild.rb +7 -5
  22. data/lib/pindo/command.rb +1 -1
  23. data/lib/pindo/config/build_info_manager.rb +37 -14
  24. data/lib/pindo/module/appstore/bundleid_helper.rb +7 -3
  25. data/lib/pindo/module/build/git_repo_helper.rb +14 -35
  26. data/lib/pindo/module/cert/cert_helper.rb +33 -9
  27. data/lib/pindo/module/cert/xcode_cert_helper.rb +17 -7
  28. data/lib/pindo/module/pgyer/pgyerhelper.rb +110 -22
  29. data/lib/pindo/module/task/model/build/android_build_dev_task.rb +3 -2
  30. data/lib/pindo/module/task/model/build/ios_build_dev_task.rb +3 -2
  31. data/lib/pindo/module/task/model/git/git_commit_task.rb +107 -48
  32. data/lib/pindo/module/task/model/git/git_tag_task.rb +21 -20
  33. data/lib/pindo/module/task/model/git_task.rb +49 -0
  34. data/lib/pindo/module/task/model/jps/jps_bind_package_task.rb +8 -5
  35. data/lib/pindo/module/task/model/jps/jps_upload_media_task.rb +21 -13
  36. data/lib/pindo/module/task/model/jps/jps_workflow_message_task.rb +8 -4
  37. data/lib/pindo/module/task/model/resign/ipa_local_resign_task.rb +5 -0
  38. data/lib/pindo/options/core/option_item.rb +4 -5
  39. data/lib/pindo/options/groups/git_options.rb +40 -0
  40. data/lib/pindo/options/helpers/git_constants.rb +28 -0
  41. data/lib/pindo/version.rb +1 -1
  42. metadata +11 -15
@@ -1,5 +1,6 @@
1
1
  require 'pindo/options/core/option_item'
2
2
  require 'pindo/options/groups/option_group'
3
+ require 'pindo/options/helpers/git_constants'
3
4
 
4
5
  module Pindo
5
6
  module Options
@@ -75,6 +76,24 @@ module Pindo
75
76
  optional: true,
76
77
  cacheable: true, # 存入文件缓存
77
78
  example: 'pindo ios autobuild --release_branch=main'
79
+ ),
80
+
81
+ git_commit: OptionItem.new(
82
+ key: :git_commit,
83
+ name: 'Git 未提交处理方式',
84
+ description: '处理未提交文件的方式: commit/skip/reset/stash/exit',
85
+ type: String,
86
+ env_name: 'PINDO_GIT_COMMIT',
87
+ default_value: nil,
88
+ optional: true,
89
+ cacheable: false,
90
+ verify_block: proc do |value|
91
+ allowed = %w[commit skip reset delete stash exit resetde discard]
92
+ unless allowed.include?(value.to_s.downcase)
93
+ raise "git_commit 值错误: #{value}, 必须是 #{allowed.join(', ')} 之一"
94
+ end
95
+ end,
96
+ example: 'pindo unity autobuild --git-commit=skip'
78
97
  )
79
98
  }
80
99
  end
@@ -95,6 +114,27 @@ module Pindo
95
114
  end
96
115
  end
97
116
 
117
+ # 解析 --git-commit 参数并转换为枚举常量
118
+ # @param value [String] 命令行参数值
119
+ # @return [Symbol, nil] UncommittedFilesProcessType 常量或 nil
120
+ def self.parse_git_commit_type(value)
121
+ return nil if value.nil?
122
+ case value.to_s.downcase
123
+ when 'commit', 'comm'
124
+ Pindo::UncommittedFilesProcessType::COMMIT
125
+ when 'skip', 'none', 'dont'
126
+ Pindo::UncommittedFilesProcessType::SKIP
127
+ when 'reset', 'delete', 'resetde', 'discard'
128
+ Pindo::UncommittedFilesProcessType::RESET
129
+ when 'stash'
130
+ Pindo::UncommittedFilesProcessType::STASH
131
+ when 'exit'
132
+ Pindo::UncommittedFilesProcessType::EXIT
133
+ else
134
+ nil
135
+ end
136
+ end
137
+
98
138
  # 将命令行参数值转换为 CreateTagType 常量
99
139
  # @param value [String] 命令行参数值 (new/recreate/none)
100
140
  # @return [Symbol] CreateTagType 常量值
@@ -0,0 +1,28 @@
1
+ module Pindo
2
+ # Git 版本号增加类型枚举
3
+ # 用于控制版本号自动增长规则
4
+ module VersionIncreaseType
5
+ MAIN = :main # 大版本号增加1 (x.0.0)
6
+ MINI = :mini # 小版本号增加1 (0.x.0)
7
+ PATCH = :patch # 补丁版本号增加1 (0.0.x)
8
+ end
9
+
10
+ # Git Tag 创建类型枚举
11
+ # 用于控制标签创建行为
12
+ module CreateTagType
13
+ NEW = :new # 创建新的 tag,生成新版本号
14
+ RECREATE = :recreate # 重新创建当前版本号的 tag
15
+ NONE = :none # 不创建 tag
16
+ end
17
+
18
+ # Git 未提交文件处理类型枚举
19
+ # 用于控制构建前未提交文件的处理方式
20
+ module UncommittedFilesProcessType
21
+ COMMIT = :commit # 自动提交所有更改
22
+ SKIP = :skip # 跳过处理,继续执行
23
+ RESET = :reset # 丢弃所有更改,重置到远程
24
+ STASH = :stash # 保存到 stash 区域
25
+ EXIT = :exit # 退出程序,要求手动处理
26
+ NONE = :none # 没有需要提交的内容
27
+ end
28
+ 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.7"
9
+ VERSION = "5.15.1"
10
10
 
11
11
  class VersionCheck
12
12
  RUBYGEMS_API = 'https://rubygems.org/api/v1/gems/pindo.json'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pindo
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.14.7
4
+ version: 5.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-12-31 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: claide
@@ -55,20 +55,20 @@ dependencies:
55
55
  requirements:
56
56
  - - "~>"
57
57
  - !ruby/object:Gem::Version
58
- version: '2.220'
58
+ version: '2.230'
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 2.220.0
61
+ version: 2.230.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.220'
68
+ version: '2.230'
69
69
  - - ">="
70
70
  - !ruby/object:Gem::Version
71
- version: 2.220.0
71
+ version: 2.230.0
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: fastimage
74
74
  requirement: !ruby/object:Gem::Requirement
@@ -95,20 +95,14 @@ dependencies:
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: 0.1.0
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: 0.1.9
98
+ version: 0.3.0
102
99
  type: :runtime
103
100
  prerelease: false
104
101
  version_requirements: !ruby/object:Gem::Requirement
105
102
  requirements:
106
103
  - - "~>"
107
104
  - !ruby/object:Gem::Version
108
- version: 0.1.0
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: 0.1.9
105
+ version: 0.3.0
112
106
  - !ruby/object:Gem::Dependency
113
107
  name: jpsclient
114
108
  requirement: !ruby/object:Gem::Requirement
@@ -346,6 +340,7 @@ files:
346
340
  - lib/pindo/command/repo/create.rb
347
341
  - lib/pindo/command/repo/login.rb
348
342
  - lib/pindo/command/repo/search.rb
343
+ - lib/pindo/command/repo/subgit.rb
349
344
  - lib/pindo/command/setup.rb
350
345
  - lib/pindo/command/unity.rb
351
346
  - lib/pindo/command/unity/autobuild.rb
@@ -487,6 +482,7 @@ files:
487
482
  - lib/pindo/options/groups/task_options.rb
488
483
  - lib/pindo/options/groups/unity_options.rb
489
484
  - lib/pindo/options/helpers/bundleid_selector.rb
485
+ - lib/pindo/options/helpers/git_constants.rb
490
486
  - lib/pindo/options/options.rb
491
487
  - lib/pindo/version.rb
492
488
  homepage: https://gitee.com/test/pindo.git
@@ -507,7 +503,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
507
503
  - !ruby/object:Gem::Version
508
504
  version: 3.0.0
509
505
  requirements: []
510
- rubygems_version: 3.6.3
506
+ rubygems_version: 4.0.3
511
507
  specification_version: 4
512
508
  summary: easy work
513
509
  test_files: []