cocoapods-privacy 0.1.7 → 0.1.8

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: 160e1e50e0b10ceb9008703a37b624861e89e48aa7626ba69db17d5958f57d11
4
- data.tar.gz: 4d2f9bc6b15442f8759f22d3609716349281a2c33460bbfd55433d04362ae2a2
3
+ metadata.gz: 9b4a00e9abc854afbf658a6361ed8934fd35fa2c08acf7cc17e8a05ffa9f515d
4
+ data.tar.gz: 70c3102a4c9b371f4c1eb38317dcc4e1f568c19a95349b146902126029742a08
5
5
  SHA512:
6
- metadata.gz: 040723e52f2c23ee4fbfe2f33469194faf9d48c6d6af0cc8aa901966ad15e89830e97f9e227a05565c2e988776bef53ab3ae8d789aacc860bb2bed6a365c441a
7
- data.tar.gz: 3d239ca8ed9639bf88647ab5fb6802e55bfe011fa61417a26325806ca91b4f1dd5e9dc0ee4dffdd37f08c7803326f7401018d939067ed746a2745fb5c79686e4
6
+ metadata.gz: 0d8074f3e754caa905a5452b9e232599654e626f0a119ec1dedf7c5c960c85826ed084a6d52f1f5d32afa81024a68782e4391bda61ca9114857f563722d58d6c
7
+ data.tar.gz: 13248a72deadcf1117be0c135e1b2724a5106d99654f499081cbbfb53c50bf6c443bf9fe8e81d1ab0894a5e31168c98ea5a722c554ae9b41ad9d26c2ee54c3c5
@@ -1,3 +1,3 @@
1
1
  module CocoapodsPrivacy
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
@@ -103,18 +103,42 @@ class BBSpec
103
103
  if @privacy_sources
104
104
  privacy_resource_bundle = { "#{full_name}.privacy" => @privacy_file }
105
105
  if @has_resource_bundle
106
+ line_incomplete = nil
106
107
  @rows.each_with_index do |line, index|
107
- if !line || line.is_a?(BBSpec) || !line.key || line.key.empty?
108
+ if !line || line.is_a?(BBSpec)
108
109
  next
109
110
  end
110
111
 
111
- if !line.is_comment && line.key.include?(".resource_bundle")
112
- origin_resource_bundle = eval(line.value)
113
- merged_resource_bundle = origin_resource_bundle.merge(privacy_resource_bundle)
112
+ is_resource_bundle_line = line.key && line.key.include?(".resource_bundle")
113
+ if !line.is_comment && (is_resource_bundle_line || line_incomplete)
114
+ begin
115
+ if line_incomplete
116
+ code = "#{line_incomplete.value}#{line.content}"
117
+ else
118
+ code = "#{line.value}"
119
+ end
120
+
121
+ # 清除 content 和 value, 后面会把所有的resource_bundle 组装起来,多余的内容要清除,避免重复
122
+ line.content = ''
123
+ line.value = nil
124
+
125
+ RubyVM::InstructionSequence.compile(code)
126
+ origin_resource_bundle = eval(code)
127
+ rescue SyntaxError, StandardError => e
128
+ unless line_incomplete
129
+ line_incomplete = line
130
+ end
131
+ line_incomplete.value = code if line_incomplete #存储当前残缺的value,和后面完整的进行拼接
132
+ next
133
+ end
134
+
135
+ final_line = (line_incomplete ? line_incomplete : line)
114
136
 
137
+ merged_resource_bundle = origin_resource_bundle.merge(privacy_resource_bundle)
115
138
  @resource_bundle = merged_resource_bundle
116
- line.value = merged_resource_bundle
117
- line.content = "#{line.key}= #{line.value}"
139
+ final_line.value = merged_resource_bundle
140
+ final_line.content = "#{final_line.key}= #{final_line.value}"
141
+ break
118
142
  end
119
143
  end
120
144
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-privacy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - youhui