gct 0.5.3 → 0.5.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c5c117dbfd9e96df0f31a971dda44635658c33d6acb234829862932ed11377c
4
- data.tar.gz: 4c23d03ead1cb929deb885ab802a83531afb0e8f6dcb3d1ffccfc1d433544496
3
+ metadata.gz: f00bf4a54db8a5ed7a97ca67ce4fb5483c4e025cac01b5ecd477f22b6a47bfe2
4
+ data.tar.gz: 7fed4d6aa0a2f1a0868f7f4431312d359893f8ede337ae793b24484ff2295d09
5
5
  SHA512:
6
- metadata.gz: f407f15fa81efaf3233f67b6021551b0ebe62590d086e0f079ca7d2932815529be4f02ed258e126d44241bc9b1cb8a00eb3617bd0f9dd2082c50276ea14e6a99
7
- data.tar.gz: a1a85a16d3d6c6e18d2a45e2c5fba28e0981102539dbd6ff9b458572765d0b3ceff4cffde1e72088ecdb54418ed7a27018c1c64d82a50e82386925187b59b585
6
+ metadata.gz: b8a2bb7fd8772bbea7c8957b20e55c3fe78da36390eecb0792cf34ab1161fb91fd2fad732e2ec774f10b12fb86e39351a9112a8ac6058c675c27ac535e255549
7
+ data.tar.gz: 49bb9f425c5ba77b5b3d4f462fa9d0966f0a77e4ddc22b9775498c293e9f855fc05577f983b54c910e3d0a730016ecf6c2b915b059c6943001f06c8bbebda0c5
@@ -28,6 +28,8 @@ module Gct
28
28
  require 'gct/command/update'
29
29
  require 'gct/command/robot'
30
30
  require 'gct/command/clean'
31
+ require 'gct/command/skip'
32
+ require 'gct/command/unskip'
31
33
 
32
34
  self.abstract_command = true
33
35
  self.command = 'gct'
@@ -92,8 +94,8 @@ module Gct
92
94
  end
93
95
 
94
96
  def auto_add_tag(tag)
95
- puts "current tag = #{tag}"
96
97
  tag_points = tag.to_s.split('.')
98
+ raise "tag is nil" if tag_points.length <= 0
97
99
  index = tag_points.length - 1
98
100
  need_add_point = tag_points[index].to_i + 1
99
101
  tag_points[index] = need_add_point == 10 ? 0 : need_add_point
@@ -47,6 +47,13 @@ module Gct
47
47
 
48
48
  def run
49
49
  FileBase.root_err
50
+
51
+ # 检查远端是否存在分支
52
+ is_exist_branch = check_remote_branch
53
+ if !is_exist_branch
54
+ raise "远端未找到 #{@branch} 分支".red
55
+ end
56
+
50
57
  puts "开始分析podfile文件".green
51
58
  puts ""
52
59
  where_statement = "and is_pre = #{@pre ? 1 : 0}"
@@ -67,20 +74,22 @@ module Gct
67
74
  raise "#{@project_name} #{@version} 版本已经打完tag了!!!".red
68
75
  end
69
76
  else
70
- keys = "(version, name, branch" + (@pre ? ", is_pre)" : ")")
71
- values = "('#{@version}', '#{@project_name}', '#{@branch}'" + (@pre ? ", 1)" : ")")
72
- db = Database::Data.new
73
- sql = "insert into project #{keys} values #{values}"
74
- res = db.query(sql)
75
77
  untagged_specs = analyze_dependencies
76
78
  priority_rank(untagged_specs)
77
79
  create_tag_by_priority()
78
80
  end
79
81
  end
80
82
 
81
- def check_branch(branch)
82
- ret = @branch.include?(branch)
83
- raise "当前不是发布分支".red if !ret
83
+ def check_remote_branch
84
+ remote_branches = Gitlab.branches(@project_id, per_page: 1000)
85
+ branches = Array.new()
86
+ remote_branches.each do |item|
87
+ hash_branch = item.to_hash
88
+ branch_name = hash_branch["name"]
89
+ branches.push(branch_name)
90
+ end
91
+ is_exist_branch = branches.include?(@branch)
92
+ is_exist_branch
84
93
  end
