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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7bffb073059f0b97dde0f045b3907b5c272985c51c25c3bee4356b97dd2dd0a
4
- data.tar.gz: effce424a85373cef900d6ff8d1887aa5d638a403af002a20bd464ae76b0feb3
3
+ metadata.gz: 221a0b485c1096a87cc3a7c4e45b7cc02afefa6a90a10619040419563b97c6c5
4
+ data.tar.gz: aa9eb163a2f491b051543986def45a710f554542aa358d33e364e2a3af6fcf0f
5
5
  SHA512:
6
- metadata.gz: b86867763acdaadd2183f0e8f9945bef27e78832227ee17ff5876c9f7e089882bfeee10a0b354b3c84e4c755b0836e9247b00e310f8155e045bae9bcd2d9cd95
7
- data.tar.gz: b948e71135a739f1b8b5b829ab4c3acf6f8e0079160a4fbea4cb13b0abd9d2f814f111fea264054197acd42ca8b01976ff24e39f65548573f492930ab2754a52
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 |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,57 +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.
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
- specs.each do |spec|
353
- [spec, *spec.recursive_subspecs].each do |ss|
354
- ss.available_platforms.each do |platform|
355
- specs_by_platform[platform] ||= []
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
@@ -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.1'.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.1
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-05 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.1
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.1
29
+ version: 1.15.2
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement