pindo 5.20.1 → 5.20.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9130519bcd67f9216d72127ff62259c9ee2af59836b59ed04b7e0b3f2c5e187
4
- data.tar.gz: 35c3134a7b87562fbdad8481d3cb27c0682918c88c58b4e3cdef6072a1a8a24f
3
+ metadata.gz: 4b1febabe3ba7ca2b2d8bd2e3f005e6aec1226b7d7881b3aebec6b6d5af1c5f0
4
+ data.tar.gz: bd12f36dfa900606bb82154406f6d85dbf37bcb1e16abfcd0aaa48341734d20a
5
5
  SHA512:
6
- metadata.gz: c9b16bb204b8047c7690baa0c25aa0704ab1d6e119b12b4ec60c41fd556111ff4725d6b76ad703f9f3953cdd5c114397086dea5432d858330fdfdbbe4781f2bd
7
- data.tar.gz: 2ab33df32230c956a7e72a857471edcec4531d74c1ced69dadb0ce1259952e76d828f6f3428622c503d0a2e743b0c9d64bc328bf68a45c46b6c63dfa6b6bfab5
6
+ metadata.gz: f780b333edd0ae1272d15af1c641e41c481c8ad06ded6bbd7d253f662f54de34b707ccd2e0a91097728da293ead5c053e6d1a8ea652722897a7e572e0c2ec26e
7
+ data.tar.gz: 88e50426cfeb85c798610f64935a1e8053d6200da20920a450c2940c79b451e78be918d55d94ea2f186d2a2feb4773b15d6e7221b294d497f4e8470a626c145d
@@ -967,7 +967,11 @@ module Pindo
967
967
  uncommitted_files = get_uncommitted_files(project_dir: project_dir)
968
968
 
969
969
  # 2. 如果没有未提交的文件,返回 NONE 类型
970
- return default_process_type if uncommitted_files.nil? || uncommitted_files.empty?
970
+ # 未显式指定处理方式时必须返回 NONE 而不是 nil:nil 会让 GitCommitTask 兜底成
971
+ # SKIP_WITH_TAG,导致构建阶段注入的源码修改在打 tag 时被当作"用户选择不提交"而跳过。
972
+ if uncommitted_files.nil? || uncommitted_files.empty?
973
+ return default_process_type || Pindo::UncommittedFilesProcessType::NONE
974
+ end
971
975
 
972
976
  # 3. 如果非交互模式,使用指定的处理方式
973
977
  unless interactive
@@ -82,15 +82,21 @@ module Pindo
82
82
  workflow_packname: workflow_packname
83
83
  )
84
84
 
85
- # 下载并替换 Icon
86
- if @app_info_obj && @app_info_obj["projectIcon"] && !@app_info_obj["projectIcon"].empty?
85
+ # 下载并替换 Icon,优先使用 packageProjectIcon,为空则回退到 projectIcon
86
+ icon_url = nil
87
+ if @app_info_obj
88
+ icon_url = @app_info_obj["packageProjectIcon"] unless @app_info_obj["packageProjectIcon"].to_s.strip.empty?
89
+ icon_url ||= @app_info_obj["projectIcon"] unless @app_info_obj["projectIcon"].to_s.strip.empty?
90
+ end
91
+
92
+ if icon_url
87
93
  icon_replace_success = Pindo::AndroidConfigHelper.download_and_replace_icon_from_url(
88
94
  project_dir: @project_path,
89
- icon_url: @app_info_obj["projectIcon"]
95
+ icon_url: icon_url
90
96
  )
91
97
 
92
98
  unless icon_replace_success
93
- raise Informative, "Icon 下载或替换失败,请检查 Icon URL 是否有效: #{@app_info_obj["projectIcon"]}"
99
+ raise Informative, "Icon 下载或替换失败,请检查 Icon URL 是否有效: #{icon_url}"
94
100
  end
95
101
  else
96
102
  Funlog.warning("未配置 Icon URL,跳过 Icon 替换")
@@ -142,15 +142,21 @@ module Pindo
142
142
  project_id: project_id
143
143
  )
144
144
 
145
- # 下载并替换 Icon
146
- if @app_info_obj && @app_info_obj["packageProjectIcon"] && !@app_info_obj["packageProjectIcon"].empty?
145
+ # 下载并替换 Icon,优先使用 packageProjectIcon,为空则回退到 projectIcon
146
+ icon_url = nil
147
+ if @app_info_obj
148
+ icon_url = @app_info_obj["packageProjectIcon"] unless @app_info_obj["packageProjectIcon"].to_s.strip.empty?
149
+ icon_url ||= @app_info_obj["projectIcon"] unless @app_info_obj["projectIcon"].to_s.strip.empty?
150
+ end
151
+
152
+ if icon_url
147
153
  icon_replace_success = Pindo::XcodeBuildConfig.download_and_replace_icon_from_url(
148
154
  project_dir: @project_path,
149
- icon_url: @app_info_obj["packageProjectIcon"]
155
+ icon_url: icon_url
150
156
  )
151
157
 
152
158
  unless icon_replace_success
153
- raise Informative, "Icon 下载或替换失败,请检查 Icon URL 是否有效: #{@app_info_obj["packageProjectIcon"]}"
159
+ raise Informative, "Icon 下载或替换失败,请检查 Icon URL 是否有效: #{icon_url}"
154
160
  end
155
161
  else
156
162
  Funlog.warning("未配置 Icon URL,跳过 Icon 替换")
@@ -115,8 +115,14 @@ module Pindo
115
115
  @build_number = param[:build_number] if param[:build_number]
116
116
  end
117
117
 
118
+ # COMMIT:用户明确选择提交。
119
+ # NONE:构建前工作目录本来就干净,此刻的改动只可能来自构建注入,同样需要提交进 tag。
120
+ # 其余(SKIP_*、STASH、RESET)都是用户明确表达过"不要提交",必须尊重。
118
121
  def commit_build_changes?
119
- @process_type == Pindo::UncommittedFilesProcessType::COMMIT
122
+ [
123
+ Pindo::UncommittedFilesProcessType::COMMIT,
124
+ Pindo::UncommittedFilesProcessType::NONE
125
+ ].include?(@process_type)
120
126
  end
121
127
 
122
128
  # 只提交 autobuild 明确注入的源码文件,避免把 Pods、DerivedData 等构建产物带入发布提交。
data/lib/pindo/version.rb CHANGED
@@ -6,7 +6,7 @@ require 'time'
6
6
 
7
7
  module Pindo
8
8
 
9
- VERSION = "5.20.1"
9
+ VERSION = "5.20.3"
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.20.1
4
+ version: 5.20.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade