podfileDep 2.3.2 → 2.3.3

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: ff12970485eb0f2ab483a57b2f33c2822681aa456bc3c7c8732c4599c76cad15
4
- data.tar.gz: dcd4a588201cbc2e73da338bd7108284302da6722eb16395a7b28700c7809ab0
3
+ metadata.gz: 491f4a383b768a448297d15aa5fc6d1a20579e45ddf1deba7c1f692c72f6505a
4
+ data.tar.gz: a5c91fe5e5e5453905ea83ca0a8c51a510c81478f3386c93ee32c79c7a74a6f7
5
5
  SHA512:
6
- metadata.gz: 265c6523a80d2a268887e78a11cd5b2c6f4a12d3362c56c5195a526256f7ccc312d53a4fefe77b25cbcaee020c53ad52f6335b961fb5017a63dd836ab04012f9
7
- data.tar.gz: 7c900925fc0baf25319870e9d9726b659d641f8e51f815c3fdd40c443aa9b778bd07277b278bc120fac443e7ddbbf783e96340e1e2b4bace5e1c60b70021a980
6
+ metadata.gz: bb54718fa3fd8b876793a5e9c2d0b8638aaf8c7a7b4481357f9bd9d030732da9cb52947ac6a1128f8f4ad41d2d7c73efffe94553f53dcdf896379941eaf32a2c
7
+ data.tar.gz: 864acce6a07eda525076f9397d6ad815b337b435a91681e7efcee9c206379b85dcf8cf85b6b419c31cf27c8c759f1881f971963d0c0b20181d951331c8f538d8
data/CHANGELOG.md CHANGED
@@ -1,11 +1,14 @@
1
1
  ## [Released]
2
2
 
3
+ ### [2.3.3] - 2023-7-24
4
+ - import规范检查逻辑优化
5
+
3
6
  ### [2.3.2] - 2023-7-6
4
7
  - 修复编译优化引用计数导致的优化不彻底问题
5
- -
8
+
6
9
  ### [2.3.1] - 2023-7-6
7
10
  - 打印版本号
8
- -
11
+
9
12
  ### [2.3.0] - 2023-7-6
10
13
  - 去掉use_frameworks! 由外部自由实现
11
14
 
@@ -1,7 +1,7 @@
1
1
  require 'cocoapods'
2
2
  require_relative 'podfileDep/command/quick'
3
+ require_relative 'podfileDep/check/project'
3
4
  require_relative 'podfileDep/check/dep'
4
- require_relative 'podfileDep/check/import'
5
5
  require_relative 'podfileDep/modify/modify_code'
6
6
  require_relative 'podfileDep/reference/project'
7
7
  require_relative 'podfileDep/indirect/indirect'
@@ -29,8 +29,10 @@ module CocoapodsPlugin
29
29
  # 检查依赖库
30
30
  # Dep::DepChecker.dep_check
31
31
 
32
+ project = Xcodeproj::XCodeProject.new
33
+
32
34
  # 检查import
33
- Import::ImportManager.import_check
35
+ project.check_import
34
36
 
35
37
  # 代码文件处理
36
38
  ModifyCode::Modify.modify_fb
@@ -49,4 +51,8 @@ module CocoapodsPlugin
49
51
 
50
52
  end
51
53
 
54
+ # Pod::HooksManager.register('podfileDep', :post_integrate) do |context|
55
+ # puts context
56
+ # end
57
+
52
58
  end
