cocoapods-bb-PodAssistant 0.2.2 → 0.2.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: 97479d53d22f4894ba793463fbb3aa6cc0affdb87959c19640398527e63a1bdd
4
- data.tar.gz: e9d2bbe17b2e17c47688c02d5a6cba2e44bef6f500ee8b70fa90e5d27332ee58
3
+ metadata.gz: db18fa9c11519008cc3187769f5aa81c9a8460b7eff538c9b277f3cefdd443c6
4
+ data.tar.gz: 28d2897172a135d0a74ddeddf4e9cfc9782f3a956b06c1aa546e18240695d2bf
5
5
  SHA512:
6
- metadata.gz: ad79dceeb9b07d81250ff78dda40620203c4ad74b40e3596d6544beb4a6ffad7d6d2b61a2fad0aaacf66a317438662992e6580ec62f9fc0a49cceb2d677fb5db
7
- data.tar.gz: e0a2bf40bd535d3ab06edba17a6b49a7b5e8dbff2df1b5563d59b8cb117b06d2f9f466a88d51e6a89972e2b1db93b0de3abf444b2ce33e1f1523305fa6f6c5a7
6
+ metadata.gz: '0843133052d9eb17e2defc372439be5242c621b13fbe24c98fee6f6cfbb2b93d24abb452f7edf1df91ee8bab3ed5d7658a38ac8da0f187acc58e8f9d1765fd6a'
7
+ data.tar.gz: dc2656f219568af7fa787ab911683e64a9245d53d213ae628db6aa1e2c04a890d6c10a26ed24e885dda2345f17af1f93056df4f47675673f5e0dcd78cbd3513f
@@ -10,11 +10,11 @@ module Pod
10
10
  self.description = <<-DESC
11
11
  常用命令如下:\n
12
12
  更新所有公共组件: `pod stable push`\n
13
- 更新指定公共组件: `pod stable push 组件名称`\n
14
- 更新指定公共组件/移除组件: `pod stable push 组件名称 --remove=组件名称` #多个移除名称带`,`\n
15
- 更新指定公共组件/带依赖关系: `pod stable push 组件名称 --dependencies=组件名称` #多个依赖名称带`,`\n
16
- 更新指定公共组件/带依赖关系/移除组件: `pod stable push 组件名称 --dependencies=组件名称 --remove=组件名称` #多个依赖名称带`,`\n
17
- 参数说明:--dependencies 依赖组件 --remove 需要移除组件 --update-matrix 更新矩阵产品公共业务线
13
+ 更新指定公共组件: `pod stable push <组件名称>`\n
14
+ 更新指定公共组件/移除组件: `pod stable push <组件名称> --remove=组件名称` #多个移除名称带`,`\n
15
+ 更新指定公共组件/带依赖关系: `pod stable push <组件名称> --dependencies=组件名称` #多个依赖名称带`,`\n
16
+ 更新指定公共组件/带依赖关系/移除组件: `pod stable push <组件名称> --dependencies=组件名称 --remove=组件名称` #多个依赖名称带`,`\n
17
+ 参数说明:--dependencies 依赖组件 --remove 需要移除组件 --update-matrix 更新矩阵产品公共业务线 --update-common 更新公共组件
18
18
  DESC
19
19
 
