pixab 1.2.0 → 1.2.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 +4 -4
- data/lib/ComponentSynchronizer.rb +26 -11
- data/lib/GitUtils.rb +1 -1
- data/lib/Localization.rb +1 -1
- data/lib/MergeRequest.rb +44 -24
- data/lib/RepoManager.rb +14 -3
- data/lib/pixab/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cfd06e937c68ec8fd6c665ac2060fd3a460b1a5a745d87a7644f0a543e1fffe
|
4
|
+
data.tar.gz: a2011617a26f2e28b5b45f178fd1c4335b68b0b5035af2a780273933e8828a52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 398e2af51db09f877e1a5110bd0164ab1293831fb9d903c2201e4498fd57a4a1866e46d5e6de8a6a821080e5fbe96c7da926b44ff08400f8a74286681620adfd
|
7
|
+
data.tar.gz: 9d071439c49927a78a09a4b498b71d2252656f5fae0093f50055ed481e485b826ad2239d845e0199d26bad7fa1f86bc510928dd9deb324203a4f4019dd39d4cf
|
@@ -11,20 +11,23 @@ module Pixab
|
|
11
11
|
|
12
12
|
class ComponentSynchronizer
|
13
13
|
|
14
|
-
attr_accessor :is_need_build
|
14
|
+
attr_accessor :is_need_build, :is_need_remote_repo
|
15
15
|
attr_reader :repo_manager, :repos, :main_repo_name, :updated_repo_names
|
16
16
|
|
17
17
|
def initialize(repo_manager = RepoManager.new, commands = nil)
|
18
18
|
@repo_manager = repo_manager
|
19
19
|
@is_need_build = false
|
20
|
+
@is_need_remote_repo = false
|
20
21
|
if commands.nil?
|
21
22
|
return
|
22
23
|
end
|
23
24
|
commands.each_index do |index|
|
24
25
|
command = commands[index]
|
25
26
|
case command
|
26
|
-
when
|
27
|
+
when "--build"
|
27
28
|
@is_need_build = true
|
29
|
+
when "--remote-repo"
|
30
|
+
@is_need_remote_repo = true
|
28
31
|
else
|
29
32
|
end
|
30
33
|
end
|
@@ -32,14 +35,24 @@ module Pixab
|
|
32
35
|
|
33
36
|
def run
|
34
37
|
read_repo_infos
|
35
|
-
|
36
|
-
active_repo_names =
|
38
|
+
|
39
|
+
active_repo_names = nil
|
40
|
+
if is_need_remote_repo
|
41
|
+
puts "\n》》》》》正在将本地调试仓替换为远程仓 》》》》》》》》》》\n".green
|
42
|
+
active_repo_names = replace_local_to_remote
|
43
|
+
end
|
44
|
+
|
37
45
|
puts "\n》》》》》正在合并主工程代码 》》》》》》》》》》》》》》》\n".green
|
38
46
|
merge_and_check
|
47
|
+
|
39
48
|
puts "\n》》》》》正在读取最新提交,并更新pod 》》》》》》》》》》\n".green
|
40
49
|
replace_podfile
|
41
|
-
|
42
|
-
|
50
|
+
|
51
|
+
if is_need_remote_repo
|
52
|
+
puts "\n》》》》》正在将远程仓复原为本地调试仓 》》》》》》》》》》\n".green
|
53
|
+
reset_remote_to_local(active_repo_names)
|
54
|
+
end
|
55
|
+
|
43
56
|
if is_need_build
|
44
57
|
puts "\n》》》》》正在进行Xcode编译 》》》》》》》》》》》》》》》\n".green
|
45
58
|
FileUtils.cd("#{repo_manager.root_path}/#{main_repo_name}")
|
@@ -57,12 +70,14 @@ module Pixab
|
|
57
70
|
def replace_local_to_remote
|
58
71
|
active_repo_names = ""
|
59
72
|
repos.each do |repo|
|
60
|
-
components = repo["components"]
|
61
73
|
is_avtive = true
|
62
|
-
components
|
63
|
-
|
64
|
-
|
65
|
-
|
74
|
+
components = repo["components"]
|
75
|
+
if !components.nil?
|
76
|
+
components.each do |component|
|
77
|
+
if component["tool"] == "CocoaPods"
|
78
|
+
is_avtive = !component["active"].empty?
|
79
|
+
break
|
80
|
+
end
|
66
81
|
end
|
67
82
|
end
|
68
83
|
if is_avtive
|
data/lib/GitUtils.rb
CHANGED
data/lib/Localization.rb
CHANGED
@@ -9,7 +9,7 @@ module Pixab
|
|
9
9
|
|
10
10
|
class Localization
|
11
11
|
|
12
|
-
ACCESS_TOKEN = '
|
12
|
+
ACCESS_TOKEN = 'bdbda2cc022951235808a4f6c7a7330d4de7dcf719650d7d2ceee260e07d3f01'
|
13
13
|
Project_AirBrush = '546ed49bfca9d3a4f51ccf2c8c279d0f'
|
14
14
|
Project_AirBrush_Video = 'fcb3e858aa1d991e8c21222f3696ce67'
|
15
15
|
|
data/lib/MergeRequest.rb
CHANGED
@@ -5,30 +5,38 @@ require "fileutils"
|
|
5
5
|
require 'colored2'
|
6
6
|
require_relative './Utilities.rb'
|
7
7
|
require_relative './RepoManager.rb'
|
8
|
+
require_relative './GitUtils.rb'
|
8
9
|
|
9
10
|
module Pixab
|
10
11
|
|
11
12
|
class MergeRequest
|
12
13
|
|
13
|
-
attr_accessor :repo_type, :default_commit_msg
|
14
|
+
attr_accessor :repo_type, :default_commit_msg, :need_merge_origin, :need_creat_mr
|
14
15
|
attr_reader :repo_manager, :repos, :command_options
|
15
16
|
|
16
17
|
def initialize(repo_manager = RepoManager.new, commands = nil)
|
17
18
|
@repo_manager = repo_manager
|
18
19
|
@repo_type = 2
|
19
20
|
@default_commit_msg = "[Feature]"
|
21
|
+
@need_merge_origin = true
|
22
|
+
@need_creat_mr = true
|
23
|
+
|
20
24
|
if commands.nil?
|
21
25
|
return
|
22
26
|
end
|
23
27
|
commands.each_index do |index|
|
24
28
|
command = commands[index]
|
25
29
|
case command
|
26
|
-
when
|
30
|
+
when "-a"
|
27
31
|
@repo_type = 0
|
28
32
|
when "-m"
|
29
33
|
@repo_type = 1
|
30
34
|
when "--commit-m"
|
31
35
|
@default_commit_msg = commands[index + 1]
|
36
|
+
when "--no-merge-origin"
|
37
|
+
@need_merge_origin = false
|
38
|
+
when "--no-mr"
|
39
|
+
@need_creat_mr = false
|
32
40
|
else
|
33
41
|
end
|
34
42
|
end
|
@@ -85,8 +93,7 @@ module Pixab
|
|
85
93
|
|
86
94
|
# 合并代码
|
87
95
|
def merge()
|
88
|
-
|
89
|
-
if is_need_merge
|
96
|
+
if need_merge_origin
|
90
97
|
repos.each do |repo|
|
91
98
|
system "mbox merge --repo #{repo["name"]}"
|
92
99
|
end
|
@@ -95,30 +102,43 @@ module Pixab
|
|
95
102
|
|
96
103
|
# 推送MR
|
97
104
|
def push_and_create_mr()
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
105
|
+
if !need_creat_mr
|
106
|
+
return
|
107
|
+
end
|
108
|
+
|
109
|
+
feature_branch = repo_manager.feature_branch
|
110
|
+
|
111
|
+
reviewers = Utilities.display_dialog("正在创建Merge Request\n请输入审核人员ID:\n子琰(979) 丕臻(1385) 再润(1569) 思保(1922)", "979 1385").split()
|
112
|
+
mr_request_assign = ""
|
113
|
+
reviewers.each do |reviewer|
|
103
114
|
mr_request_assign += " -o merge_request.assign=#{reviewer}"
|
115
|
+
end
|
116
|
+
mr_source_branch = "-o merge_request.remove_source_branch"
|
117
|
+
|
118
|
+
repos.each do |repo|
|
119
|
+
repo_name = repo["name"]
|
120
|
+
puts "\n[#{repo_name}]"
|
121
|
+
FileUtils.cd("#{repo_manager.root_path}/#{repo_name}")
|
122
|
+
current_branch = GitUtils.current_branch
|
123
|
+
if current_branch != feature_branch
|
124
|
+
puts "\n[!] The repo #{repo_name} is not in feature branch `#{feature_branch}`. Skip it.".yellow
|
125
|
+
next
|
104
126
|
end
|
105
|
-
|
106
|
-
mr_source_branch = "-o merge_request.remove_source_branch"
|
107
|
-
repos.each do |repo|
|
108
|
-
repo_name = repo["name"]
|
109
|
-
puts repo_name
|
110
|
-
repo_target_branch = repo["target_branch"]
|
111
|
-
repo_last_branch = repo["last_branch"]
|
112
127
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
128
|
+
repo_target_branch = repo["target_branch"]
|
129
|
+
|
130
|
+
log_content = `git log origin/#{repo_target_branch}..#{current_branch} --pretty=format:"%H"`
|
131
|
+
if log_content.empty?
|
132
|
+
puts "\n[!] branch `#{current_branch}` is same as branch `origin/#{repo_target_branch}`. Skip it.".yellow
|
133
|
+
next
|
134
|
+
end
|
135
|
+
mr_target = "-o merge_request.target=#{repo_target_branch}"
|
136
|
+
# mr_title = "-o merge_request.title=#{repo_last_branch}"
|
137
|
+
commad = "git push"
|
138
|
+
if repo["last_branch"].nil?
|
139
|
+
commad += " --set-upstream origin #{current_branch}"
|
121
140
|
end
|
141
|
+
`#{commad} -o merge_request.create #{mr_target} #{mr_source_branch} #{mr_request_assign}`
|
122
142
|
end
|
123
143
|
end
|
124
144
|
|
data/lib/RepoManager.rb
CHANGED
@@ -8,7 +8,7 @@ module Pixab
|
|
8
8
|
|
9
9
|
class RepoManager
|
10
10
|
|
11
|
-
attr_reader :root_path, :
|
11
|
+
attr_reader :root_path, :feature
|
12
12
|
|
13
13
|
def initialize()
|
14
14
|
read_repo_infos
|
@@ -27,10 +27,13 @@ module Pixab
|
|
27
27
|
puts "Error: You are currently in Free Mode".red
|
28
28
|
exit(1)
|
29
29
|
end
|
30
|
-
feature = obj["features"][current_feature_name.downcase]
|
31
|
-
@repos = feature["repos"]
|
30
|
+
@feature = obj["features"][current_feature_name.downcase]
|
32
31
|
end
|
33
32
|
|
33
|
+
def repos
|
34
|
+
feature["repos"]
|
35
|
+
end
|
36
|
+
|
34
37
|
def main_repo
|
35
38
|
repos.first
|
36
39
|
end
|
@@ -43,6 +46,14 @@ module Pixab
|
|
43
46
|
end
|
44
47
|
return []
|
45
48
|
end
|
49
|
+
|
50
|
+
def feature_name
|
51
|
+
feature["name"]
|
52
|
+
end
|
53
|
+
|
54
|
+
def feature_branch
|
55
|
+
feature["branch_prefix"] + feature_name
|
56
|
+
end
|
46
57
|
|
47
58
|
end
|
48
59
|
|
data/lib/pixab/version.rb
CHANGED
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: 1.2.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 廖再润
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored2
|