cocoapods-privacy 0.2.3 → 0.2.5

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: a3d1726df7b045146dfa364ba60ad74fc23f4ca87c13addea3130a2f740a6874
4
- data.tar.gz: 57d2ef7ef31c20b1b53cab3f9eed8ecd88f93e7a57bf32967c16041fb6049f35
3
+ metadata.gz: 17bcbadaa7fac402b93e8895f8122c527873f24c25698809657999163ad7a5b5
4
+ data.tar.gz: 511460533641f68349937f6b1bbb90ab65fe51eccc8eb2154eb41926169cf008
5
5
  SHA512:
6
- metadata.gz: 4c903226e8685810ebd1c2e80bd02022b7a1dcf874a64d56c5a4e0b9303a4524e437809d5dd05a0be3ae5c3debfc142e0727fb68cc4a842a89a92d3f1f286928
7
- data.tar.gz: 04f1d7173af7d36ea7cc0a7eb6046636ce066419a17b70facf7372148e3d7618aec06a39ef612074f21fe20b59f494b0a4d03a889e79e09d692e536641b920a1
6
+ metadata.gz: cd028ae88664c51755d97bc79023e2eccf3245646dce468784197284a287ad525195e8a205cab60b8c36d9e46f3f88935627fa84f1e247e96c1efc72d5fa0841
7
+ data.tar.gz: a0ba51fe193e4415b1103e03401946acc3db965c594a990a34e1d24927404e583a4557fce182cd62a96f295b7841fc64bd4530572f65ba4d0773a50678540f94
@@ -10,4 +10,6 @@ require 'cocoapods-privacy/privacy/PrivacyUtils'
10
10
  require 'cocoapods-privacy/privacy/PrivacyModule'
11
11
  require 'cocoapods-privacy/privacy/PrivacyHunter'
12
12
  require 'cocoapods-privacy/privacy/PrivacyConfig'
13
+ require 'cocoapods-privacy/privacy/PrivacyLog'
14
+
13
15
 
@@ -1,3 +1,3 @@
1
1
  module CocoapodsPrivacy
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.5"
3
3
  end
@@ -198,9 +198,6 @@ module PrivacyHunter
198
198
 
199
199
  #搜索所有子文件夹
200
200
  def self.search_files(folder_paths, apis)
201
- #清除上一次log
202
- clean_log()
203
-
204
201
  # 获取文件夹下所有文件(包括子文件夹)
205
202
  all_files = []
206
203
  folder_paths.each do |folder|
@@ -223,28 +220,11 @@ module PrivacyHunter
223
220
 
224
221
  unless api_contains.empty?
225
222
  log = "File #{file_path} contains the keyword '#{api_contains.keys}'.\n"
226
- write_log(log)
223
+ PrivacyLog.write_to_result_log(log)
227
224
  end
228
225
  end
229
- puts "详细log请查看 #{PrivacyUtils.cache_log_file} 文件"
226
+ PrivacyLog.write_to_result_log("\n") if !apis_found.empty?
230
227
  apis_found
231
228
  end
232
-
233
- def self.write_log(log)
234
- log_file_path = PrivacyUtils.cache_log_file
235
- is_create = PrivacyUtils.create_file_and_fold_if_no_exit(log_file_path,log)
236
- unless is_create
237
- File.open(log_file_path, "a") do |file|
238
- file << log
239
- end
240
- end
241
- end
242
-
243
- def self.clean_log()
244
- File.open(PrivacyUtils.cache_log_file, "w") do |file|
245
- # 写入空字符串,清空文件内容
246
- file.write("")
247
- end
248
- end
249
229
  end
250
230
 