20
20
  self.arguments = [
@@ -25,7 +25,8 @@ module Pod
25
25
  [
26
26
  ['--dependencies', '依赖组件名称,多个使用`,`隔开'],
27
27
  ['--remove', '移除公共组件名称,多个使用`,`隔开'],
28
- ['--update-matrix', '更新矩阵产品公共业务线'],
28
+ ['--update-matrix', '更新[矩阵]产品公共业务线,默认true'],
29
+ ['--update-common', '更新公共组件,默认false'],
29
30
  ].concat(super)
30
31
  end
31
32
 
@@ -33,13 +34,14 @@ module Pod
33
34
  @pods = argv.arguments!
34
35
  @dependencies = argv.option('dependencies', nil)&.split(',')
35
36
  @remove = argv.option('remove', nil)&.split(',')
36
- @is_matrix = argv.flag?('update-matrix', false)
37
+ @is_pub = argv.flag?('update-common', false)
38
+ @is_matrix = !@is_pub # argv.flag?('update-matrix', true)
37
39
  super
38
40
  end
39
41
 
40
42
  def run
41
43
  puts "[PodAssistant] 开始执行 $ pod stable push".yellow
42
- source_manager = BB::SourceManager.new(false)
44
+ source_manager = BB::SourceManager.new(false, @is_matrix)
43
45
  cachePath = source_manager.cache_path
44
46
  puts "stable cache git=>#{cachePath}"
45
47
  Dir.chdir(File.join(cachePath)) {
@@ -7,8 +7,8 @@ require 'cocoapods-bb-PodAssistant/helpers/stable_env_helper'
7
7
  # 数据源管理
8
8
  module BB
9
9
  class SourceManager
10
- def initialize(verify_stable_env=true)
11
- @env = BB::StableEnv.new(verify_stable_env)
10
+ def initialize(verify_stable_env=true, isMatrix=false)
11
+ @env = BB::StableEnv.new(verify_stable_env, isMatrix)
12
12
  @businessSpecName = @env.business_stable
13
13
  @stableMgr = BB::StableManager.new(@env, verify_stable_env)
14
14
  end
@@ -182,6 +182,12 @@ module BB
182
182
  stable_specs[YAML_CONFIG_REMOVE_KEY] = removedata
183
183
  stable_specs[YAML_CONFIG_DEPENDENCIES_KEY] = dependenciesdata
184
184
  update_stable_lock(stable_yaml, stable_specs)
185
+ puts "removedata:#{removedata} len:#{removedata.length}".red
186
+ puts "dependenciesdata:#{dependenciesdata} count:#{dependenciesdata.length}".red
187
+ # 提交依赖/移除数据
188
+ if removedata.length > 0 || dependenciesdata.length > 0
189
+ @stableMgr.commit_data(stable_yaml, "dependencies:#{dependenciesdata} remove:#{removedata}")
190
+ end
185
191
  end
186
192
  end
187
193
  def update_common_dependencies_and_remove_data(dependencies_pods, remove_pods)
@@ -1,3 +1,3 @@
1
1
  module CocoapodsBbPodassistant
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -169,6 +169,23 @@ module BB
169
169
  }
170
170
  return podfile_hash
171
171
  end
172
+ # stable本地数据去除指向本地
173
+ def convert_local_stable_data(local_stable_data)
174
+ stable_hash = {}
175
+ local_stable_data.each do |name,pod|
176
+ if pod.is_a? Hash
177
+ path = pod[:path]
178
+ if path
179
+ puts "filter local path data:#{name}".red
180
+ else
181
+ stable_hash[name] = pod
182
+ end
183
+ else
184
+ stable_hash[name] = pod
185
+ end
186
+ end
187
+ return stable_hash
188
+ end
172
189
  # 合并组建数据
173
190
  # 策略:本地stable作为基础数据,遍历podfile组件进行替换,变化以本地为主,标签以stable为主
174
191
  def merge_module_data(podfile_specs, local_stable_data)
@@ -177,7 +194,8 @@ module BB
177
194
  # puts "podfile_hash: #{podfile_hash}".red
178
195
  # puts "local_stable_data: #{local_stable_data}".red
179
196
  need_update_pod_data={}
180
- stable_hash = local_stable_data
197
+ # fix 指向本地组件切换到远端组件,本地yml配置不会更新问题
198
+ stable_hash = convert_local_stable_data(local_stable_data) # stable_hash = local_stable_data
181
199
  podfile_hash.each do |podName,podfile_pod|
182
200
  if podfile_pod.count == 0
183
201
  puts "❌ podfile组件[#{podName}]配置异常,请确认:method => REMOTE_VERSION是否配置\n组件信息如下:\n#{podName} => #{podfile_pod}".red
@@ -238,10 +256,11 @@ module BB
238
256
  if pod.is_a? (Hash)
239
257
  stable_branch = pod[:branch]
240
258
  stable_git = pod[:git]
259
+ stable_path = pod[:path]
241
260
  if stable_git.nil?
242
261
  stable_git = pod[:git_format]
243
262
  end
244
- if (stable_branch && !stable_branch.empty?) || (stable_git && !stable_git.empty?)
263
+ if (stable_branch && !stable_branch.empty?) || (stable_git && !stable_git.empty?) || (stable_path && !stable_path.empty?)
245
264
  puts "[PodAssistant] '#{podName}', '#{podfile_pod}' 以podfile配置为主[分支=>标签]."
246
265
  newPod = podfile_pod
247
266
  is_podfile_data = true
@@ -249,7 +268,7 @@ module BB
249
268
  newPod = pod
250
269
  end
251
270
  elsif pod.is_a? (String)
252
- if pod.include?(':branch') || pod.include?(':git') || pod.include?(':git_format')
271
+ if pod.include?(':branch') || pod.include?(':git') || pod.include?(':git_format') || pod.include?(':path')
253
272
  puts "[PodAssistant] '#{podName}', '#{podfile_pod}' 以podfile配置为主[分支=>标签]."
254
273
  newPod = podfile_pod
255
274
  is_podfile_data = true
@@ -2,8 +2,9 @@ require 'cocoapods-bb-PodAssistant/config/stable_source'
2
2
 
3
3
  module BB
4
4
  class StableEnv
5
- def initialize(verify_stable_env=true)
5
+ def initialize(verify_stable_env=true, isMatrix=false)
6
6
  @cache = BB::Cache.new(nil, verify_stable_env)
7
+ @isMatrix = isMatrix
7
8
  configGitPath(@cache.cachePath)
8
9
  if verify_stable_env
9
10
  # 自动加载stable环境
@@ -101,8 +102,14 @@ module BB
101
102
  return @stable_tag
102
103
  end
103
104
  def business_stable
105
+ if @businessSpec.nil? && @isMatrix
106
+ return default_matrix_business_stable
107
+ end
104
108
  return @businessSpec
105
109
  end
110
+ def default_matrix_business_stable
111
+ return "global_stable_specs"
112
+ end
106
113
  # 验证stable环境是否存在
107
114
  def verify_stable_env_exists
108
115
  return @stable_source.empty? ? false : true
@@ -25,8 +25,14 @@ module BB
25
25
  puts "没有配置业务线公共源,请确认!!!".yellow
26
26
  end
27
27
  end
28
- # podfile 更新配置文件使用(项目)
29
- def update_product_stable_lock(pod_targets)
28
+ # 提交数据
29
+ def commit_data(yml_path, commit_msg="")
30
+ puts "commit_stable_lock commit_msg:#{commit_msg}".red
31
+ commit_stable_lock_data(yml_path, commit_msg)
32
+ end
33
+
34
+ # podfile 更新配置文件使用(项目)
35
+ def update_product_stable_lock(pod_targets)
30
36
  update_local_stable_lock(local_stable_yaml, pod_targets)
31
37
  end
32
38
 
@@ -61,9 +67,12 @@ module BB
61
67
  stableSpec = BB::StableSpecs.new()
62
68
  stableSpec.update_stable_lock(yml_path, pod_targets)
63
69
  # step.2 提交修改后代码
70
+ commit_stable_lock_data(yml_path)
71
+ end
72
+ private def commit_stable_lock_data(yml_path, commit_msg="")
64
73
  yml_name = File.basename(yml_path)
65
74
  # `cd #{cachePath}; git pull --all; git add #{yml_name}; git commit -m "[update] 更新stable配置文件#{yml_name}"; git push; git pull --all;`
66
- `cd #{cachePath}; git pull --all; git add * ; git commit -m "[update] 更新stable配置文件#{yml_name}"; git push; git pull --all;`
75
+ `cd #{cachePath}; git pull --all; git add * ; git commit -m "[update] 更新stable配置文件#{yml_name} #{commit_msg}"; git push; git pull --all;`
67
76
  end
68
77
  private def update_local_stable_lock(yml_path, pod_targets)
69
78
  # step.1 更新yaml配置文件
@@ -72,12 +72,12 @@ module BB
72
72
  $source_manager.generate_localStable
73
73
  $podEndTime = Time.new
74
74
  puts "[PodAssistant] plugin hook post_install".yellow
75
- puts "[PodAssistant] pod库下载耗时 GitCloneAllSize: #{$gitAllSize} M GitCloneAllTime: #{$cloneAllTime} S CDNDownloadAllSize: #{$pluginCurrentZipAllSize} M CDNAllTime: #{$downloadAllTime} S CDNDownloadAllTime: #{$cdnDownloadAllTime} S CDNUnzipAllTime: #{$cdnUnZipAllTime} S"
76
- # 如果是--verbose模式且$gitAllSize与$cloneAllTime(不为0表示有下载pod)
77
- if $pluginIsVerbose == true && $gitAllSize != 0 && $cloneAllTime != 0 && $pluginCurrentZipAllSize != 0 && $downloadAllTime != 0
78
- File.rename "#{Dir.home}/.AllPodsTimeAndSize.csv", "#{installer.sandbox_root}/AllPodsTimeAndSize.csv"
79
- puts "具体的统计数据请在#{installer.sandbox_root}/AllPodsTimeAndSize.csv中查看"
80
- end
75
+ # puts "[PodAssistant] pod库下载耗时 GitCloneAllSize: #{$gitAllSize} M GitCloneAllTime: #{$cloneAllTime} S CDNDownloadAllSize: #{$pluginCurrentZipAllSize} M CDNAllTime: #{$downloadAllTime} S CDNDownloadAllTime: #{$cdnDownloadAllTime} S CDNUnzipAllTime: #{$cdnUnZipAllTime} S"
76
+ # # 如果是--verbose模式且$gitAllSize与$cloneAllTime(不为0表示有下载pod)
77
+ # if $pluginIsVerbose == true && $gitAllSize != 0 && $cloneAllTime != 0 && $pluginCurrentZipAllSize != 0 && $downloadAllTime != 0
78
+ # File.rename "#{Dir.home}/.AllPodsTimeAndSize.csv", "#{installer.sandbox_root}/AllPodsTimeAndSize.csv"
79
+ # puts "具体的统计数据请在#{installer.sandbox_root}/AllPodsTimeAndSize.csv中查看"
80
+ # end
81
81
  # 获取时间差
82
82
  time = $podEndTime - $podStartTime
83
83
  puts "[PodAssistant] pod操作总耗时【#{time.to_s.send(:red)}秒】start:#{$podStartTime} end:#{$podEndTime}".green
@@ -87,202 +87,202 @@ module BB
87
87
  end
88
88
  end
89
89
 
90
- class Pod::Downloader::Cache
91
- # 使用方法别名hook copy_and_clean方法
92
- alias :origin_copy_and_clean :copy_and_clean
93
- def copy_and_clean(source, destination, spec)
94
- # 执行之前的拷贝到cache并且清除git clone临时目录的方法
95
- origin_copy_and_clean(source, destination, spec)
96
- # 如果是--verbose,则输出详细信息,生成csv
97
- if $pluginIsVerbose == true
98
- verboseCopy_and_clean(source, destination, spec)
99
- end
100
- end
90
+ # class Pod::Downloader::Cache
91
+ # # 使用方法别名hook copy_and_clean方法
92
+ # alias :origin_copy_and_clean :copy_and_clean
93
+ # def copy_and_clean(source, destination, spec)
94
+ # # 执行之前的拷贝到cache并且清除git clone临时目录的方法
95
+ # origin_copy_and_clean(source, destination, spec)
96
+ # # 如果是--verbose,则输出详细信息,生成csv
97
+ # if $pluginIsVerbose == true
98
+ # verboseCopy_and_clean(source, destination, spec)
99
+ # end
100
+ # end
101
101
 
102
- # --verbose输出详细信息,生成在home路径下.AllPodsTimeAndSize.csv的隐藏文件
103
- def verboseCopy_and_clean(source, destination, spec)
104
- begin
105
- # 计算拷贝到的目录下所有文件总大小,单位为M
106
- dirSum = Dir.size(destination.to_s)/1000.0/1000.0
107
- # 标红输出cache文件大小,单位为M
108
- puts "[PodAssistant] cachesize #{spec.name}: "+"#{dirSum}"+" M"
109
- # 如果相等则为CDN的下载方式
110
- if $gitSize == 0
111
- # CDN的下载方式
112
- CSV.open("#{Dir.home}/.AllPodsTimeAndSize.csv", "a+") do |csv|
113
- csv << [spec.name, $downloadTime, $pluginCurrentZipSize, dirSum, "CDN不统计此项", "CDN", $cdnDownloadTime, $cdnUnZipTime]
114
- end
115
- else
116
- # git的下载方式
117
- # 计算git clone大小和cache文件大小的差值,如果差值过大,则有优化空间
118
- diffSize = $gitSize - dirSum
119
- # 标红输出差值
120
- puts "[PodAssistant] diffSize = #{diffSize}"+"M "
121
- CSV.open("#{Dir.home}/.AllPodsTimeAndSize.csv", "a+") do |csv|
122
- csv << [spec.name, $cloneTime, $gitSize, dirSum, diffSize, "Git", "Git不统计此项", "Git不统计此项"]
123
- end
124
- end
102
+ # # --verbose输出详细信息,生成在home路径下.AllPodsTimeAndSize.csv的隐藏文件
103
+ # def verboseCopy_and_clean(source, destination, spec)
104
+ # begin
105
+ # # 计算拷贝到的目录下所有文件总大小,单位为M
106
+ # dirSum = Dir.size(destination.to_s)/1000.0/1000.0
107
+ # # 标红输出cache文件大小,单位为M
108
+ # puts "[PodAssistant] cachesize #{spec.name}: "+"#{dirSum}"+" M"
109
+ # # 如果相等则为CDN的下载方式
110
+ # if $gitSize == 0
111
+ # # CDN的下载方式
112
+ # CSV.open("#{Dir.home}/.AllPodsTimeAndSize.csv", "a+") do |csv|
113
+ # csv << [spec.name, $downloadTime, $pluginCurrentZipSize, dirSum, "CDN不统计此项", "CDN", $cdnDownloadTime, $cdnUnZipTime]
114
+ # end
115
+ # else
116
+ # # git的下载方式
117
+ # # 计算git clone大小和cache文件大小的差值,如果差值过大,则有优化空间
118
+ # diffSize = $gitSize - dirSum
119
+ # # 标红输出差值
120
+ # puts "[PodAssistant] diffSize = #{diffSize}"+"M "
121
+ # CSV.open("#{Dir.home}/.AllPodsTimeAndSize.csv", "a+") do |csv|
122
+ # csv << [spec.name, $cloneTime, $gitSize, dirSum, diffSize, "Git", "Git不统计此项", "Git不统计此项"]
123
+ # end
124
+ # end
125
125
 
126
- # 换行
127
- puts
126
+ # # 换行
127
+ # puts
128
128
 
129
- rescue => exception
130
- # 输出拷贝清除方法异常
131
- puts "[PodAssistant] verboseCopy_and_clean error(已捕获): #{exception}".red
132
- end
133
- $gitSize = 0
134
- end
135
- end
129
+ # rescue => exception
130
+ # # 输出拷贝清除方法异常
131
+ # puts "[PodAssistant] verboseCopy_and_clean error(已捕获): #{exception}".red
132
+ # end
133
+ # $gitSize = 0
134
+ # end
135
+ # end
136
136
 
137
137
 
138
- class Pod::Downloader::Cache
138
+ # class Pod::Downloader::Cache
139
139
 
140
- alias :origin_download :download
140
+ # alias :origin_download :download
141
141
 
142
- def download(request, target)
143
- # 获取downloader下载的文件路径
144
- source = target.to_s
145
- # 赋值当前正在下载的文件路径给全局变量,为了解压zip的时候做判断
146
- $pluginCurrentTarget = source
147
- # 赋值当前正在下载的pod名称给全局变量,为了解压zip的时候做输出
148
- $pluginCurrentPodName = request.name.to_s
149
- # 获取clone执行前时间点
150
- time1 = Time.new
151
- # 执行之前的download_source方法,接收该方法的返回值
152
- result, podspecs = origin_download(request, target)
142
+ # def download(request, target)
143
+ # # 获取downloader下载的文件路径
144
+ # source = target.to_s
145
+ # # 赋值当前正在下载的文件路径给全局变量,为了解压zip的时候做判断
146
+ # $pluginCurrentTarget = source
147
+ # # 赋值当前正在下载的pod名称给全局变量,为了解压zip的时候做输出
148
+ # $pluginCurrentPodName = request.name.to_s
149
+ # # 获取clone执行前时间点
150
+ # time1 = Time.new
151
+ # # 执行之前的download_source方法,接收该方法的返回值
152
+ # result, podspecs = origin_download(request, target)
153
153
 
154
- # 如果不是--verbose,只输出总耗时,总下载大小
155
- # 捕获一下异常,不会因为plugin的原因导致pod失败
156
- begin
157
- # 获取clone执行后时间点
158
- time2 = Time.new
159
- # 获取时间差
160
- time = time2 - time1
161
- if request.params["git".to_sym]
162
- # 说明是git方式
163
- # 赋值一个给全局变量,之后时间统计要用到
164
- $cloneTime = time
165
- # 赋值一个给全局变量,之后时间统计要用到
166
- $cloneAllTime = $cloneAllTime + time
167
- # 计算downloader下载的文件大小,单位为M
168
- dirSum = Dir.size(source)/1000.0/1000.0
169
- # 赋值给一个全局变量,之后输出会用到
170
- $gitAllSize = $gitAllSize + dirSum
171
- else
172
- # 说明是CDN方式
173
- # 赋值一个给全局变量,之后时间统计要用到
174
- $downloadTime = time
175
- # 赋值一个给全局变量,之后时间统计要用到
176
- $downloadAllTime = $downloadAllTime + time
177
- # 赋值给一个全局变量,之后输出会用到
178
- $cdnDownloadAllTime = $cdnDownloadAllTime + $cdnDownloadTime
179
- # 赋值给一个全局变量,之后输出会用到
180
- $cdnUnZipAllTime = $cdnUnZipAllTime + $cdnUnZipTime
181
- # 赋值给一个全局变量,之后输出会用到
182
- $pluginCurrentZipAllSize = $pluginCurrentZipAllSize + $pluginCurrentZipSize
183
- end
154
+ # # 如果不是--verbose,只输出总耗时,总下载大小
155
+ # # 捕获一下异常,不会因为plugin的原因导致pod失败
156
+ # begin
157
+ # # 获取clone执行后时间点
158
+ # time2 = Time.new
159
+ # # 获取时间差
160
+ # time = time2 - time1
161
+ # if request.params["git".to_sym]
162
+ # # 说明是git方式
163
+ # # 赋值一个给全局变量,之后时间统计要用到
164
+ # $cloneTime = time
165
+ # # 赋值一个给全局变量,之后时间统计要用到
166
+ # $cloneAllTime = $cloneAllTime + time
167
+ # # 计算downloader下载的文件大小,单位为M
168
+ # dirSum = Dir.size(source)/1000.0/1000.0
169
+ # # 赋值给一个全局变量,之后输出会用到
170
+ # $gitAllSize = $gitAllSize + dirSum
171
+ # else
172
+ # # 说明是CDN方式
173
+ # # 赋值一个给全局变量,之后时间统计要用到
174
+ # $downloadTime = time
175
+ # # 赋值一个给全局变量,之后时间统计要用到
176
+ # $downloadAllTime = $downloadAllTime + time
177
+ # # 赋值给一个全局变量,之后输出会用到
178
+ # $cdnDownloadAllTime = $cdnDownloadAllTime + $cdnDownloadTime
179
+ # # 赋值给一个全局变量,之后输出会用到
180
+ # $cdnUnZipAllTime = $cdnUnZipAllTime + $cdnUnZipTime
181
+ # # 赋值给一个全局变量,之后输出会用到
182
+ # $pluginCurrentZipAllSize = $pluginCurrentZipAllSize + $pluginCurrentZipSize
183
+ # end
184
184
 
185
- # 如果是--verbose,则输出详细信息,生成csv
186
- if $pluginIsVerbose == true
187
- verboseDownload(request, time, dirSum)
188
- end
189
- # 返回值
190
- [result, podspecs]
191
- rescue => exception
192
- # 标红输出git clone hook异常
193
- puts "[PodAssistant] download error(已捕获): #{exception}"
194
- end
195
- end
185
+ # # 如果是--verbose,则输出详细信息,生成csv
186
+ # if $pluginIsVerbose == true
187
+ # verboseDownload(request, time, dirSum)
188
+ # end
189
+ # # 返回值
190
+ # [result, podspecs]
191
+ # rescue => exception
192
+ # # 标红输出git clone hook异常
193
+ # puts "[PodAssistant] download error(已捕获): #{exception}"
194
+ # end
195
+ # end
196
196
 
197
- def verboseDownload(request, time, dirSum)
198
- if request.params["git".to_sym]
199
- # 说明是git方式
200
- # 标红输出git clone耗时
201
- puts "[PodAssistant] #{request.name.to_s} clone time: #{time}"+" S"
202
- # 赋值给一个全局变量,之后输出会用到
203
- $gitSize = dirSum
204
- # 标红输出git clone下载文件大小
205
- puts "[PodAssistant] #{request.name.to_s} clone allsize: "+"#{dirSum}"+" M"
206
- else
207
- # 说明是CDN方式
208
- # 标红输出CDN 下载耗时
209
- puts "[PodAssistant] #{request.name.to_s} CDN download time: #{$cdnDownloadTime}"+" S"
210
- # 标红输出CDN 解压耗时
211
- puts "[PodAssistant] #{request.name.to_s} CDN unzip time: #{$cdnUnZipTime}"+" S"
212
- # 标红输出CDN 总耗时
213
- puts "[PodAssistant] #{request.name.to_s} CDN All time: #{$downloadTime}"+" S"
214
- # 标红输出CDN clone下载文件大小
215
- puts "[PodAssistant] #{request.name.to_s} CDN zipSize: "+"#{$pluginCurrentZipSize}"+" M"
216
- end
197
+ # def verboseDownload(request, time, dirSum)
198
+ # if request.params["git".to_sym]
199
+ # # 说明是git方式
200
+ # # 标红输出git clone耗时
201
+ # puts "[PodAssistant] #{request.name.to_s} clone time: #{time}"+" S"
202
+ # # 赋值给一个全局变量,之后输出会用到
203
+ # $gitSize = dirSum
204
+ # # 标红输出git clone下载文件大小
205
+ # puts "[PodAssistant] #{request.name.to_s} clone allsize: "+"#{dirSum}"+" M"
206
+ # else
207
+ # # 说明是CDN方式
208
+ # # 标红输出CDN 下载耗时
209
+ # puts "[PodAssistant] #{request.name.to_s} CDN download time: #{$cdnDownloadTime}"+" S"
210
+ # # 标红输出CDN 解压耗时
211
+ # puts "[PodAssistant] #{request.name.to_s} CDN unzip time: #{$cdnUnZipTime}"+" S"
212
+ # # 标红输出CDN 总耗时
213
+ # puts "[PodAssistant] #{request.name.to_s} CDN All time: #{$downloadTime}"+" S"
214
+ # # 标红输出CDN clone下载文件大小
215
+ # puts "[PodAssistant] #{request.name.to_s} CDN zipSize: "+"#{$pluginCurrentZipSize}"+" M"
216
+ # end
217
217
 
218
- end
218
+ # end
219
219
 
220
- end
220
+ # end
221
221
 
222
- class Pod::Downloader::Http
223
- # 使用方法别名hook解压方法,获取解压之前的文件大小
224
- alias :origin_download_file :download_file
225
- alias :origin_extract_with_type :extract_with_type
222
+ # class Pod::Downloader::Http
223
+ # # 使用方法别名hook解压方法,获取解压之前的文件大小
224
+ # alias :origin_download_file :download_file
225
+ # alias :origin_extract_with_type :extract_with_type
226
226
 
227
- def download_file(_full_filename)
228
- # 捕获一下异常,不会因为plugin的原因导致pod失败
229
- begin
230
- if _full_filename.to_s.include?($pluginCurrentTarget)
231
- # 说明是之前被赋值的开始下载了
227
+ # def download_file(_full_filename)
228
+ # # 捕获一下异常,不会因为plugin的原因导致pod失败
229
+ # begin
230
+ # if _full_filename.to_s.include?($pluginCurrentTarget)
231
+ # # 说明是之前被赋值的开始下载了
232
232
 
233
- # 获取CDN下载执行前时间点
234
- time1 = Time.new
235
- # 执行原来的CDN下载方法
236
- origin_download_file(_full_filename)
237
- # 获取CDN下载执行后时间点
238
- time2 = Time.new
239
- # 赋值CDN下载耗时给全局变量,用于之后输出以及写在csv中
240
- $cdnDownloadTime = time2 - time1
241
- else
242
- # 说明不是之前被赋值的开始下载了,输出一下,然后清空
243
- puts "[PodAssistant] unzip warning: #{$pluginCurrentTarget} target error"
244
- puts "[PodAssistant] unzip warning: #{$pluginCurrentPodName} name error"
245
- $pluginCurrentTarget = ""
246
- $pluginCurrentPodName = ""
247
- end
248
- rescue => exception
249
- # 输出CDM下载方法异常
250
- puts "[PodAssistant] download_file error(已捕获): #{exception}"
251
- end
233
+ # # 获取CDN下载执行前时间点
234
+ # time1 = Time.new
235
+ # # 执行原来的CDN下载方法
236
+ # origin_download_file(_full_filename)
237
+ # # 获取CDN下载执行后时间点
238
+ # time2 = Time.new
239
+ # # 赋值CDN下载耗时给全局变量,用于之后输出以及写在csv中
240
+ # $cdnDownloadTime = time2 - time1
241
+ # else
242
+ # # 说明不是之前被赋值的开始下载了,输出一下,然后清空
243
+ # puts "[PodAssistant] unzip warning: #{$pluginCurrentTarget} target error"
244
+ # puts "[PodAssistant] unzip warning: #{$pluginCurrentPodName} name error"
245
+ # $pluginCurrentTarget = ""
246
+ # $pluginCurrentPodName = ""
247
+ # end
248
+ # rescue => exception
249
+ # # 输出CDM下载方法异常
250
+ # puts "[PodAssistant] download_file error(已捕获): #{exception}"
251
+ # end
252
252
 
253
- end
253
+ # end
254
254
 
255
- def extract_with_type(full_filename, type = :zip)
256
- # 捕获一下异常,不会因为plugin的原因导致pod失败
257
- begin
258
- if full_filename.to_s.include?($pluginCurrentTarget)
259
- # 说明是之前被赋值的下载完成了,开始进行解压了
255
+ # def extract_with_type(full_filename, type = :zip)
256
+ # # 捕获一下异常,不会因为plugin的原因导致pod失败
257
+ # begin
258
+ # if full_filename.to_s.include?($pluginCurrentTarget)
259
+ # # 说明是之前被赋值的下载完成了,开始进行解压了
260
260
 
261
- # 计算拷贝到的目录下所有文件总大小,单位为M
262
- dirSum = File.size(full_filename.to_s)/1000.0/1000.0
263
- # 赋值给当前正在解压的zip大小,之后输出到csv要用
264
- $pluginCurrentZipSize = dirSum
265
- else
266
- # 说明不是之前被赋值的下载完成了,输出一下,然后清空
267
- puts "[PodAssistant] unzip warning: #{$pluginCurrentTarget} target error"
268
- puts "[PodAssistant] unzip warning: #{$pluginCurrentPodName} name error"
269
- $pluginCurrentTarget = ""
270
- $pluginCurrentPodName = ""
271
- end
272
- rescue => exception
273
- # 输出CDN解压方法异常
274
- puts "[PodAssistant] extract_with_type error(已捕获): #{exception}"
275
- end
276
- # 获取CDN解压前时间点
277
- time1 = Time.new
278
- # 执行之前的解压方法
279
- origin_extract_with_type(full_filename, type)
280
- # 获取CDN解压后时间点
281
- time2 = Time.new
282
- # 赋值CDN解压耗时给全局变量,用于之后输出以及写在csv中
283
- $cdnUnZipTime = time2 - time1
284
- end
285
- end
261
+ # # 计算拷贝到的目录下所有文件总大小,单位为M
262
+ # dirSum = File.size(full_filename.to_s)/1000.0/1000.0
263
+ # # 赋值给当前正在解压的zip大小,之后输出到csv要用
264
+ # $pluginCurrentZipSize = dirSum
265
+ # else
266
+ # # 说明不是之前被赋值的下载完成了,输出一下,然后清空
267
+ # puts "[PodAssistant] unzip warning: #{$pluginCurrentTarget} target error"
268
+ # puts "[PodAssistant] unzip warning: #{$pluginCurrentPodName} name error"
269
+ # $pluginCurrentTarget = ""
270
+ # $pluginCurrentPodName = ""
271
+ # end
272
+ # rescue => exception
273
+ # # 输出CDN解压方法异常
274
+ # puts "[PodAssistant] extract_with_type error(已捕获): #{exception}"
275
+ # end
276
+ # # 获取CDN解压前时间点
277
+ # time1 = Time.new
278
+ # # 执行之前的解压方法
279
+ # origin_extract_with_type(full_filename, type)
280
+ # # 获取CDN解压后时间点
281
+ # time2 = Time.new
282
+ # # 赋值CDN解压耗时给全局变量,用于之后输出以及写在csv中
283
+ # $cdnUnZipTime = time2 - time1
284
+ # end
285
+ # end
286
286
 
287
287
  # class Pod::Downloader::Git
288
288
  # # 使用方法别名hook clone方法
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-bb-PodAssistant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - humin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-25 00:00:00.000000000 Z
11
+ date: 2023-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods-core
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  - !ruby/object:Gem::Version
143
143
  version: '0'
144
144
  requirements: []
145
- rubygems_version: 3.4.20
145
+ rubygems_version: 3.4.22
146
146
  signing_key:
147
147
  specification_version: 4
148
148
  summary: A longer description of cocoapods-bb-PodAssistant.