pixab 2.6.7 → 2.6.8

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: 03ed271c8fb0a56b425c86fcf36e2e9cafc7f4bbf2f3f7d300cc1bd7d3235739
4
- data.tar.gz: 4a50de50638cd35ffaebca73b9b4a35e174a9aa0ad7195732336c2404340c26f
3
+ metadata.gz: ebbf9043986375cb22100981eda800f49dffa8995cdd4d943dea3fecc7d2a4dc
4
+ data.tar.gz: dd9c1b54ea7d359dc7d7589c9d7e3443c1c6193345e2cc6fc90b46321695cb0d
5
5
  SHA512:
6
- metadata.gz: 6df00a737bdd715c3f5c3b0ed5b6065e1c97df053d2683a1f33022934a2ec1e9d9a31498570d06bd7ba3e000360f980311b5e593594fc655308d7745622b7d4c
7
- data.tar.gz: fbd8075532588d861a7692039613200605c8d303cf86eba574a5106983e558c91ca996d6e43778287d5cf512ab0f41801e66e674bb4ae307be307962c402fadb
6
+ metadata.gz: 5d8203821bb1f8a754deb95520cbca7ac103817e75053e34289eb577d23520d76057b227b0da241dd9dd02465fa4bcc68bafbaa10b66488300e54f0e2224a182
7
+ data.tar.gz: 9dec8f482d4eb7166c3ee666a9b6f84552733901b7aaf7d2de9a4a5e866f7b56ddf8de07b01d39ad61a652658879eb24ecf95444db3ec918c06c337cb15cfc2a
data/lib/pixab/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pixab
4
- VERSION = "2.6.7"
4
+ VERSION = "2.6.8"
5
5
  end
@@ -12,7 +12,7 @@ module Pixab
12
12
 
13
13
  class ComponentSynchronizer
14
14
 
15
- attr_accessor :is_need_build, :is_need_remote_repo, :is_need_pod_install, :is_use__target_branch, :need_merge_origin
15
+ attr_accessor :is_need_build, :is_need_remote_repo, :is_need_pod_install, :is_use__target_branch, :need_merge_origin, :is_need_stash
16
16
  attr_reader :repo_manager, :repos, :main_repo_name, :updated_repo_names
17
17
 
18
18
  def initialize(repo_manager = RepoManager.new, commands = nil)
@@ -22,6 +22,7 @@ module Pixab
22
22
  @is_need_pod_install = false
23
23
  @is_use__target_branch = true
24
24
  @need_merge_origin = true
25
+ @is_need_stash = false
25
26
 
26
27
  if commands.nil?
27
28
  return
@@ -41,6 +42,8 @@ module Pixab
41
42
  @is_use__target_branch = false
42
43
  when "--no-merge-origin"
43
44
  @need_merge_origin = false
45
+ when "--stash"
46
+ @is_need_stash = true
44
47
  else
45
48
  end
46
49
  end
@@ -50,33 +53,62 @@ module Pixab
50
53
  def run
51
54
  read_repo_infos
52
55
 
53
- active_repo_names = nil
54
- if is_need_remote_repo
55
- puts "\n⤴️ 正在将本地调试仓替换为远程仓\n".green
56
- active_repo_names = replace_local_to_remote
56
+ did_stash = false
57
+ if is_need_stash
58
+ did_stash = stash_changes
57
59
  end
58
60
 
59
- puts "\n🔀 正在合并主工程代码".green
60
- merge_and_check
61
+ begin
62
+ active_repo_names = nil
63
+ if is_need_remote_repo
64
+ puts "\n⤴️ 正在将本地调试仓替换为远程仓\n".green
65
+ active_repo_names = replace_local_to_remote
66
+ end
61
67
 
62
- puts "\n📥 正在读取最新提交".green
63
- replace_podfile
68
+ puts "\n🔀 正在合并主工程代码".green
69
+ merge_and_check
64
70
 
65
- if is_need_pod_install
66
- puts "\n📦 正在执行pod install\n".green
67
- pod_install
68
- end
71
+ puts "\n📥 正在读取最新提交".green
72
+ replace_podfile
73
+
74
+ if is_need_pod_install
75
+ puts "\n📦 正在执行pod install\n".green
76
+ pod_install
77
+ end
69
78
 
70
- if is_need_remote_repo
71
- puts "\n⤵️ 正在将远程仓复原为本地调试仓\n".green
72
- reset_remote_to_local(active_repo_names)
79
+ if is_need_remote_repo
80
+ puts "\n⤵️ 正在将远程仓复原为本地调试仓\n".green
81
+ reset_remote_to_local(active_repo_names)
82
+ end
83
+
84
+ if is_need_build
85
+ puts "\n🛠️ 正在进行Xcode编译\n".green
86
+ FileUtils.cd("#{repo_manager.root_path}/#{main_repo_name}")
87
+ build
88
+ end
89
+ ensure
90
+ if did_stash
91
+ pop_stash
92
+ end
73
93
  end
94
+ end
74
95
 
75
- if is_need_build
76
- puts "\n🛠️ 正在进行Xcode编译\n".green
77
- FileUtils.cd("#{repo_manager.root_path}/#{main_repo_name}")
78
- build
96
+ # 暂存本地修改
97
+ def stash_changes
98
+ FileUtils.cd("#{repo_manager.root_path}/#{main_repo_name}")
99
+ if GitUtils.has_uncommit_code
100
+ puts "\n📦 正在暂存本地修改".green
101
+ system "git stash push -m 'pixab-sync-auto-stash'"
102
+ return true
79
103
  end
104
+ return false
105
+ end
106
+
107
+ # 恢复暂存的修改
108
+ def pop_stash
109
+ FileUtils.cd("#{repo_manager.root_path}/#{main_repo_name}")
110
+ puts "\n📦 正在恢复暂存的本地修改".green
111
+ system "git stash pop"
80
112
  end
81
113
 
82
114
  # 读取组件信息
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pixab
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.7
4
+ version: 2.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - 廖再润
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-02-06 00:00:00.000000000 Z
11
+ date: 2026-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored2