cocoapods-scancode 0.0.1 → 0.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d426792416ef88663bea134490c0fa6bf73e821439c68556ba68425889f5c53
4
- data.tar.gz: 9e79580b6967aaea6ef4268dc957473af890482caae229f9fbbdd7d2e7b6543d
3
+ metadata.gz: 2960636db8b9cceecd82e9b14a465c993735de73fe31a7858e310b173867731b
4
+ data.tar.gz: b1d06f1d9e703dba070940b5b70878748e723095f2cf143b777724c05b79903b
5
5
  SHA512:
6
- metadata.gz: 1f3e65773cc1d2d90fbdc2025e0d58862487b21bc9ae339b0a64ea23f7864b34c2d87aeb0bc3e09a2d6806ff1e747e38c2d8b74ed77725bb6fe003850047b596
7
- data.tar.gz: a7b0429376e11884f353c6606ffebd54e4293fa1d21f2ec476bd17ca200b44313df6ac42508e015c4a90d494bd2c3a224d4c1e39418c9cebb1f27ec291d8a08a
6
+ metadata.gz: 735eda5bd69e5bc0b89500a35b5cf8f1b46a5b1253fe7835f4e60259e5ba7109809585c7b1a59dcfbfb80c9c0349b06606fe5878b6d8bf360d0ffc063b3588f2
7
+ data.tar.gz: 30f5c4ff49ffa6336f740e5095243cbc7e5250dd9b8e660d08caaf3177f0c4261883f86e873458c623a025d3f0c18dfdb24d8820068b9ffde0030f6ca410ceeb
@@ -1,3 +1,3 @@
1
1
  module CocoapodsScancode
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -63,7 +63,8 @@ class LocalizedScan
63
63
  break
64
64
  end
65
65
  end
66
- puts bundPath
66
+ puts "\e[34m app里所有模块的多语言都在这里#{bundPath}\e[0m"
67
+
67
68
  Find.find(bundPath) do |filePath|
68
69
  if filePath.end_with?("Localizable.strings")
69
70
  self.findKey(filePath)
@@ -105,122 +106,126 @@ class LocalizedScan
105
106
  end
106
107
 
107
108
  def self.scan
108
-
109
- Find.find ("./") do |fileName|
110
- # puts fileName
111
- if fileName.end_with?".m"
112
- self.scanKeyInOcCode(fileName)
113
- elsif fileName.end_with?".swift"
114
- self.scanKeyInSwiftCode(fileName)
115
- end
109
+ Find.find ("./") do |fileName|
110
+ if fileName.end_with?(".m") or fileName.end_with?(".swift")
111
+ self.scanKeyInOcCode(fileName,:endWithSwift=> fileName.end_with?(".swift"))
112
+ end
113
+ end
116
114
  end
117
- end
118
115
 
119
- def self.scanKeyInOcCode(path)
116
+ def self.scanKeyInOcCode(path=nil,endWithSwift:false)
120
117
 
121
- file = File.open(path,"r:utf-8") do |file|
122
- block = ""
123
- file.each_line do |line|
124
- block += line
125
- if line.end_with?";\n"
126
- #处理block
127
- self.filterKeyInOcBLock(block,path)
128
- block = ""
118
+ file = File.open(path,"r:utf-8") do |file|
119
+ block = ""
120
+ file.each_line do |line|
121
+ block += line
122
+ if line.end_with?(endWithSwift ? "\n":";\n")
123
+ #处理block
124
+ self.filterKeyInBLock(block,path)
125
+ block = ""
126
+ end
129
127
  end
130
128
  end
129
+ file.close
130
+
131
131
  end
132
- file.close
132
+
133
+ def self.filterKeyInBLock(block,filePath)
133
134
 