@@ -1,159 +1,159 @@
1
- require 'pathname'
2
- require 'yaml'
3
- require_relative '../constants'
4
- require_relative 'module'
5
- require_relative 'item'
6
- require_relative 'xcodeproj'
7
-
8
- module Import
9
- class ImportManager
10
-
11
- # 检查import规范
12
- def self.import_check
13
- puts "\nimport规范检查中..."
14
- start = (Time.now.to_f * 1000).to_i
15
-
16
- project_manager = XCProject::XcodeprojManager.share_manager
17
-
18
- # 获取需要检查的模块名和路径
19
- modules = project_manager.get_development_module
20
-
21
- # 获取Pods和本地依赖库的 组件名和包含的头文件列表 map类型
22
- module_headers = project_manager.get_installed_headers_module
23
-
24
- # 计数
25
- check_count = 0
26
-
27
- # 遍历需要被检查的模块
28
- modules.each_value { |module_item|
29
-
30
- # 某个模块从代码文件里读取的双引号依赖库 #import "XX/XX.h"
31
- import_item_map = {}
32
-
33
- #头文件的文件名
34
- header_file_names = []
35
-
36
- module_item.source_files.each { |source_file|
37
-
38
- header_file_name = File.basename(source_file)
39
- if header_file_name.end_with?(".h") or header_file_name.end_with?(".hpp") or header_file_name.end_with?(".pch")
40
- header_file_names << header_file_name
41
- end
42
-
43
- self.update_import_dot_item_map(source_file, module_item, import_item_map)
44
-
45
- check_count += 1
46
- }
47
-
48
- if import_item_map.size == 0 and header_file_names.size == 0
49
- next
50
- end
51
-
52
- messages = []
53
- import_item_map.each {|key, value| #key是 xxx.h value是{ImportItem:}
54
-
55
- # 当前仓库的文件已包含
56
- if header_file_names.include?(key)
57
- next
58
- end
59
-
60
- # 是否是导入的系统lib
61
- if self.check_sys_libary(key)
62
- next
63
- end
64
-
65
- search_module_name = self.get_module_name(module_headers, key)
66
-
67
- unless search_module_name
68
- next
69
- end
70
-
71
- messages << "#{value.file_name} 第#{value.line_index}行 #{value.import_name} => #import <#{search_module_name}/#{value.pod}>"
72
-
73
- }
74
-
75
- if messages.size >0
76
- puts "⚠️ 组件#{module_item.module_name}存在以下情况, 请检查:"
77
- puts messages
78
- puts "\n"
79
- end
80
-
81
- }
82
-
83
- duration = ((Time.now.to_f * 1000).to_i - start)*0.001
84
- puts "import规范检查完毕! 共检查#{modules.size.to_s}个组件(#{check_count}个文件) 耗时:#{duration.round(2)}秒"
85
- end
86
-
87
- # 获取某个文件内对应类型的import "XXX.h"
88
- def self.update_import_dot_item_map(file_path, module_name, import_item_map)
89
- if File.directory?(file_path)
90
- return
91
- end
92
-
93
- line_array = IO.readlines(file_path)
94
- line_array.each_with_index { |line, index|
95
- line = line.gsub(" ", "")
96
- unless line.start_with?("#import\"")
97
- next
98
- end
99
-
100
- if line.start_with?("@implementation")
101
- break
102
- end
103
-
104
- line_split_array = line.split("\"")
105
- if line_split_array.size <= 1
106
- next
107
- end
108
-
109
- import_name = "#{line_split_array[0]}\"#{line_split_array[1]}\"" # import"XXX.h" 或import"XXX.AAA.h" 防止后边有其他内容
110
-
111
- # 特殊处理
112
- if import_name == "#import\"NBSAppAgent.h\""
113
- next
114
- end
115
-
116
- podfile = import_name
117
- podfile = podfile.gsub("#import\"", "")
118
- podfile = podfile.gsub("\"", "") # 变成 XX.h
119
-
120
- # 已经包含
121
- if import_item_map[podfile]
122
- next
123
- end
124
- pre_index = index-1 < 0 ? 0 : index-1
125
- pre_line = line_array[pre_index]
126
- pre_line = pre_line.gsub(" ", "").gsub("\n", "")
127
- if pre_line.start_with?("#if") or pre_line == "#else"
128
- next
129
- end
130
-
131
- file_name = File.basename(file_path)
132
- line_index = index+1
133
-
134
- import_item_map[podfile] = ImportItem.new(import_name, module_name, file_name, line_index, podfile)
135
-
136
- }
137
- end
138
-
139
- # 根据文件名反查出属于哪个组件
140
- def self.get_module_name(module_headers, file_name)
141
- module_headers.each do |module_name,module_item|
142
- module_item.source_files.each {|source_file|
143
- if source_file.basename.to_s == file_name
144
- return module_name
145
- end
146
- }
147
- end
148
- return nil
149
- end
150
-
151
- # 获取某库是否是系统级的依赖库
152
- def self.check_sys_libary(name)
153
- name = name.gsub(".h", "")
154
- libs = Constants::LIBLIBARYS
155
- return libs.include?(name)
156
- end
157
-
158
- end
159
- end
1
+ # require 'pathname'
2
+ # require 'yaml'
3
+ # require_relative '../constants'
4
+ # require_relative 'module'
5
+ # require_relative 'item'
6
+ # require_relative 'xcodeproj'
7
+ #
8
+ # module Import
9
+ # class ImportManager
10
+ #
11
+ # # 检查import规范
12
+ # def self.import_check
13
+ # puts "\nimport规范检查中..."
14
+ # start = (Time.now.to_f * 1000).to_i
15
+ #
16
+ # project_manager = XCProject::XcodeprojManager.share_manager
17
+ #
18
+ # # 获取需要检查的模块名和路径
19
+ # modules = project_manager.get_development_module
20
+ #
21
+ # # 获取Pods和本地依赖库的 组件名和包含的头文件列表 map类型
22
+ # module_headers = project_manager.get_installed_headers_module
23
+ #
24
+ # # 计数
25
+ # check_count = 0
26
+ #
27
+ # # 遍历需要被检查的模块
28
+ # modules.each_value { |module_item|
29
+ #
30
+ # # 某个模块从代码文件里读取的双引号依赖库 #import "XX/XX.h"
31
+ # import_item_map = {}
32
+ #
33
+ # #头文件的文件名
34
+ # header_file_names = []
35
+ #
36
+ # module_item.source_files.each { |source_file|
37
+ #
38
+ # header_file_name = File.basename(source_file)
39
+ # if header_file_name.end_with?(".h") or header_file_name.end_with?(".hpp") or header_file_name.end_with?(".pch")
40
+ # header_file_names << header_file_name
41
+ # end
42
+ #
43
+ # self.update_import_dot_item_map(source_file, module_item, import_item_map)
44
+ #
45
+ # check_count += 1
46
+ # }
47
+ #
48
+ # if import_item_map.size == 0 and header_file_names.size == 0
49
+ # next
50
+ # end
51
+ #
52
+ # messages = []
53
+ # import_item_map.each {|key, value| #key是 xxx.h value是{ImportItem:}
54
+ #
55
+ # # 当前仓库的文件已包含
56
+ # if header_file_names.include?(key)
57
+ # next
58
+ # end
59
+ #
60
+ # # 是否是导入的系统lib
61
+ # if self.check_sys_libary(key)
62
+ # next
63
+ # end
64
+ #
65
+ # search_module_name = self.get_module_name(module_headers, key)
66
+ #
67
+ # unless search_module_name
68
+ # next
69
+ # end
70
+ #
71
+ # messages << "#{value.file_name} 第#{value.line_index}行 #{value.import_name} => #import <#{search_module_name}/#{value.pod}>"
72
+ #
73
+ # }
74
+ #
75
+ # if messages.size >0
76
+ # puts "⚠️ 组件#{module_item.module_name}存在以下情况, 请检查:"
77
+ # puts messages
78
+ # puts "\n"
79
+ # end
80
+ #
81
+ # }
82
+ #
83
+ # duration = ((Time.now.to_f * 1000).to_i - start)*0.001
84
+ # puts "import规范检查完毕! 共检查#{modules.size.to_s}个组件(#{check_count}个文件) 耗时:#{duration.round(2)}秒"
85
+ # end
86
+ #
87
+ # # 获取某个文件内对应类型的import "XXX.h"
88
+ # def self.update_import_dot_item_map(file_path, module_name, import_item_map)
89
+ # if File.directory?(file_path)
90
+ # return
91
+ # end
92
+ #
93
+ # line_array = IO.readlines(file_path)
94
+ # line_array.each_with_index { |line, index|
95
+ # line = line.gsub(" ", "")
96
+ # unless line.start_with?("#import\"")
97
+ # next
98
+ # end
99
+ #
100
+ # if line.start_with?("@implementation")
101
+ # break
102
+ # end
103
+ #
104
+ # line_split_array = line.split("\"")
105
+ # if line_split_array.size <= 1
106
+ # next
107
+ # end
108
+ #
109
+ # import_name = "#{line_split_array[0]}\"#{line_split_array[1]}\"" # import"XXX.h" 或import"XXX.AAA.h" 防止后边有其他内容
110
+ #
111
+ # # 特殊处理
112
+ # if import_name == "#import\"NBSAppAgent.h\""
113
+ # next
114
+ # end
115
+ #
116
+ # podfile = import_name
117
+ # podfile = podfile.gsub("#import\"", "")
118
+ # podfile = podfile.gsub("\"", "") # 变成 XX.h
119
+ #
120
+ # # 已经包含
121
+ # if import_item_map[podfile]
122
+ # next
123
+ # end
124
+ # pre_index = index-1 < 0 ? 0 : index-1
125
+ # pre_line = line_array[pre_index]
126
+ # pre_line = pre_line.gsub(" ", "").gsub("\n", "")
127
+ # if pre_line.start_with?("#if") or pre_line == "#else"
128
+ # next
129
+ # end
130
+ #
131
+ # file_name = File.basename(file_path)
132
+ # line_index = index+1
133
+ #
134
+ # import_item_map[podfile] = ImportItem.new(import_name, module_name, file_name, line_index, podfile)
135
+ #
136
+ # }
137
+ # end
138
+ #
139
+ # # 根据文件名反查出属于哪个组件
140
+ # def self.get_module_name(module_headers, file_name)
141
+ # module_headers.each do |module_name,module_item|
142
+ # module_item.source_files.each {|source_file|
143
+ # if source_file.basename.to_s == file_name
144
+ # return module_name
145
+ # end
146
+ # }
147
+ # end
148
+ # return nil
149
+ # end
150
+ #
151
+ # # 获取某库是否是系统级的依赖库
152
+ # def self.check_sys_libary(name)
153
+ # name = name.gsub(".h", "")
154
+ # libs = Constants::LIBLIBARYS
155
+ # return libs.include?(name)
156
+ # end
157
+ #
158
+ # end
159
+ # end
@@ -0,0 +1,332 @@
1
+ require 'pathname'
2
+ require 'colored2'
3
+
4
+ module Xcodeproj
5
+
6
+ class ImportItem
7
+ attr_accessor :import_name
8
+ attr_accessor :module_name
9
+ attr_accessor :file_path
10
+ attr_accessor :import_file_name
11
+ attr_accessor :line_index
12
+ def initialize
13
+ @import_name = nil
14
+ @module_name = nil
15
+ @file_path = nil
16
+ @import_file_name = nil
17
+ @line_index = nil
18
+ end
19
+
20
+ end
21
+
22
+ class ModuleItem
23
+
24
+ public
25
+ # 组名名
26
+ attr_accessor :module_name
27
+
28
+ # 组件路径
29
+ attr_accessor :module_path
30
+
31
+ # podspec路径
32
+ attr_accessor :podspec_path
33
+
34
+ # 组件目录的所有被引用的文件数组
35
+ attr_accessor :header_files
36
+
37
+ # 组件目录的所有被引用的文件数组
38
+ attr_accessor :source_files
39
+
40
+ # 是否是开发模块
41
+ attr_reader :is_development_module
42
+
43
+ # [Hash{String => ImportItem}]
44
+ attr_accessor :import_items
45
+
46
+ def initialize(module_name)
47
+ @module_name = module_name
48
+ @module_path = nil
49
+ @podspec_path = nil
50
+ @header_files = {}
51
+ @source_files = {}
52
+ @import_items = []
53
+ end
54
+
55
+ # 是否是开发模块
56
+ # @return bool
57
+ def is_development_module
58
+ !!(podspec_path)
59
+ end
60
+
61
+ # 生成 import "XXX.h"的信息
62
+ def init_import_info
63
+ source_files.each_value do |source_file_path|
64
+ if File.directory?(source_file_path)
65
+ next
66
+ end
67
+
68
+ line_array = IO.readlines(source_file_path)
69
+ line_array.each_with_index { |line, line_index|
70
+ line = line.gsub(" ", "")
71
+
72
+ unless line.start_with?("#import")
73
+ next
74
+ end
75
+
76
+ if line.start_with?("@implementation")
77
+ break
78
+ end
79
+
80
+ # 前一行的内容
81
+ pre_index = line_index-1 < 0 ? 0 : line_index-1
82
+ pre_line = line_array[pre_index]
83
+
84
+ if line.start_with?("#import\"") #本组件
85
+ import_item = own_module_import(line, source_file_path, line_index, @module_name, pre_line)
86
+ if import_item
87
+ import_items << import_item
88
+ end
89
+ elsif line.start_with?("#import<") #其他组件
90
+
91
+ end
92
+
93
+ }
94
+ end
95
+
96
+ import_items
97
+ end
98
+
99
+ private
100
+ # 生成自己模块的import item
101
+ # @param line 以 import" 开头
102
+ def own_module_import(line, file_path, line_index, module_name, pre_line)
103
+ line_split_array = line.split("\"")
104
+ if line_split_array.size <= 1
105
+ return nil
106
+ end
107
+
108
+ import_content = "#{line_split_array[0]}\"#{line_split_array[1]}\"" # import"XXX.h" 或import"XXX.AAA.h" 防止后边有其他内容
109
+
110
+ # 特殊处理
111
+ if import_content == "#import\"NBSAppAgent.h\""
112
+ return nil
113
+ end
114
+
115
+ pre_line = pre_line.gsub(" ", "").gsub("\n", "")
116
+ if pre_line.start_with?("#if") or pre_line == "#else"
117
+ return nil
118
+ end
119
+
120
+ import_file_name = import_content
121
+ import_file_name = import_file_name.gsub("#import\"", "")
122
+ import_file_name = import_file_name.gsub("\"", "") # 变成 XX.h
123
+
124
+
125
+ import_item = ImportItem.new # (import_name, module_name, file_name, line_index, podfile)
126
+ import_item.import_name = import_content.gsub("#import\"", "#import \"")
127
+ import_item.module_name = module_name
128
+ import_item.file_path = file_path
129
+ import_item.import_file_name = import_file_name
130
+ import_item.line_index = line_index + 1
131
+
132
+ import_item
133
+ end
134
+
135
+
136
+ def other_module_import(line)
137
+
138
+ end
139
+ end
140
+
141
+ class XCodeProject
142
+
143
+ # 壳工程xcodeproj对象
144
+ # @return Xcodeproj::Project
145
+ attr_accessor :shell_project
146
+
147
+ # Pods工程xcodeproj对象
148
+ # @return Xcodeproj::Project
149
+ attr_accessor :pod_project
150
+
151
+ # @return [Hash{String => ModuleItem}]
152
+ attr_accessor :module_items
153
+
154
+
155
+ def initialize
156
+ @shell_project = nil
157
+ @pod_project = nil
158
+ @module_items = {}
159
+ init_shell_project
160
+ init_pod_project
161
+ expand_module
162
+ end
163
+
164
+ def init_shell_project
165
+ xcodeproj_file = nil
166
+ Dir.foreach(Dir.pwd) do |file|
167
+ if file.end_with?(".xcodeproj")
168
+ xcodeproj_file = file
169
+ break
170
+ end
171
+ end
172
+
173
+ xcodeproj_path = "#{Dir.pwd}/#{xcodeproj_file}"
174
+ unless File.exist?(xcodeproj_path)
175
+ return nil
176
+ end
177
+
178
+ @shell_project = Xcodeproj::Project.open(xcodeproj_path)
179
+ end
180
+
181
+ def init_pod_project
182
+ xcodeproj_path = "#{Dir.pwd}/Pods/Pods.xcodeproj"
183
+ unless File.exist?(xcodeproj_path)
184
+ return nil
185
+ end
186
+
187
+ @pod_project = Xcodeproj::Project.open(xcodeproj_path)
188
+ end
189
+
190
+ # 展开模块
191
+ def expand_module
192
+ self.expand_with_module(pod_project.main_group, nil)
193
+ end
194
+
195
+ # 展开模块
196
+ def expand_with_module(group, module_name)
197
+
198
+ if group.class != Xcodeproj::Project::Object::PBXGroup
199
+ return
200
+ end
201
+
202
+ if not module_name and group.hierarchy_path
203
+ group_hierarchy_path_array = group.hierarchy_path.split("/")
204
+ module_name = group_hierarchy_path_array.size >= 3 ? group_hierarchy_path_array[2] : nil
205
+ end
206
+
207
+ # 创建 source_file_item
208
+ source_file_item = @module_items[module_name]
209
+ if module_name and not source_file_item
210
+ source_file_item = ModuleItem.new(module_name)
211
+ @module_items[module_name] = source_file_item
212
+ end
213
+
214
+ # 更新module_path
215
+ if source_file_item and not source_file_item.module_path and group.hierarchy_path
216
+ group_hierarchy_path_array = group.hierarchy_path.split("/")
217
+ if group_hierarchy_path_array.size == 3
218
+ source_file_item.module_path = group.real_path
219
+ end
220
+ end
221
+
222
+ # 文件引用
223
+ file_reference_class = Xcodeproj::Project::Object::PBXFileReference
224
+
225
+ not_child_names = ["Podfile","Frameworks", "Products","Targets Support Files","Support Files"]
226
+ source_file_extension = %w[.h .m .mm .pch .c .cc .cpp .hpp]
227
+ header_file_extension = %w[.h .hpp]
228
+
229
+ group.children.each {|child|
230
+
231
+ module_name = source_file_item ? source_file_item.module_name : nil
232
+
233
+ if not_child_names.include?(child.name)
234
+ # puts "不检查:#{child.name} #{child.real_path}"
235
+ next
236
+ end
237
+
238
+ if child.class != file_reference_class
239
+ # puts "不是文件引用:#{child.class} #{child.real_path}"
240
+ self.expand_with_module(child, module_name)
241
+ next
242
+ end
243
+
244
+ hierarchy_path_array = child.hierarchy_path.split("/")
245
+ if hierarchy_path_array.size < 3
246
+ self.expand_with_module(child, module_name)
247
+ next
248
+ end
249
+
250
+ if source_file_item
251
+ extend_name = child.real_path.basename.extname
252
+ if extend_name == ".podspec" or extend_name == ".podspec.json"
253
+ source_file_item.podspec_path = child.real_path
254
+ elsif source_file_extension.include?(extend_name)
255
+ source_file_item.source_files[child.real_path.basename.to_s] = child.real_path
256
+ if header_file_extension.include?(extend_name)
257
+ source_file_item.header_files[child.real_path.basename.to_s] = child.real_path
258
+ end
259
+ else
260
+ # puts child.real_path
261
+ end
262
+ end
263
+
264
+ # 递归展开
265
+ self.expand_with_module(child, module_name)
266
+ }
267
+
268
+ end
269
+
270
+ # 检查import规范
271
+ def check_import
272
+ puts "import检查中..."
273
+ start = (Time.now.to_f * 1000).to_i
274
+ module_count = 0
275
+ file_count = 0
276
+
277
+ module_items.each do |module_name, module_item|
278
+ unless module_item.is_development_module
279
+ next
280
+ end
281
+ module_count += 1
282
+
283
+ messages = []
284
+
285
+ did_check_imports = {}
286
+ module_item.init_import_info
287
+
288
+ module_item.import_items.each do |import_item|
289
+ file_count += 1
290
+ did_check_import = did_check_imports[import_item.import_file_name]
291
+ if did_check_import
292
+ next
293
+ end
294
+ need_module_item = module_items[import_item.module_name]
295
+ real_path = need_module_item.header_files[import_item.import_file_name]
296
+ did_check_imports[import_item.import_file_name] = !!(real_path)
297
+ unless real_path
298
+ # 去查找所属模块
299
+ expect_module_name = find_module_with_header_file(import_item.import_file_name)
300
+ if expect_module_name
301
+ messages << "#{import_item.file_path.basename} 第#{import_item.line_index}行 #{import_item.import_name} => #import <#{expect_module_name}/#{import_item.import_file_name}>"
302
+ end
303
+ end
304
+ end
305
+
306
+ if messages.size >0
307
+ puts "组件#{module_item.module_name}存在以下情况, 请检查:".yellow
308
+ puts messages
309
+ puts "\n"
310
+ end
311
+
312
+ end
313
+
314
+ duration = ((Time.now.to_f * 1000).to_i - start)*0.001
315
+ puts "import检查完毕! 共检查#{module_count}个组件(#{file_count}个import) 耗时:#{duration.round(2)}秒"
316
+ end
317
+
318
+ private
319
+ # 根据头文件名查找所属组件
320
+ # @return [String, nil]
321
+ def find_module_with_header_file(header_file_name)
322
+ module_items.each do |module_name, module_item|
323
+ file_path = module_item.header_files[header_file_name]
324
+ if file_path
325
+ return module_item.module_name
326
+ end
327
+ end
328
+ nil
329
+ end
330
+
331
+ end
332
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PodfileDep
4
- VERSION = "2.3.2"
4
+ VERSION = "2.3.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: podfileDep
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - 王帅朋
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-06 00:00:00.000000000 Z
11
+ date: 2023-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods
@@ -69,6 +69,7 @@ files:
69
69
  - lib/podfileDep/check/import.rb
70
70
  - lib/podfileDep/check/item.rb
71
71
  - lib/podfileDep/check/module.rb
72
+ - lib/podfileDep/check/project.rb
72
73
  - lib/podfileDep/check/xcodeproj.rb
73
74
  - lib/podfileDep/command/quick.rb
74
75
  - lib/podfileDep/constants.rb