pindo 5.5.2 → 5.5.3
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/base/pindocontext.rb +16 -2
- data/lib/pindo/module/build/buildhelper.rb +15 -5
- data/lib/pindo/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 698722ba7d446bce8be6df5d15039b7c1528349d6d43ab95db8224a0baf2743c
|
4
|
+
data.tar.gz: 56f32768dfdde34bf203c2529a31bb2454e2612a29e2e9a1a165634d586157db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81add8a3f5b1fd16f6746bcea99e3ca2a7d6bb65c7d0f58b7eca0c03a9fc88a42adc8401dda0ffd7200a7daafab28aa4065c4e14447016861ae94f99da341e14
|
7
|
+
data.tar.gz: 20228ff9d9c68f846c442d35e7fc96e011f3e9c501ad95db2130c7212a624fe082c395a7f282b007eed88fcd5a9ee4300566fbbf579b1d6ecf3d451e1c679ce6
|
@@ -217,6 +217,20 @@ module Pindo
|
|
217
217
|
|
218
218
|
private
|
219
219
|
|
220
|
+
# 递归将Hash的键从字符串转换为符号
|
221
|
+
def symbolize_keys(obj)
|
222
|
+
case obj
|
223
|
+
when Hash
|
224
|
+
obj.each_with_object({}) do |(key, value), result|
|
225
|
+
result[key.to_sym] = symbolize_keys(value)
|
226
|
+
end
|
227
|
+
when Array
|
228
|
+
obj.map { |item| symbolize_keys(item) }
|
229
|
+
else
|
230
|
+
obj
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
220
234
|
# 确保缓存目录存在
|
221
235
|
def ensure_cache_dir
|
222
236
|
cache_dir = File.expand_path('~/.pindo/cache')
|
@@ -306,7 +320,7 @@ module Pindo
|
|
306
320
|
@memory_selections[proj_path][cmd] ||= {}
|
307
321
|
selections.each do |key, value|
|
308
322
|
symbol_key = key.to_sym
|
309
|
-
@memory_selections[proj_path][cmd][symbol_key] = value
|
323
|
+
@memory_selections[proj_path][cmd][symbol_key] = symbolize_keys(value)
|
310
324
|
end
|
311
325
|
end
|
312
326
|
end
|
@@ -332,7 +346,7 @@ module Pindo
|
|
332
346
|
@memory_selections[proj_path][cmd] ||= {}
|
333
347
|
selections.each do |key, value|
|
334
348
|
symbol_key = key.to_sym
|
335
|
-
@memory_selections[proj_path][cmd][symbol_key] = value
|
349
|
+
@memory_selections[proj_path][cmd][symbol_key] = symbolize_keys(value)
|
336
350
|
end
|
337
351
|
end
|
338
352
|
end
|
@@ -142,16 +142,20 @@ module Pindo
|
|
142
142
|
# 在自动化模式或没有交互式终端时,默认选择新增版本号打新Tag
|
143
143
|
puts "检测到当前代码没有打Tag,在自动模式下将自动新增版本号并打新Tag"
|
144
144
|
tag_action_parms = []
|
145
|
-
is_need_add_tag =
|
145
|
+
is_need_add_tag = true # 自动模式下需要打tag
|
146
146
|
else
|
147
147
|
# 检查是否已有用户选择
|
148
148
|
context = PindoContext.instance
|
149
149
|
build_helper = BuildHelper.share_instance
|
150
150
|
# 优先从持久化缓存读取,如果没有则从内存临时缓存读取
|
151
|
-
cached_decision = context.get_selection(PindoContext::SelectionKey::TAG_DECISION)
|
152
|
-
build_helper.temp_tag_decision
|
151
|
+
cached_decision = context.get_selection(PindoContext::SelectionKey::TAG_DECISION)
|
153
152
|
|
154
|
-
|
153
|
+
# 只有当持久化缓存中确实不存在该键时,才从临时缓存读取
|
154
|
+
if cached_decision.nil? && !context.has_selection?(PindoContext::SelectionKey::TAG_DECISION)
|
155
|
+
cached_decision = build_helper.temp_tag_decision
|
156
|
+
end
|
157
|
+
|
158
|
+
if cached_decision && cached_decision.is_a?(Hash)
|
155
159
|
# 使用之前的选择
|
156
160
|
puts "\n使用之前的选择:#{cached_decision[:description]}"
|
157
161
|
tag_action_parms = cached_decision[:tag_action_parms]
|
@@ -172,6 +176,7 @@ module Pindo
|
|
172
176
|
tag_action_parms = []
|
173
177
|
selected_action = :new_tag
|
174
178
|
selected_description = "新增版本号,打新Tag"
|
179
|
+
is_need_add_tag = true # 明确设置需要打tag
|
175
180
|
:new_tag
|
176
181
|
},
|
177
182
|
"将上次的Tag删除重新打Tag" => -> {
|
@@ -179,17 +184,22 @@ module Pindo
|
|
179
184
|
tag_action_parms << "--retag"
|
180
185
|
selected_action = :recreate_tag
|
181
186
|
selected_description = "将上次的Tag删除重新打Tag"
|
187
|
+
is_need_add_tag = true # 明确设置需要打tag
|
182
188
|
:recreate_tag
|
183
189
|
},
|
184
190
|
"不需要Tag继续编译且上传,手动修改上传备注" => -> {
|
185
191
|
puts ""
|
192
|
+
tag_action_parms = nil # 明确设置为nil
|
186
193
|
selected_action = :continue_without_tag
|
187
194
|
selected_description = "不需要Tag继续编译且上传"
|
195
|
+
is_need_add_tag = false # 明确设置不需要打tag
|
188
196
|
:continue_without_tag
|
189
197
|
},
|
190
198
|
"终止退出编译" => -> {
|
199
|
+
tag_action_parms = nil # 明确设置为nil
|
191
200
|
selected_action = :exit
|
192
201
|
selected_description = "终止退出编译"
|
202
|
+
is_need_add_tag = false # 明确设置不需要打tag
|
193
203
|
raise Informative, "终止退出编译!"
|
194
204
|
:exit
|
195
205
|
}
|
@@ -203,7 +213,7 @@ module Pindo
|
|
203
213
|
end
|
204
214
|
end
|
205
215
|
|
206
|
-
is_need_add_tag
|
216
|
+
# is_need_add_tag 已在各个选项中明确设置,无需重新计算
|
207
217
|
|
208
218
|
# 保存用户选择
|
209
219
|
build_helper = BuildHelper.share_instance
|
data/lib/pindo/version.rb
CHANGED
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.5.
|
4
|
+
version: 5.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wade
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 2025-09-27 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: claide
|
@@ -475,7 +475,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
475
475
|
- !ruby/object:Gem::Version
|
476
476
|
version: '0'
|
477
477
|
requirements: []
|
478
|
-
rubygems_version: 3.6.
|
478
|
+
rubygems_version: 3.6.3
|
479
479
|
specification_version: 3
|
480
480
|
summary: easy work
|
481
481
|
test_files: []
|