134
- end
135
+ #localizedString(forKey: "common_guide_board_edit1" .swift
136
+ # localizedStringForKey : @ "home_switch_position" comment:@"切换家庭" .m
137
+ block.scan(/localizedString\(?forkey\s*:\s*@?\s*"(.+?)",?\s*comment/im) do |matched|
138
+ self.checkKey(:key=>matched[0],:filePath=>filePath)
139
+ # p matched[0] +":" + filePath
140
+ end
141
+ # swift:LMBundleNSLocalizedString("abc", "测试")
142
+ # oc : LMBundleNSLocalizedString(@"voice_guide_title", @"Hi,我是小乔")
143
+ block.scan(/LMBundleNSLocalizedString\s*\(\s*@?\s*"(.+?)",\s*/im) do |matched|
144
+ self.checkKey(:key=>matched[0],:filePath=>filePath)
145
+ end
135
146
 
136
- def self.scanKeyInSwiftCode(path)
137
-
138
- file = File.open(path,"r:utf-8") do |file|
139
- block = ""
140
- file.each_line do |line|
141
- block += line
142
- if line.end_with?"\n"
143
- #处理block
144
- self.filterKeyInSwiftBLock(block,path)
145
- block = ""
147
+ block.scan(/LMCALanuage\(\s*@\s*?"(.*?)"\s*,/im) do |matched|
148
+ self.checkKey(:key=>matched[0],:filePath=>filePath)
146
149
  end
147
- end
148
- end
149
- file.close
150
150
 
151
- end
152
-
153
- def self.filterKeyInSwiftBLock(block,filePath)
154
- keywords = ['LMBundleNSLocalizedString(','LHLocalizedTool.localizedString(forKey:']
155
- keywords.each do |keyword|
156
- tempBlock = block
157
- while tempBlock.index(keyword) != nil do
158
- #左引号
159
- left = tempBlock.index(keyword)
160
- # puts left
161
- # puts tempBlock[left]
162
- left = tempBlock.index('"',left+1)
163
- right = tempBlock.index('"',left+1)
164
- # puts right
165
- # puts tempBlock[right]
166
- key = tempBlock[left+1...right]
167
- if @@defineKeyDic[key] == nil
168
- print 'swift未定义的key:',key,"\n"
169
- item = UnDefineKeyItem.new(key,filePath)
170
- @@undefineKeyDic[key] = item
151
+ block.scan(/LMCTLanuage\(\s*@\s*?"(.*?)"\s*,/im) do |matched|
152
+ self.checkKey(:key=>matched[0],:filePath=>filePath)
171
153
  end
172
- tempBlock = tempBlock[right+1..tempBlock.length-1]
173
- end
154
+
155
+ block.scan(/LMIrcodeLocalizedString\(\s*@\s*?"(.*?)"\s*,/im) do |matched|
156
+ self.checkKey(:key=>matched[0],:filePath=>filePath)
157
+
158
+ # p matched[0] +":" + filePath
159
+ end
160
+
161
+ block.scan(/LMLTLanuage\(\s*@\s*?"(.*?)"\s*,/im) do |matched|
162
+ self.checkKey(:key=>matched[0],:filePath=>filePath)
163
+
164
+ # p matched[0] +":" + filePath
165
+ end
166
+
167
+ block.scan(/kLMPositionFrameworkNSLocalized\(\s*@\s*?"(.*?)"\s*,/im) do |matched|
168
+ self.checkKey(:key=>matched[0],:filePath=>filePath)
169
+ # p matched[0] +":" + filePath
170
+ end
171
+
172
+ end
173
+
174
+ def self.checkKey(key:nil,filePath:"")
175
+ if @@defineKeyDic[key] == nil
176
+ # print '未定义的key:',key,"\n"
177
+ item = UnDefineKeyItem.new(key,filePath)
178
+ @@undefineKeyDic[key] = item
174
179
  end
175
180
  end
176
181
 
177
- def self.filterKeyInOcBLock(block,filePath)
178
- keywords = ['localizedStringForKey:@"',
179
- 'LMCALanuage(@"',
180
- 'LMCTLanuage(@"',
181
- 'LMIrcodeLocalizedString(@"',
182
- 'LMLTLanuage(@"',
183
- 'LMMDLocalizedString(@"',
184
- 'kLMPositionFrameworkNSLocalized(@"']
185
- keywords.each do |keyword|
186
- tempBlock = block
187
- while tempBlock.index(keyword) != nil do
188
- #左引号
189
- left = tempBlock.index(keyword) + keyword.length-1
190
- # puts left
191
- # puts tempBlock[left]
192
- right = tempBlock.index('"',left+1)
193
- # puts right
194
- # puts tempBlock[right]
195
- key = tempBlock[left+1...right]
196
- #
197
- if @@defineKeyDic[key] == nil
198
- # print '未定义的key:',key,"\n"
199
- item = UnDefineKeyItem.new(key,filePath)
200
- @@undefineKeyDic[key] = item
182
+ def self.printUndefineKey
183
+ resultHas = {}
184
+ @@undefineKeyDic.each_value do |item|
185
+ path_list =item.printFilePath.split("/")
186
+ if path_list[1] == "Pods"
187
+ module_name = path_list[2]
188
+ if resultHas.has_key? module_name
189
+ list = resultHas[module_name]
190
+ list << item
191
+ else
192
+ list = [item]
193
+ resultHas[module_name] = list
201
194
  end
202
- tempBlock = tempBlock[right+1..tempBlock.length-1]
195
+ else
196
+ module_name = path_list[1]
197
+ if resultHas.has_key? module_name
198
+ list = resultHas[module_name]
199
+ list << item
200
+ else
201
+ list = [item]
202
+ resultHas[module_name] = list
203
+ end
204
+ end
205
+ end
206
+ resultHas.each do |module_name,list|
207
+ puts "\e[32m 模块名称:#{module_name}\e[0m"
208
+ list.each_with_index do |item,index|
209
+ print "#{index+1}"
210
+ puts "\e[31m #{item.printKey}\e[0m"
211
+ puts " 文件路径:#{item.printFilePath}"
203
212
  end
204
213
  end
214
+ puts "\e[32m 未识别key总数:#{@@undefineKeyDic.values.size}\e[0m"
205
215
  end
206
216
 
207
217
  def self.pipLine
208
218
  self.loadBundleKey
209
219
  self.scan
210
- # @@defineKeyDic.each_value do |model|
211
- # puts model
212
- # end
213
-
214
- num = 0
215
- @@undefineKeyDic.each_value do |item|
216
- num += 1
217
- puts "#{num}:#{item.printKey} filepath:#{item.printFilePath}"
218
- end
220
+ self.printUndefineKey
219
221
  end
222
+ # def make_color(str, color)
223
+ # colors = {:red => 31, :green => 32, :blue => 34}
224
+ # puts "\e[#{colors[color]}m #{str}\e[0m"
225
+ # end
220
226
 
221
227
  end
222
228
 
223
-
224
229
  # str = 'localizedStringForKey:@"key"'
225
230
  # LocalizedScan.filterKeyInBLock(str)
226
231
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-scancode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - jeremylu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-28 00:00:00.000000000 Z
11
+ date: 2023-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -51,7 +51,7 @@ files:
51
51
  - lib/cocoapods-scancode/gem_version.rb
52
52
  - lib/cocoapods-scancode/trig.rb
53
53
  - lib/cocoapods_plugin.rb
54
- homepage: https://github.com/EXAMPLE/cocoapods-scancode
54
+ homepage: https://github.com/cherishandjay/scancode
55
55
  licenses:
56
56
  - MIT
57
57
  metadata: {}