85
94
 
86
95
  def podfile
@@ -101,7 +110,16 @@ module Gct
101
110
  raise "没有需要打tag的库".red if untagged_git_dependencies.count == 0
102
111
 
103
112
  spec_files = Parallel.map(untagged_git_dependencies, in_threads: 1) do |dep|
104
- project_name = "#{Constant.NameSpace}#{dep.name}"
113
+ # 取出组名
114
+ source = dep.external_source[:git]
115
+ left1 = "https://gi-dev.ccrgt.com/"
116
+ left2 = "http://gi-dev.ccrgt.com/"
117
+ right = "/"
118
+ source_regex = /(?<=#{left1}|#{left2}).*(?=#{right})/
119
+ group_name = source_regex.match(source).to_s
120
+ raise "gitlab中找不到#{dep.name}所在的group".red if group_name.nil? || group_name.empty?
121
+
122
+ project_name = "#{group_name}/#{dep.name}"
105
123
  branch = Constant.DefaultTagFromBranch
106
124
  if @pre
107
125
  branch = Constant.PreTagFromBranch
@@ -232,7 +250,9 @@ module Gct
232
250
  end
233
251
  end
234
252
  end
235
-
253
+ # 写入project
254
+ write_project
255
+ # 写入tag
236
256
  values = ""
237
257
  temp_spec_map.each do |key, value|
238
258
  values.concat("('#{@version}', '#{key}', '#{@project_name}', '#{value.tag}', '#{value.status}', #{value.priority}" + (@pre ? ", 1)," : "),"))
@@ -244,12 +264,20 @@ module Gct
244
264
  db.query(sql)
245
265
  end
246
266
 
267
+ def write_project
268
+ keys = "(version, name, branch" + (@pre ? ", is_pre)" : ")")
269
+ values = "('#{@version}', '#{@project_name}', '#{@branch}'" + (@pre ? ", 1)" : ")")
270
+ db = Database::Data.new
271
+ sql = "insert into project #{keys} values #{values}"
272
+ res = db.query(sql)
273
+ end
274
+
247
275
  # 按优先级打tag, 触发第一个优先级,其他的上一优先级打完之后自动触发
248
276
  def create_tag_by_priority()
249
277
  db = Database::Data.new
250
278
  # 查询优先级最高的为完成打tag的数据
251
279
  where_statement = "and is_pre = " + (@pre ? "1" : "0")
252
- sql = "select * from tag where priority = (select MAX(priority) from tag) and project_version = '#{@version}' and tag_status != '#{SpecPublishStatus::SUCCESS}' #{where_statement}"
280
+ sql = "select * from tag where priority = (select MAX(priority) from tag where tag_status != '#{SpecPublishStatus::SUCCESS}' #{where_statement}) and project_version = '#{@version}'"
253
281
  result = db.query(sql)
254
282
  vals = ""
255
283
  ins = ""
@@ -258,11 +286,8 @@ module Gct
258
286
  if row["tag_status"].eql?(SpecPublishStatus::WAITING) || row["tag_status"].eql?(SpecPublishStatus::CANCELED) || row["tag_status"].eql?(SpecPublishStatus::FAILED)
259
287
  status = SpecPublishStatus::PENDING
260
288
  name = row["pod_name"]
261
- puts "pod name is " + name
262
289
  vals.concat("when pod_name = '#{name}' then '#{status}' ")
263
- puts vals
264
290
  ins.concat("'#{name}',")
265
- puts ins
266
291
  system "gct update dependency #{name} tag_status #{status}"
267
292
  skip_tag = ""
268
293
  if row["is_tag"].to_i == 1
@@ -21,7 +21,7 @@ module Gct
21
21
 
22
22
  def run
23
23
  puts "init ci".green
24
- cp_path = Pathname.new(__FILE__).parent + 'gitlab-ci.rb'
24
+ cp_path = Pathname.new(__FILE__).parent + 'ios-ci.rb'
25
25
  system "cp #{cp_path} .gitlab-ci.yml"
26
26
  end
27
27
  end
@@ -8,8 +8,8 @@ push_pod:
8
8
  - echo "开始lint 和 push podspec"
9
9
  - gct update dependency $CI_PROJECT_NAME "tag_status" "deploying"
10
10
  - gct clean lint $CI_PROJECT_NAME
11
- - gct repo update
12
- - gct repo push
11
+ - gct repo update
12
+ - gct repo push $CI_PROJECT_NAME
13
13
  - gct update dependency $CI_PROJECT_NAME "tag_version" $CI_COMMIT_REF_NAME
14
14
  - gct update next
15
15
  only:
@@ -0,0 +1,29 @@
1
+ stages:
2
+ - push
3
+ - failure
4
+
5
+ push_pod:
6
+ stage: push
7
+ script:
8
+ - echo "开始lint 和 push podspec"
9
+ - gct update dependency $CI_PROJECT_NAME "tag_status" "deploying"
10
+ - gct clean lint $CI_PROJECT_NAME
11
+ - gct repo update
12
+ - gct repo push $CI_PROJECT_NAME
13
+ - gct update dependency $CI_PROJECT_NAME "tag_version" $CI_COMMIT_REF_NAME
14
+ - gct update next
15
+ only:
16
+ - tags
17
+ tags:
18
+ - ios-third
19
+
20
+ on_failure:
21
+ stage: failure
22
+ script:
23
+ - gct robot finish false
24
+ - gct update dependency $CI_PROJECT_NAME "tag_status" "failed"
25
+ when: on_failure
26
+ only:
27
+ - tags
28
+ tags:
29
+ - ios-third
@@ -9,9 +9,11 @@ module Gct
9
9
  DESC
10
10
 
11
11
  self.arguments = [
12
+ CLAide::Argument.new('POD_NAME', true),
12
13
  ]
13
14
 
14
15
  def initialize(argv)
16
+ @pod_name = argv.shift_argument
15
17
  super
16
18
  end
17
19
 
@@ -24,9 +26,18 @@ module Gct
24
26
  end
25
27
 
26
28
  def pushRepo
27
- puts "pod 命令为:pod repo push iOSCRGTPodSource --sources=#{Constant.GitURL}iOSCRGTPodSource.git --verbose --skip-import-validation --use-libraries --allow-warnings --use-modular-headers".green
29
+ db = Database::Data.new
30
+ sql = "select * from modular_headers where pod_name = '#{@pod_name}'"
31
+ res = db.query(sql)
32
+ modular_code = "--use-modular-headers"
33
+ if !res.nil? && res.count > 0
34
+ modular_code = ""
35
+ end
36
+ command_code = "pod repo push iOSCRGTPodSource --sources=#{Constant.GitURL}iOSCRGTPodSource.git --verbose --skip-import-validation --use-libraries --allow-warnings #{modular_code}"
37
+
38
+ puts "pod 命令为:#{command_code}".green
28
39
  # exception: ruby 2.6 以上生效
29
- system "pod repo push iOSCRGTPodSource --sources=#{Constant.GitURL}iOSCRGTPodSource.git --verbose --skip-import-validation --use-libraries --allow-warnings --use-modular-headers", exception: true
40
+ system "#{command_code}", exception: true
30
41
  end
31
42
  end
32
43
  end
@@ -1,7 +1,6 @@
1
1
  require 'gct/command/robot/start'
2
2
  require 'gct/command/robot/finish'
3
3
  require 'gct/command/robot/podfile'
4
- require 'gct/command/robot/summary'
5
4
  require 'net/https'
6
5
  require 'json'
7
6
 
@@ -28,7 +28,17 @@ module Gct
28
28
  end
29
29
 
30
30
  def run
31
- message = " <font color=\"info\">podfile 更新完毕</font>"
31
+ db = Database::Data.new
32
+ sql = "select * from project where is_done = 1 order by create_time DESC limit 1"
33
+ res = db.query(sql)
34
+ message = "<font color=\"info\">podfile 更新完毕</font>"
35
+ if !res.nil? && res.count > 0
36
+ res.each do |row|
37
+ branch = row["branch"]
38
+ message = "<font color=\"info\">#{branch} podfile 更新完毕</font>"
39
+ end
40
+ end
41
+
32
42
  content = "#{message}"
33
43
  robot_send(content)
34
44
  end
@@ -0,0 +1,14 @@
1
+ require 'gct/command/skip/modular'
2
+ require 'gct/command/skip/tag'
3
+
4
+ module Gct
5
+ class Command
6
+ class Skip < Command
7
+ self.abstract_command = true
8
+ self.summary = '初始化'
9
+ self.description = <<-DESC
10
+ 跳过modular或跳过tag
11
+ DESC
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,31 @@
1
+ require 'net/https'
2
+ require 'json'
3
+
4
+ module Gct
5
+ class Command
6
+ class Skip < Command
7
+ class Modular < Skip
8
+
9
+ self.summary = '跳过modular_headers 验证的pod'
10
+ self.description = <<-DESC
11
+ 跳过modular_headers 验证的pod
12
+ DESC
13
+
14
+ self.arguments = [
15
+ CLAide::Argument.new('POD_NAME', true),
16
+ ]
17
+
18
+ def initialize(argv)
19
+ @pod_name = argv.shift_argument
20
+ super
21
+ end
22
+
23
+ def run
24
+ db = Database::Data.new
25
+ sql = "insert into modular_headers (pod_name) values ('#{@pod_name}')"
26
+ res = db.query(sql)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,42 @@
1
+ require 'net/https'
2
+ require 'json'
3
+
4
+ module Gct
5
+ class Command
6
+ class Skip < Command
7
+ class Tag < Skip
8
+
9
+ self.summary = '跳过打tag'
10
+ self.description = <<-DESC
11
+ 跳过打tag
12
+ DESC
13
+
14
+ self.arguments = [
15
+ CLAide::Argument.new('PROJECT_VERSION', true),
16
+ CLAide::Argument.new('POD_NAME', true),
17
+ CLAide::Argument.new('Tag', false),
18
+ ]
19
+
20
+ def self.options
21
+ end
22
+
23
+ def initialize(argv)
24
+ @project_version = argv.shift_argument
25
+ @pod_name = argv.shift_argument
26
+ @tag = argv.shift_argument
27
+ super
28
+ end
29
+
30
+ def run
31
+ db = Database::Data.new
32
+ if !@tag.nil?
33
+ tag_set = ", tag_version = '#{@tag}'"
34
+ end
35
+ update_code = "is_skip_tag = 1, tag_status = 'success'#{tag_set}"
36
+ sql = "update tag set #{update_code} where pod_name = '#{@pod_name}' and project_version = '#{@project_version}'"
37
+ res = db.query(sql)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,14 @@
1
+ require 'gct/command/unskip/modular'
2
+ require 'gct/command/unskip/tag'
3
+
4
+ module Gct
5
+ class Command
6
+ class Unskip < Command
7
+ self.abstract_command = true
8
+ self.summary = '初始化'
9
+ self.description = <<-DESC
10
+ 移除跳过modular或跳过tag
11
+ DESC
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,31 @@
1
+ require 'net/https'
2
+ require 'json'
3
+
4
+ module Gct
5
+ class Command
6
+ class Unskip < Command
7
+ class Modular < Unskip
8
+
9
+ self.summary = '移除跳过modular_headers 验证'
10
+ self.description = <<-DESC
11
+ 移除跳过modular_headers 验证
12
+ DESC
13
+
14
+ self.arguments = [
15
+ CLAide::Argument.new('POD_NAME', true),
16
+ ]
17
+
18
+ def initialize(argv)
19
+ @pod_name = argv.shift_argument
20
+ super
21
+ end
22
+
23
+ def run
24
+ db = Database::Data.new
25
+ sql = "delete from modular_headers where pod_name = '#{@pod_name}'"
26
+ res = db.query(sql)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,42 @@
1
+ require 'net/https'
2
+ require 'json'
3
+
4
+ module Gct
5
+ class Command
6
+ class Unskip < Command
7
+ class Tag < Unskip
8
+
9
+ self.summary = '移除跳过打tag'
10
+ self.description = <<-DESC
11
+ 移除跳过打tag
12
+ DESC
13
+
14
+ self.arguments = [
15
+ CLAide::Argument.new('PROJECT_VERSION', true),
16
+ CLAide::Argument.new('POD_NAME', true),
17
+ CLAide::Argument.new('Tag', false),
18
+ ]
19
+
20
+ def self.options
21
+ end
22
+
23
+ def initialize(argv)
24
+ @project_version = argv.shift_argument
25
+ @pod_name = argv.shift_argument
26
+ @tag = argv.shift_argument
27
+ super
28
+ end
29
+
30
+ def run
31
+ db = Database::Data.new
32
+ if !@tag.nil?
33
+ tag_set = ", tag_version = '#{@tag}'"
34
+ end
35
+ update_code = "is_skip_tag = 0, tag_status = 'waiting'#{tag_set}"
36
+ sql = "update tag set #{update_code} where pod_name = '#{@pod_name}' and project_version = '#{@project_version}'"
37
+ res = db.query(sql)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -34,7 +34,7 @@ module Gct
34
34
  db = Database::Data.new
35
35
  # 查询优先级最高的为完成打tag的数据
36
36
  where_statement = "and is_pre = " + (@pre ? "1" : "0")
37
- sql = "select * from tag where priority = (select MAX(priority) from tag where project_version = '#{@version}' and tag_status != '#{SpecPublishStatus::SUCCESS}' #{where_statement})"
37
+ sql = "select * from tag where priority = (select MAX(priority) from tag where tag_status != '#{SpecPublishStatus::SUCCESS}' #{where_statement}) and project_version = '#{@version}'"
38
38
  result = db.query(sql)
39
39
  puts result.count
40
40
  if result.count == 0
@@ -54,7 +54,7 @@ module Gct
54
54
  if row["is_pre"].to_i == 1
55
55
  pre = "--pre"
56
56
  end
57
- system "gct update dependency #{name} status #{status}"
57
+ system "gct update dependency #{name} tag_status #{status}"
58
58
  system "gct update tag #{name} --auto-tag --update-ci #{skip_tag} #{pre}"
59
59
  end
60
60
  end
@@ -39,6 +39,13 @@ module Gct
39
39
  end
40
40
  end
41
41
 
42
+ def skip_modular_headers_pods
43
+ db = Database::Data.new
44
+ sql = "select * from modular_headers"
45
+ result = db.query(sql)
46
+ return result
47
+ end
48
+
42
49
  def update_podfile
43
50
  podspec_content = file_contents(@name, @file, @branch)
44
51
  remove_regex = /dev_pod .*/
@@ -51,12 +58,20 @@ module Gct
51
58
  puts "ERROR: 没有tag库".red
52
59
  return
53
60
  end
61
+
62
+ skip_pods = Array.new()
63
+ skip_modular_headers_pods.each do |row|
64
+ skip_pods.push(row["pod_name"])
65
+ end
66
+
54
67
  result.each do |row|
55
68
  name = row["pod_name"]
56
69
  tag = row["tag_version"]
70
+ is_skip_modular_headers = skip_pods.include?(name)
71
+ modular_headers = is_skip_modular_headers ? ", :modular_headers => false" : ""
57
72
  update_regex = /.*#{name}.*/
58
73
  update_match = update_regex.match(podspec_content).to_s
59
- update_str = " pod '#{name}', '#{tag}'"
74
+ update_str = " pod '#{name}', '#{tag}'#{modular_headers}"
60
75
  if update_match.empty?
61
76
  empty_match = "# Pods for iLife"
62
77
  podspec_content = podspec_content.gsub!(empty_match, "#{empty_match} \n#{update_str}") # Pods for iLife
@@ -72,7 +87,6 @@ module Gct
72
87
  u_db.query(u_sql)
73
88
 
74
89
  system "gct robot podfile"
75
- system "gct robot summary"
76
90
  end
77
91
 
78
92
  def edit_file(content)
@@ -37,7 +37,7 @@ module Gct
37
37
  if @name.nil?
38
38
  @name = @spec.name
39
39
  end
40
- @project_id = "#{Constant.NameSpace}#{@name}"
40
+ @project_id = "#{@group_name}/#{@name}"
41
41
  super
42
42
  end
43
43
 
@@ -80,7 +80,7 @@ module Gct
80
80
 
81
81
  def check_ci
82
82
  is_exist_ci = false
83
- res = Gitlab.tree("#{Constant.NameSpace}#{@name}")
83
+ res = Gitlab.tree("#{@group_name}/#{@name}")
84
84
  res.each do |g|
85
85
  if g["name"].eql?('.gitlab-ci.yml')
86
86
  is_exist_ci = true
@@ -94,10 +94,10 @@ module Gct
94
94
  puts "正在检查CI文件".green
95
95
  temp_local_file = TempLocalFile.new()
96
96
  path = File.expand_path("../../init", __FILE__)
97
- ci_content = temp_local_file.read_path_file(path, "gitlab-ci.rb")
97
+ ci_content = temp_local_file.read_path_file(path, "#{@group_name}-ci.rb")
98
98
  if check_ci
99
99
  # 检查 ci 文件是否有变化
100
- remote_content = file_contents("#{Constant.NameSpace}#{@name}", '.gitlab-ci.yml', @update_version_branch)
100
+ remote_content = file_contents("#{@group_name}/#{@name}", '.gitlab-ci.yml', @update_version_branch)
101
101
  remote_content.force_encoding('UTF-8')
102
102
  strip_remote_content = remote_content.gsub(/\s/,'')
103
103
  ci_content.force_encoding('UTF-8')
@@ -139,6 +139,17 @@ module Gct
139
139
  raise "在 #{Dir.pwd} 目录下找不到podspec文件".red if spec_file.nil?
140
140
  end
141
141
  @spec = Pod::Specification.from_file(full_path)
142
+ # 取出组名
143
+ source = @spec.source[:git]
144
+ left1 = "https://gi-dev.ccrgt.com/"
145
+ left2 = "http://gi-dev.ccrgt.com/"
146
+ right = "/"
147
+ source_regex = /(?<=#{left1}|#{left2}).*(?=#{right})/
148
+ @group_name = source_regex.match(source).to_s
149
+ if @group_name.include?("/")
150
+ @group_name = @group_name.sub!("/", "")
151
+ end
152
+ raise "gitlab中找不到#{@spec.name}所在的group".red if @group_name.nil? || @group_name.empty?
142
153
  spec_file
143
154
  end
144
155
 
@@ -147,7 +158,7 @@ module Gct
147
158
  podspec_content = file_contents(@project_id, @file, @update_version_branch)
148
159
  version_regex = /.*version.*/
149
160
  version_match = version_regex.match(podspec_content).to_s
150
- tag_regex = /(?<=')\w.*(?=')/
161
+ tag_regex = /(?<="|')\w.*(?="|')/
151
162
  tag = tag_regex.match(version_match)
152
163
  @now_tag = tag
153
164
  @new_tag = @tag || auto_add_tag(tag.to_s)
@@ -173,13 +184,13 @@ module Gct
173
184
 
174
185
  def mr_to_master
175
186
  puts "正在创建MR请求将#{@update_version_branch}分支合并到#{@update_to_branch}分支!".green
176
- mr = Gitlab.create_merge_request("#{Constant.NameSpace}#{@name}", "mr", { source_branch: "#{@update_version_branch}", target_branch: "#{@update_to_branch}" })
187
+ mr = Gitlab.create_merge_request("#{@group_name}/#{@name}", "mr", { source_branch: "#{@update_version_branch}", target_branch: "#{@update_to_branch}" })
177
188
  @id = mr.iid
178
189
  puts mr.merge_status
179
190
  isEmptyMR = mr.diff_refs.base_sha.eql?(mr.diff_refs.head_sha)
180
191
  close_mr if isEmptyMR
181
192
  if mr.merge_status == 'cannot_be_merged' && !isEmptyMR
182
- raise "Merge有冲突,请前往 https://gi-dev.ccrgt.com/#{Constant.NameSpace}#{@name}/merge_requests/#{@id} 解决".red
193
+ raise "Merge有冲突,请前往 https://gi-dev.ccrgt.com/#{@group_name}/#{@name}/merge_requests/#{@id} 解决".red
183
194
  end
184
195
  isEmptyMR
185
196
  end
@@ -2,5 +2,5 @@ module Gct
2
2
  # freeze 冻结对象,将对象变成一个常量
3
3
  # unless 右边的代码块成立,才会运行左边的代码块
4
4
  # defined? 是用来判断本地变量是否存在,也可用来判断是否存在方法
5
- VERSION = "0.5.3".freeze unless defined? Gct::VERSION
5
+ VERSION = "0.5.8".freeze unless defined? Gct::VERSION
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gct
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - jieming
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-11 00:00:00.000000000 Z
11
+ date: 2020-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -176,7 +176,8 @@ files:
176
176
  - lib/gct/command/create/third.rb
177
177
  - lib/gct/command/init.rb
178
178
  - lib/gct/command/init/ci.rb
179
- - lib/gct/command/init/gitlab-ci.rb
179
+ - lib/gct/command/init/ios-ci.rb
180
+ - lib/gct/command/init/ios-thirdpart-ci.rb
180
181
  - lib/gct/command/init/unit.rb
181
182
  - lib/gct/command/op.rb
182
183
  - lib/gct/command/op/gems.rb
@@ -192,10 +193,15 @@ files:
192
193
  - lib/gct/command/robot/finish.rb
193
194
  - lib/gct/command/robot/podfile.rb
194
195
  - lib/gct/command/robot/start.rb
195
- - lib/gct/command/robot/summary.rb
196
196
  - lib/gct/command/setup.rb
197
+ - lib/gct/command/skip.rb
198
+ - lib/gct/command/skip/modular.rb
199
+ - lib/gct/command/skip/tag.rb
197
200
  - lib/gct/command/spec.rb
198
201
  - lib/gct/command/spec/lint.rb
202
+ - lib/gct/command/unskip.rb
203
+ - lib/gct/command/unskip/modular.rb
204
+ - lib/gct/command/unskip/tag.rb
199
205
  - lib/gct/command/update.rb
200
206
  - lib/gct/command/update/analyze.rb
201
207
  - lib/gct/command/update/dependency.rb
@@ -1,34 +0,0 @@
1
- require 'net/https'
2
- require 'json'
3
-
4
- module Gct
5
- class Command
6
- class Robot < Command
7
- class Summary < Robot
8
-
9
- self.summary = '汇总'
10
- self.description = <<-DESC
11
- 汇总
12
- DESC
13
-
14
- self.arguments = [
15
- ]
16
-
17
- def self.options
18
- [
19
- ['--test', '测试机器人,测试webhook'],
20
- ].concat(super)
21
- end
22
-
23
- def initialize(argv)
24
- @test = argv.flag?('test', false)
25
- super
26
- end
27
-
28
- def run
29
-
30
- end
31
- end
32
- end
33
- end
34
- end