cocoapods-vipers 0.0.2 → 0.0.4
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/cocoapods-vipers/gem_version.rb +1 -1
- data/lib/cocoapods-vipers/vipers-sync.rb +65 -4
- data/lib/cocoapods_plugin.rb +3 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 955f762815a084b35b851037fc3b3a82be44f13ce49cef0f496cf70f32bde70d
|
4
|
+
data.tar.gz: 208b7100f16ac29a91797b282d7344c89931e60acd6202f0a17184b37818a7e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64e2b36364468a508cd87c9f7c9b711c66aa661acd7f9f6b509d92aeaa9a8d0f3d08a348621f518393d077143d3927a5020a9b682af2697c8cae22f87e558d3c
|
7
|
+
data.tar.gz: 904ca06ed03e28b425574535cccc87660fe05526505c8bf07996e4e75cb46adbe088ccdc2ac02b2dd152f9ea083426a81f30b1df2010ff6fc714bdf60b6b1c74
|
@@ -47,7 +47,7 @@ def handleClsAndMethod(viper, vipers_params_class, vipers_ext_func)
|
|
47
47
|
#{assign_lines_text}
|
48
48
|
}
|
49
49
|
required public init() {
|
50
|
-
|
50
|
+
print("default init")
|
51
51
|
}
|
52
52
|
}
|
53
53
|
RUBY
|
@@ -128,7 +128,7 @@ end
|
|
128
128
|
|
129
129
|
module CocoapodsVipers
|
130
130
|
class Vipers
|
131
|
-
def sync(paths)
|
131
|
+
def sync(paths, pods)
|
132
132
|
Pod::UI.puts "Synchronizing Vipers yml"
|
133
133
|
|
134
134
|
if !File.exists?("vipers_config.yml")
|
@@ -143,6 +143,7 @@ module CocoapodsVipers
|
|
143
143
|
extension_template_path = json['extension_template_path']
|
144
144
|
prorocols_template_path = json['prorocols_template_path']
|
145
145
|
protocols_path = json['hycan_service_injects_protocols_path']
|
146
|
+
pod_frameworks_all_path = json['pod_frameworks_all_path']
|
146
147
|
|
147
148
|
flag = check_duplicate_viper(paths, main_project_vipers_json_path, vipers_json_path)
|
148
149
|
|
@@ -150,6 +151,22 @@ module CocoapodsVipers
|
|
150
151
|
raise "viper脚本执行失败,出现重复定义的viper: #{flag['viper']}"
|
151
152
|
end
|
152
153
|
|
154
|
+
check_unused_pods = false
|
155
|
+
|
156
|
+
if json['check_unused_pods'] == 'true'
|
157
|
+
check_unused_pods = true
|
158
|
+
end
|
159
|
+
|
160
|
+
framework_array = pods
|
161
|
+
|
162
|
+
if pod_frameworks_all_path
|
163
|
+
if File.exists?(pod_frameworks_all_path)
|
164
|
+
fileData = File.read(pod_frameworks_all_path)
|
165
|
+
all_framework = JSON.parse(fileData)
|
166
|
+
framework_array = all_framework
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
153
170
|
should_check = false
|
154
171
|
if json['check_json'] == 'true'
|
155
172
|
should_check = true
|
@@ -218,12 +235,51 @@ module CocoapodsVipers
|
|
218
235
|
vipers_case.push("\n")
|
219
236
|
vipers_create_binder.push(" }\n")
|
220
237
|
|
238
|
+
# 检测模块内未使用的Pods-framework
|
239
|
+
if check_unused_pods
|
240
|
+
# Pod::UI.puts "检测模块内未使用的Pods-framework"
|
241
|
+
dir_path = spec_path + '/' + data_hash["moduleName"]
|
242
|
+
if spec['spec_name'] == main_project_vipers_json_path
|
243
|
+
dir_path = '.' + '/HycanCommunity/Swift'
|
244
|
+
end
|
245
|
+
|
246
|
+
traverse_dir(dir_path) { |f|
|
247
|
+
if f.to_s() =~ /\.swift$/ || f.to_s() =~ /\.h$/ || f.to_s() =~ /\.m$/
|
248
|
+
lineNumber = 0
|
249
|
+
IO.readlines(f).each { |line|
|
250
|
+
framework_array.each do |framew|
|
251
|
+
if line =~ /^[\/\/]/
|
252
|
+
else
|
253
|
+
if line.index("#import <#{framew}")
|
254
|
+
# Pod::UI.puts "in file: #{f} - line in #{data_hash["moduleName"]}"
|
255
|
+
# Pod::UI.puts line
|
256
|
+
framework_array.delete(framew)
|
257
|
+
break
|
258
|
+
end
|
259
|
+
|
260
|
+
if line.index("import #{framew}")
|
261
|
+
# Pod::UI.puts "in file: #{f} - line in #{data_hash["moduleName"]}"
|
262
|
+
# Pod::UI.puts line
|
263
|
+
framework_array.delete(framew)
|
264
|
+
break
|
265
|
+
end
|
266
|
+
end
|
267
|
+
end
|
268
|
+
if lineNumber > 200
|
269
|
+
break
|
270
|
+
end
|
271
|
+
lineNumber += 1
|
272
|
+
}
|
273
|
+
end
|
274
|
+
}
|
275
|
+
end
|
276
|
+
|
221
277
|
# 检测模块内是否有未定义的 class
|
222
278
|
if should_check
|
223
|
-
#
|
279
|
+
# Pod::UI.puts "检测模块内是否有未定义的 class"
|
224
280
|
dir_path = spec_path + '/' + data_hash["moduleName"]
|
225
281
|
if spec['spec_name'] == main_project_vipers_json_path
|
226
|
-
|
282
|
+
dir_path = '.' + '/HycanCommunity/Swift'
|
227
283
|
end
|
228
284
|
traverse_dir(dir_path) { |f|
|
229
285
|
if f.to_s() =~ /\.swift$/
|
@@ -250,6 +306,11 @@ module CocoapodsVipers
|
|
250
306
|
end
|
251
307
|
end
|
252
308
|
|
309
|
+
if check_unused_pods
|
310
|
+
Pod::UI.puts "以下 Pod 的 Framework 在主工程+Pod工程都没找到定义"
|
311
|
+
Pod::UI.puts framework_array.to_s()
|
312
|
+
end
|
313
|
+
|
253
314
|
injection_vipers_case = vipers_case.join("\n")
|
254
315
|
injection_vipers_params_class = vipers_params_class.join("\n")
|
255
316
|
injection_vipers_ext_func = vipers_ext_func.join("\n")
|
data/lib/cocoapods_plugin.rb
CHANGED
@@ -5,6 +5,7 @@ module CocoapodsVipers
|
|
5
5
|
|
6
6
|
Pod::HooksManager.register('cocoapods-vipers', :pre_install) do |_context, _|
|
7
7
|
paths = []
|
8
|
+
pods = []
|
8
9
|
puts 'vipers hook pre_install'
|
9
10
|
dependencies = _context.podfile.dependencies
|
10
11
|
dependencies.each do |d|
|
@@ -17,8 +18,9 @@ module CocoapodsVipers
|
|
17
18
|
# puts d.external_source[:path]
|
18
19
|
paths.push({ 'spec_path' => d.external_source[:path], 'spec_name' => d.name })
|
19
20
|
end
|
21
|
+
pods.push(d.name)
|
20
22
|
end
|
21
|
-
CocoapodsVipers::Vipers.new.sync(paths)
|
23
|
+
CocoapodsVipers::Vipers.new.sync(paths, pods)
|
22
24
|
end
|
23
25
|
|
24
26
|
Pod::HooksManager.register('cocoapods-vipers', :post_install) do |context|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-vipers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fengjx
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -53,7 +53,7 @@ files:
|
|
53
53
|
- lib/cocoapods-vipers/template/Vipers+Extension.swift
|
54
54
|
- lib/cocoapods-vipers/vipers-sync.rb
|
55
55
|
- lib/cocoapods_plugin.rb
|
56
|
-
homepage: https://github.com/
|
56
|
+
homepage: https://github.com/Cellphoness/cocoapods-vipers/
|
57
57
|
licenses:
|
58
58
|
- MIT
|
59
59
|
metadata: {}
|
@@ -72,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: '0'
|
74
74
|
requirements: []
|
75
|
-
rubygems_version: 3.
|
75
|
+
rubygems_version: 3.3.11
|
76
76
|
signing_key:
|
77
77
|
specification_version: 4
|
78
78
|
summary: cocoapods-vipers generate VIPER enum and medthod for Router which is in HycanServices
|