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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e3dfaffc21d7b35657891ab5aa80c7ca89e1ebb09b551812262036d6969c4a0
4
- data.tar.gz: ba969734f50b628ba4905eb8835288731cd6d8a5558534199e7d6d2418a5eebb
3
+ metadata.gz: 221a0b485c1096a87cc3a7c4e45b7cc02afefa6a90a10619040419563b97c6c5
4
+ data.tar.gz: aa9eb163a2f491b051543986def45a710f554542aa358d33e364e2a3af6fcf0f
5
5
  SHA512:
6
- metadata.gz: 33a8b9e9815c9210a2e57eb19cb782aef7d4319e20a0fe0f3f69b697adb81cec51502f98b70aed3ae7eb2220d75a85eb15db0d1bd8828e9c4ba7e2d0452a10c1
7
- data.tar.gz: 757db13273be7d182ad1e44e478c19386cc6c7b83ad0fcb04b76889a5761fd0709069359bceacddc9d8dde00942a6432257f311586e1c6cf0f394347e2544376
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 |tmp_dir|
239
- result, podspecs = download(request, tmp_dir)
238
+ in_tmpdir do |target|
239
+ result, podspecs = download(request, target)
240
240
  result.location = nil
241
241
 
242
- # Split by pods that require a prepare command or not to speed up installation.
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
- copy_source_and_clean(tmp_dir, destination, spec)
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 copy_source_and_clean(source, destination, spec)
308
- specs_by_platform = group_subspecs_by_platform([spec])
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
- Pod::Executable.execute_command('rsync', ['-a', '--exclude=.git/fsmonitor--daemon.ipc', '--delete', "#{source}/", destination])
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
- # Copies the `files` from the `source` directory to `destination` _without_ cleaning the
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
- specs.each do |spec|
351
- [spec, *spec.recursive_subspecs].each do |ss|
352
- ss.available_platforms.each do |platform|
353
- specs_by_platform[platform] ||= []
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
@@ -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(target)
54
+ FileUtils.rm_rf target
55
55
  FileUtils.cp_r(result.location, target)
56
56
  end
57
57
  end
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  # The version of the CocoaPods command line tool.
3
3
  #
4
- VERSION = '1.15.0'.freeze unless defined? Pod::VERSION
4
+ VERSION = '1.15.2'.freeze unless defined? Pod::VERSION
5
5
  end
@@ -15,9 +15,11 @@ module Pod
15
15
  # @return [void]
16
16
  #
17
17
  def clean!
18
- FileUtils.rm_rf(clean_paths) if root.exist?
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.0
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-01-28 00:00:00.000000000 Z
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.0
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.0
29
+ version: 1.15.2
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement