cocoapods 1.15.0 → 1.15.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 +4 -4
- data/CHANGELOG.md +25 -0
- data/lib/cocoapods/downloader/cache.rb +13 -70
- 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,31 @@ 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
|
+
|
19
|
+
## 1.15.1 (2024-02-06)
|
20
|
+
|
21
|
+
##### Enhancements
|
22
|
+
|
23
|
+
* None.
|
24
|
+
|
25
|
+
##### Bug Fixes
|
26
|
+
|
27
|
+
* Fix an issue when caching downloads of certain Pods.
|
28
|
+
[Eric Amorde](https://github.com/amorde)
|
29
|
+
[#12226](https://github.com/CocoaPods/CocoaPods/issues/12226)
|
30
|
+
|
31
|
+
|
7
32
|
## 1.15.0 (2024-01-28)
|
8
33
|
|
9
34
|
##### 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,55 +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.select { |f| File.exist?(f) }
|
331
|
-
destination.parent.mkpath
|
332
|
-
Cache.write_lock(destination) do
|
333
|
-
FileUtils.rm_rf(destination)
|
334
|
-
destination.mkpath
|
335
|
-
files_by_dir = files.group_by do |file|
|
336
|
-
relative_path = Pathname(file).relative_path_from(Pathname(source)).to_s
|
337
|
-
destination_path = File.join(destination, relative_path)
|
338
|
-
File.dirname(destination_path)
|
339
|
-
end
|
340
|
-
|
341
|
-
files_by_dir.each do |dir, files_to_copy|
|
342
|
-
FileUtils.mkdir_p(dir)
|
343
|
-
FileUtils.cp_r(files_to_copy, dir)
|
344
|
-
end
|
345
|
-
end
|
346
|
-
end
|
347
|
-
|
348
|
-
def group_subspecs_by_platform(specs)
|
293
|
+
def group_subspecs_by_platform(spec)
|
349
294
|
specs_by_platform = {}
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
specs_by_platform[platform] << ss
|
355
|
-
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
|
356
299
|
end
|
357
300
|
end
|
358
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-
|
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
|