@@ -0,0 +1,28 @@
1
+ require 'cocoapods-privacy/command'
2
+
3
+ module PrivacyLog
4
+
5
+ # 提示log 存放地址
6
+ def self.result_log_tip()
7
+ puts "详细log请查看 #{PrivacyUtils.cache_log_file} 文件"
8
+ end
9
+
10
+ # 写入结果log 文件
11
+ def self.write_to_result_log(log)
12
+ log_file_path = PrivacyUtils.cache_log_file
13
+ is_create = PrivacyUtils.create_file_and_fold_if_no_exit(log_file_path,log)
14
+ unless is_create
15
+ File.open(log_file_path, "a") do |file|
16
+ file << log
17
+ end
18
+ end
19
+ end
20
+
21
+ # 清除结果log文件
22
+ def self.clean_result_log()
23
+ File.open(PrivacyUtils.cache_log_file, "w") do |file|
24
+ # 写入空字符串,清空文件内容
25
+ file.write("")
26
+ end
27
+ end
28
+ end
@@ -67,7 +67,14 @@ class BBSpec
67
67
  if !line.is_comment && line.key.include?(".resource_bundle")
68
68
  @has_resource_bundle = true
69
69
  elsif !line.is_comment && line.key.include?(".source_files")
70
- spec = eval("Pod::Spec.new do |s|; s.source_files = #{line.value}; end;")
70
+ begin
71
+ code = "Pod::Spec.new do |s|; s.source_files = #{line.value}; end;"
72
+ RubyVM::InstructionSequence.compile(code)
73
+ spec = eval(code)
74
+ rescue SyntaxError, StandardError => e
75
+ raise Pod::Informative, "source_files字段 不支持多行拼写,请修改成成单行格式,重新执行pod privacy spec 命令"
76
+ end
77
+
71
78
  if spec && !spec.attributes_hash['source_files'].nil?
72
79
  source_files_value = spec.attributes_hash['source_files']
73
80
  if source_files_value.is_a?(String) && !source_files_value.empty?
@@ -190,20 +197,25 @@ module PrivacyModule
190
197
  project.save
191
198
 
192
199
  # 开始检索api,并返回json 字符串数据
200
+ PrivacyLog.clean_result_log()
193
201
  json_data = PrivacyHunter.search_pricacy_apis(folds)
194
202
 
195
203
  # 将数据写入隐私清单文件
196
204
  PrivacyHunter.write_to_privacy(json_data,privacy_file_path)
205
+ PrivacyLog.result_log_tip()
197
206
  end
198
207
 
199
208
  # 处理组件
200
209
  def self.load_module(podspec_file_path)
201
210
  puts "👇👇👇👇👇👇 Start analysis component privacy 👇👇👇👇👇👇"
211
+ PrivacyLog.clean_result_log()
202
212
  privacy_hash = PrivacyModule.check(podspec_file_path)
203
213
  privacy_hash.each do |privacy_file_path, source_files|
214
+ PrivacyLog.write_to_result_log("#{privacy_file_path}: \n")
204
215
  data = PrivacyHunter.search_pricacy_apis(source_files)
205
216
  PrivacyHunter.write_to_privacy(data,privacy_file_path) unless data.empty?
206
217
  end
218
+ PrivacyLog.result_log_tip()
207
219
  puts "👆👆👆👆👆👆 End analysis component privacy 👆👆👆👆👆👆"
208
220
  end
209
221
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-privacy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - youhui
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-08 00:00:00.000000000 Z
11
+ date: 2024-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -57,6 +57,7 @@ files:
57
57
  - lib/cocoapods-privacy/gem_version.rb
58
58
  - lib/cocoapods-privacy/privacy/PrivacyConfig.rb
59
59
  - lib/cocoapods-privacy/privacy/PrivacyHunter.rb
60
+ - lib/cocoapods-privacy/privacy/PrivacyLog.rb
60
61
  - lib/cocoapods-privacy/privacy/PrivacyModule.rb
61
62
  - lib/cocoapods-privacy/privacy/PrivacyUtils.rb
62
63
  - lib/cocoapods-privacy/privacy/privacy_installer_hook.rb