cocoapods-cafswitcher 0.0.23 → 0.0.24

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: d2b650e49c2c0a6f19a7f0aa37fa64c9b64c09f0359ee306dfcc8a659c1725bc
4
- data.tar.gz: 0c9dfea436263167b1f129ac65490967800cc670a838267cb32456d40f06ccab
3
+ metadata.gz: 9b914e51d70ab8f4c673a9bc4265217530e571af68a11618788609f6b4293bdf
4
+ data.tar.gz: d167d17a0c93504b734398163946cb32ad401724b29918e3dedeb2fc375ea01f
5
5
  SHA512:
6
- metadata.gz: 7676648a65cabf108a3f69013afcfe0ae95d6a1db77d012d589609d1d9d9cf28d270dddf5ff1b20f4343bf5f24a164976a1278ad4ae25406fb7a86bcb70efdef
7
- data.tar.gz: 2e3b89f31b5d7012a7d9d68d4de22b08a4d344702cc96e7e916048bd5422d042e04aa6ced600eb1a4ff31c831d48d6709dbd4d350f85c892773ce8624cf4d74b
6
+ metadata.gz: 9b5b2afac7a88114d1a19bd9dc566abd14716e140726b915acda1992511b49e7036b32152d66f9681840701965a8eccbe9456895581ad01fd432bb696a035728
7
+ data.tar.gz: f933357fd7bc46b6f42d7a4a79b9b41d3e64ff1350606d4b0e1bad56eacec27aa610a10229141996db3c37c73c4cd123a4d14cf6b3e89620247711cacd12fdac
@@ -120,6 +120,7 @@ Pod::HooksManager.register('cocoapods-cafswitcher', :pre_install) do |installer_
120
120
  Pod::Podfile.frameworkList.clear()
121
121
  Pod::Podfile.debugPackageList.clear()
122
122
  Pod::Podfile.releasePackageList.clear()
123
+ Pod::Podfile.unspecifiedList.clear()
123
124
 
124
125
  Pod::Podfile.sourceList.concat(sourceList)
125
126
  Pod::Podfile.frameworkList.concat(frameworkList)
@@ -198,32 +199,33 @@ Pod::HooksManager.register('cocoapods-cafswitcher', :pre_install) do |installer_
198
199
  changedPods.uniq!
199
200
  Pod::UI.puts "\nchanged Pod is:\n " + changedPods.to_s + "\n" unless changedPods.empty?
200
201
 
201
- clean(changedSubPods)
202
+ gitPathList.each do |gitPathSubPod|
203
+ changedSubPods << gitPathSubPod
204
+ end
205
+ changedSubPods.uniq!
206
+
207
+ cleanPodsDir(changedSubPods)
208
+ # cleanCocoapodsCache(gitPathList)
202
209
 
203
210
  # 把新的配置写入file
204
211
  File.open(configFile, 'wb') {|f| YAML.dump(caf_hash, f) } unless changedSubPods.empty?
205
212
  end
206
213
 
207
-
208
- def clean(changedSubPods)
209
- config = Pod::Config.instance
210
- @cache = Pod::Downloader::Cache.new(Pod::Config.instance.cache_root + 'Pods')
211
- # 根据不同删除cache
212
- podRoot = config.project_pods_root
213
- changedSubPods.each do |changedSubPod|
214
- changedPod = changedSubPod.split('/')[0]
215
-
216
- # 清除本地的localFile 的JSON
217
- localspecPath = podRoot + "Local Podspecs/" + "#{changedPod}.podspec.json"
218
- if localspecPath.exist?
219
- Pod::UI.message "Removing local Podspecs.json #{localspecPath}"
220
- FileUtils.rm_r(localspecPath)
221
- end
214
+ def cleanCocoapodsCache(gitPathList)
215
+ cachePath = Pod::Config.instance.cache_root + 'Pods'
216
+ @cache = Pod::Downloader::Cache.new(cachePath)
217
+ gitPathList.each do |gitPathSubPod|
218
+ gitPathPod = gitPathSubPod.split('/')[0]
219
+ cache_descriptors = @cache.cache_descriptors_per_pod[gitPathPod]
222
220
  # 清空缓存,因为缓存里有podspec.json
223
- cache_descriptors = @cache.cache_descriptors_per_pod[changedPod]
224
221
  if cache_descriptors
225
222
  # TODO 检查changedSubPod
226
223
  cache_descriptors.each do |desc|
224
+ specs_dir = cachePath + 'Specs'
225
+ release_specs_dir = specs_dir + 'Release'
226
+ if desc[:spec_file].include?(release_specs_dir)
227
+ continue
228
+ end
227
229
  Pod::UI.message("Removing spec #{desc[:spec_file]} (v#{desc[:version]})") do
228
230
  FileUtils.rm desc[:spec_file]
229
231
  end
@@ -232,6 +234,22 @@ def clean(changedSubPods)
232
234
  # end
233
235
  end
234
236
  end
237
+ end
238
+
239
+ end
240
+
241
+ def cleanPodsDir(changedSubPods)
242
+ config = Pod::Config.instance
243
+ # 根据不同删除cache
244
+ podRoot = config.project_pods_root
245
+ changedSubPods.each do |changedSubPod|
246
+ changedPod = changedSubPod.split('/')[0]
247
+ # 清除本地的localFile 的JSON
248
+ localspecPath = podRoot + "Local Podspecs/" + "#{changedPod}.podspec.json"
249
+ if localspecPath.exist?
250
+ Pod::UI.message "Removing local Podspecs.json #{localspecPath}"
251
+ FileUtils.rm_r(localspecPath)
252
+ end
235
253
  # next unless changedSubPod =~ /^(?i)LJ/ || changedSubPod =~ /^(?i)Lianjia/ || changedSubPod.include?('/')
236
254
  # 清除目录 pods 文件夹下的缓存
237
255
  changedPodPath = podRoot + changedPod
@@ -1,3 +1,3 @@
1
1
  module CocoapodsCafswitcher
2
- VERSION = "0.0.23"
2
+ VERSION = "0.0.24"
3
3
  end
@@ -90,9 +90,12 @@ module Pod
90
90
 
91
91
  def parse_source_framework_key(name, requirements)
92
92
  options = requirements.last
93
- return requirements unless options.is_a?(Hash)
94
- isFramework = options.delete(Pod::Podfile.isFramework)
95
- isSource = options.delete(Pod::Podfile.isSource)
93
+ if not options.is_a?(Hash)
94
+ Pod::Podfile.unspecifiedList << name
95
+ return requirements
96
+ end
97
+ isFramework = options.key?(Pod::Podfile.isFramework)
98
+ isSource = options.key?(Pod::Podfile.isSource)
96
99
  if isSource or (isSource and isFramework)
97
100
  Pod::Podfile.sourceList << name
98
101
  elsif isFramework
@@ -105,10 +108,12 @@ module Pod
105
108
 
106
109
  def parse_debug_release_package(name, requirements)
107
110
  options = requirements.last
108
- return requirements unless options.is_a?(Hash)
109
-
110
- isDebugPackage = options.delete(Pod::Podfile.isDebugPackage)
111
- isReleasePackage = options.delete(Pod::Podfile.isReleasePackage)
111
+ if not options.is_a?(Hash)
112
+ Pod::Podfile.debugPackageList << name
113
+ return requirements
114
+ end
115
+ isDebugPackage = options.key?(Pod::Podfile.isDebugPackage)
116
+ isReleasePackage = options.key?(Pod::Podfile.isReleasePackage)
112
117
  if (isDebugPackage and isReleasePackage) or isReleasePackage
113
118
  Pod::Podfile.releasePackageList << name
114
119
  else
@@ -142,41 +147,40 @@ module Pod
142
147
  old_method.bind(self).call(name, requirements)
143
148
  end
144
149
 
145
- # def deep_copy(o)
146
- # Marshal.load(Marshal.dump(o))
147
- # end
148
-
149
- # def clean(name, requirements)
150
- # tmp_hash = deep_copy(requirements)
151
- # options = tmp_hash.last
152
- # return tmp_hash unless options.is_a?(Hash)
153
- #
154
- # isFramework = options.delete(Pod::Podfile.isFramework)
155
- # isSource = options.delete(Pod::Podfile.isSource)
156
- # isArchive = options.delete(Pod::Podfile.isArchive)
157
- # # isDebugPackage = options.delete(Pod::Podfile.isDebugPackage)
158
- # # isReleasePackage = options.delete(Pod::Podfile.isReleasePackage)
159
- # tmp_hash.pop if options.empty?
160
- # tmp_hash
161
- # end
162
-
163
- #
164
- # define_method(:store_pod) do |name, *requirements|
165
- # return if parse_subspecs(name, requirements) # This parse method must be called first
166
- # parse_inhibit_warnings(name, requirements)
167
- # parse_configuration_whitelist(name, requirements)
168
- #
169
- # # 去掉添加的字段
170
- # tmp_hash = clean(name, requirements)
171
- # pod = if tmp_hash && !tmp_hash.empty?
172
- # { name => tmp_hash }
173
- # else
174
- # name
175
- # end
176
- #
177
- # get_hash_value('dependencies', []) << pod
178
- # nil
179
- # end
150
+ def deep_copy(o)
151
+ Marshal.load(Marshal.dump(o))
152
+ end
153
+
154
+ def clean(name, requirements)
155
+ tmp_hash = deep_copy(requirements)
156
+ options = tmp_hash.last
157
+ return tmp_hash unless options.is_a?(Hash)
158
+
159
+ isFramework = options.delete(Pod::Podfile.isFramework)
160
+ isSource = options.delete(Pod::Podfile.isSource)
161
+ isDebugPackage = options.delete(Pod::Podfile.isDebugPackage)
162
+ isReleasePackage = options.delete(Pod::Podfile.isReleasePackage)
163
+ tmp_hash.pop if options.empty?
164
+ tmp_hash
165
+ end
166
+
167
+
168
+ define_method(:store_pod) do |name, *requirements|
169
+ return if parse_subspecs(name, requirements) # This parse method must be called first
170
+ parse_inhibit_warnings(name, requirements)
171
+ parse_configuration_whitelist(name, requirements)
172
+
173
+ # 去掉添加的字段
174
+ tmp_hash = clean(name, requirements)
175
+ pod = if tmp_hash && !tmp_hash.empty?
176
+ { name => tmp_hash }
177
+ else
178
+ name
179
+ end
180
+
181
+ get_hash_value('dependencies', []) << pod
182
+ nil
183
+ end
180
184
 
181
185
  end
182
186
  end
@@ -239,18 +243,19 @@ module Pod
239
243
  end
240
244
  end
241
245
 
242
- framework_dependence_note.each do |note|
246
+ framework_dependence_note.uniq.each do |note|
243
247
  need_reload = true
244
248
  cleanENV note
245
249
  setEnv note, '_FRAMEWORK'
246
250
  end
247
251
 
248
- source_dependence_note.each do |note|
252
+ source_dependence_note.uniq.each do |note|
249
253
  need_reload = true
250
254
  cleanENV note
251
255
  setEnv note, '_SOURCE'
252
256
  end
253
257
 
258
+
254
259
  end
255
260
  if need_reload
256
261
  spec = old_specification_from_file.call(path, subspec_name)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-cafswitcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.23
4
+ version: 0.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - handa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-03 00:00:00.000000000 Z
11
+ date: 2019-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler