cocoapods 1.15.1 → 1.15.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/cocoapods/downloader/cache.rb +13 -72
- data/lib/cocoapods/downloader.rb +1 -1
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +3 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 221a0b485c1096a87cc3a7c4e45b7cc02afefa6a90a10619040419563b97c6c5
|
4
|
+
data.tar.gz: aa9eb163a2f491b051543986def45a710f554542aa358d33e364e2a3af6fcf0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 699ac15dbe7aab4ab3642e31d667330c66d9fbe065b27c01c2f8887fd7bf53f44a9a317bfe6f5de48ba4be3d3d8c94c5c90b826edf361fdc4ad7e8e91d8f44fb
|
7
|
+
data.tar.gz: b21ecd7b90d83e2d9938c316ca7738b13d18a53e06d996c67d3e75311c98447627d9c7a3d19af924ca06d5e485a2f28ca18d2c81357e31b865fa475e30ce0182
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,18 @@ To install or update CocoaPods see this [guide](https://guides.cocoapods.org/usi
|
|
4
4
|
|
5
5
|
To install release candidates run `[sudo] gem install cocoapods --pre`
|
6
6
|
|
7
|
+
## 1.15.2 (2024-02-06)
|
8
|
+
|
9
|
+
##### Enhancements
|
10
|
+
|
11
|
+
* None.
|
12
|
+
|
13
|
+
##### Bug Fixes
|
14
|
+
|
15
|
+
* Revert #12154, #12165, and #12158 to fix regressions in 1.15.0 and 1.15.1.
|
16
|
+
[Paul Beusterien](https://github.com/paulb777)
|
17
|
+
[#12226](https://github.com/CocoaPods/CocoaPods/issues/12226)
|
18
|
+
|
7
19
|
## 1.15.1 (2024-02-06)
|
8
20
|
|
9
21
|
##### Enhancements
|
@@ -235,38 +235,13 @@ module Pod
|
|
235
235
|
# was not found in the download cache.
|
236
236
|
#
|
237
237
|
def uncached_pod(request)
|
238
|
-
in_tmpdir do |
|
239
|
-
result, podspecs = download(request,
|
238
|
+
in_tmpdir do |target|
|
239
|
+
result, podspecs = download(request, target)
|
240
240
|
result.location = nil
|
241
241
|
|
242
|
-
|
243
|
-
no_prep_cmd_specs, prep_cmd_specs = podspecs.partition { |_, spec| spec.prepare_command.nil? }.map(&:to_h)
|
244
|
-
|
245
|
-
# Pods with a prepare command currently copy the entire repo, run the prepare command against the whole
|
246
|
-
# repo and then clean it up. We configure those first to ensure the repo is pristine.
|
247
|
-
prep_cmd_specs.each do |name, spec|
|
242
|
+
podspecs.each do |name, spec|
|
248
243
|
destination = path_for_pod(request, :name => name, :params => result.checkout_options)
|
249
|
-
|
250
|
-
write_spec(spec, path_for_spec(request, :name => name, :params => result.checkout_options))
|
251
|
-
if request.name == name
|
252
|
-
result.location = destination
|
253
|
-
end
|
254
|
-
end
|
255
|
-
|
256
|
-
specs_by_platform = group_subspecs_by_platform(no_prep_cmd_specs.values)
|
257
|
-
|
258
|
-
# Remaining pods without a prepare command can be optimized by cleaning the repo first
|
259
|
-
# and then copying only the files needed.
|
260
|
-
pod_dir_cleaner = Sandbox::PodDirCleaner.new(tmp_dir, specs_by_platform)
|
261
|
-
Cache.write_lock(tmp_dir) do
|
262
|
-
pod_dir_cleaner.clean!
|
263
|
-
end
|
264
|
-
|
265
|
-
no_prep_cmd_specs.each do |name, spec|
|
266
|
-
destination = path_for_pod(request, :name => name, :params => result.checkout_options)
|
267
|
-
file_accessors = pod_dir_cleaner.file_accessors.select { |fa| fa.spec.root.name == spec.name }
|
268
|
-
files = Pod::Sandbox::FileAccessor.all_files(file_accessors).map(&:to_s)
|
269
|
-
copy_files(files, tmp_dir, destination)
|
244
|
+
copy_and_clean(target, destination, spec)
|
270
245
|
write_spec(spec, path_for_spec(request, :name => name, :params => result.checkout_options))
|
271
246
|
if request.name == name
|
272
247
|
result.location = destination
|
@@ -304,57 +279,23 @@ module Pod
|
|
304
279
|
#
|
305
280
|
# @return [Void]
|
306
281
|
#
|
307
|
-
def
|
308
|
-
specs_by_platform = group_subspecs_by_platform(
|
282
|
+
def copy_and_clean(source, destination, spec)
|
283
|
+
specs_by_platform = group_subspecs_by_platform(spec)
|
309
284
|
destination.parent.mkpath
|
310
285
|
Cache.write_lock(destination) do
|
311
|
-
|
286
|
+
FileUtils.rm_rf(destination)
|
287
|
+
FileUtils.cp_r(source, destination)
|
312
288
|
Pod::Installer::PodSourcePreparer.new(spec, destination).prepare!
|
313
289
|
Sandbox::PodDirCleaner.new(destination, specs_by_platform).clean!
|
314
290
|
end
|
315
291
|
end
|
316
292
|
|
317
|
-
|
318
|
-
# `destination` directory of any files unused by `spec`. This is a faster version used when
|
319
|
-
# installing pods without a prepare command which has already happened prior.
|
320
|
-
#
|
321
|
-
# @param [Array<Pathname>] files
|
322
|
-
#
|
323
|
-
# @param [Pathname] source
|
324
|
-
#
|
325
|
-
# @param [Pathname] destination
|
326
|
-
#
|
327
|
-
# @return [Void]
|
328
|
-
#
|
329
|
-
def copy_files(files, source, destination)
|
330
|
-
files = files.
|
331
|
-
map { |f| Pathname(f) }.
|
332
|
-
select { |p| p.exist? && p.file? }
|
333
|
-
destination.parent.mkpath
|
334
|
-
Cache.write_lock(destination) do
|
335
|
-
FileUtils.rm_rf(destination)
|
336
|
-
destination.mkpath
|
337
|
-
files_by_dir = files.group_by do |file|
|
338
|
-
relative_path = file.relative_path_from(source)
|
339
|
-
destination_path = File.join(destination, relative_path)
|
340
|
-
File.dirname(destination_path)
|
341
|
-
end
|
342
|
-
|
343
|
-
files_by_dir.each do |dir, files_to_copy|
|
344
|
-
FileUtils.mkdir_p(dir)
|
345
|
-
FileUtils.cp_r(files_to_copy, dir)
|
346
|
-
end
|
347
|
-
end
|
348
|
-
end
|
349
|
-
|
350
|
-
def group_subspecs_by_platform(specs)
|
293
|
+
def group_subspecs_by_platform(spec)
|
351
294
|
specs_by_platform = {}
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
specs_by_platform[platform] << ss
|
357
|
-
end
|
295
|
+
[spec, *spec.recursive_subspecs].each do |ss|
|
296
|
+
ss.available_platforms.each do |platform|
|
297
|
+
specs_by_platform[platform] ||= []
|
298
|
+
specs_by_platform[platform] << ss
|
358
299
|
end
|
359
300
|
end
|
360
301
|
specs_by_platform
|
data/lib/cocoapods/downloader.rb
CHANGED
@@ -51,7 +51,7 @@ module Pod
|
|
51
51
|
if target && result.location && target != result.location
|
52
52
|
UI.message "Copying #{request.name} from `#{result.location}` to #{UI.path target}", '> ' do
|
53
53
|
Cache.read_lock(result.location) do
|
54
|
-
FileUtils.rm_rf
|
54
|
+
FileUtils.rm_rf target
|
55
55
|
FileUtils.cp_r(result.location, target)
|
56
56
|
end
|
57
57
|
end
|
@@ -15,9 +15,11 @@ module Pod
|
|
15
15
|
# @return [void]
|
16
16
|
#
|
17
17
|
def clean!
|
18
|
-
FileUtils.rm_rf(
|
18
|
+
clean_paths.each { |path| FileUtils.rm_rf(path) } if root.exist?
|
19
19
|
end
|
20
20
|
|
21
|
+
private
|
22
|
+
|
21
23
|
# @return [Array<Sandbox::FileAccessor>] the file accessors for all the
|
22
24
|
# specifications on their respective platform.
|
23
25
|
#
|
@@ -27,8 +29,6 @@ module Pod
|
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
30
|
-
private
|
31
|
-
|
32
32
|
# @return [Sandbox::PathList] The path list for this Pod.
|
33
33
|
#
|
34
34
|
def path_list
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.15.
|
4
|
+
version: 1.15.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2024-02-
|
14
|
+
date: 2024-02-06 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: cocoapods-core
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.15.
|
22
|
+
version: 1.15.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.15.
|
29
|
+
version: 1.15.2
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: claide
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|