cocoapods 0.39.0.beta.3 → 0.39.0.beta.4

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
  SHA1:
3
- metadata.gz: 28a708764d6c5f315e9c453f8386d109dec54ee4
4
- data.tar.gz: 1936127f87ea08571188fef241c7731bf7e4702b
3
+ metadata.gz: b37d2db8457fdd54c70e37273ccf0cd2f2f4848a
4
+ data.tar.gz: 9a545fa271be99539ae2a47aca529a550b4627d1
5
5
  SHA512:
6
- metadata.gz: 9be3b9920cb0fcffbe85a58e589ea8ea39f584c77f48bf4bbf45ba4781b663e1d121332ac9891eaf1d36ba3cb029e1ce5bd359260e5292bb1bd16e2961361eb5
7
- data.tar.gz: 19fa3a906892b62bcc3ea12b92f7bd578b448f8a2b69ff4e3bc6acb6fd16f8b29bd6b0da8a93c1f4ac83d1f42ddf91f483b956d32612dbc235a88d58a886acda
6
+ metadata.gz: 1c2e3a8e261f3d6c0cd0ba5987de648703168b67021a9a6ae75dc6e5364c6d0929d91fcad2defd9aced52088e5bc948e4b3fd633c3bf8bfd981be3bcef482b7c
7
+ data.tar.gz: edec194b42c0a81e7fa1b8af59c3c6d8508ee95cf1641d41261a1d17bf6c224f329e311051f431a02030bc4a1a8d6c64ea21e74a4a0b49dabfad40b7b5633fc7
@@ -4,6 +4,30 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
4
4
 
5
5
  To install release candidates run `[sudo] gem install cocoapods --pre`
6
6
 
7
+ ## 0.39.0.beta.4 (2015-09-02)
8
+
9
+ ##### Bug Fixes
10
+
11
+ * Using vendored frameworks without a `Headers` directory will no longer cause a
12
+ crash.
13
+ [Samuel Giddins](https://github.com/segiddins)
14
+ [#3967](https://github.com/CocoaPods/CocoaPods/issues/3967)
15
+
16
+ * Computing the set of transitive dependencies for a pod target,
17
+ even if the target is scoped, will no longer smash the stack.
18
+ [Samuel Giddins](https://github.com/segiddins)
19
+ [#4092](https://github.com/CocoaPods/CocoaPods/issues/4092)
20
+
21
+ * Take into account a specification's `exclude_files` when constructing resource
22
+ bundles.
23
+ [Samuel Giddins](https://github.com/segiddins)
24
+ [#4065](https://github.com/CocoaPods/CocoaPods/issues/4065)
25
+
26
+ * Fix resolving to platform-compatible versions of transitive dependencies.
27
+ [Samuel Giddins](https://github.com/segiddins)
28
+ [#4084](https://github.com/CocoaPods/CocoaPods/issues/4084)
29
+
30
+
7
31
  ## 0.39.0.beta.3 (2015-08-28)
8
32
 
9
33
  ##### Bug Fixes
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  # The version of the cocoapods command line tool.
3
3
  #
4
- VERSION = '0.39.0.beta.3' unless defined? Pod::VERSION
4
+ VERSION = '0.39.0.beta.4' unless defined? Pod::VERSION
5
5
  end
@@ -680,7 +680,9 @@ module Pod
680
680
  pods_project.development_pods.remove_from_project if pods_project.development_pods.empty?
681
681
  pods_project.sort(:groups_position => :below)
682
682
  pods_project.recreate_user_schemes(false)
683
- pods_project.predictabilize_uuids if config.deterministic_uuids?
683
+ if config.deterministic_uuids?
684
+ UI.message('- Generating deterministic UUIDs') { pods_project.predictabilize_uuids }
685
+ end
684
686
  pods_project.save
685
687
  end
686
688
  end
@@ -314,12 +314,15 @@ module Pod
314
314
  end
315
315
  end
316
316
  else
317
- specs_by_target.flat_map do |target_definition, specs|
317
+ pod_targets = specs_by_target.flat_map do |target_definition, specs|
318
318
  grouped_specs = specs.group_by.group_by(&:root).values.uniq
319
319
  grouped_specs.flat_map do |pod_specs|
320
320
  generate_pod_target([target_definition], pod_specs, :scoped => true)
321
321
  end
322
322
  end
323
+ pod_targets.each do |target|
324
+ target.dependent_targets = transitive_dependencies_for_pod_target(target, pod_targets)
325
+ end
323
326
  end
324
327
  end
325
328
 
@@ -340,12 +343,14 @@ module Pod
340
343
  def transitive_dependencies_for_pod_target(pod_target, targets)
341
344
  if targets.any?
342
345
  dependent_targets = pod_target.dependencies.flat_map do |dep|
346
+ next [] if pod_target.pod_name == dep
343
347
  targets.select { |t| t.pod_name == dep }
344
348
  end
345
349
  remaining_targets = targets - dependent_targets
346
- dependent_targets + dependent_targets.flat_map do |target|
350
+ dependent_targets += dependent_targets.flat_map do |target|
347
351
  transitive_dependencies_for_pod_target(target, remaining_targets)
348
352
  end
353
+ dependent_targets.uniq
349
354
  else
350
355
  []
351
356
  end
@@ -532,7 +537,7 @@ module Pod
532
537
  end
533
538
 
534
539
  specs_by_target = nil
535
- UI.section "Resolving dependencies of #{UI.path podfile.defined_in_file}" do
540
+ UI.section "Resolving dependencies of #{UI.path(podfile.defined_in_file) || 'Podfile'}" do
536
541
  resolver = Resolver.new(sandbox, podfile, locked_dependencies, sources)
537
542
  specs_by_target = resolver.resolve
538
543
  specs_by_target.values.flatten(1).each(&:validate_cocoapods_version)
@@ -89,15 +89,13 @@ module Pod
89
89
  header_file_refs = headers.map { |sf| project.reference_for_path(sf) }
90
90
  native_target.add_file_references(header_file_refs) do |build_file|
91
91
  # Set added headers as public if needed
92
- if target.requires_frameworks?
93
- build_file.settings ||= {}
94
- if public_headers.include?(build_file.file_ref.real_path)
95
- build_file.settings['ATTRIBUTES'] = ['Public']
96
- elsif private_headers.include?(build_file.file_ref.real_path)
97
- build_file.settings['ATTRIBUTES'] = ['Private']
98
- else
99
- build_file.settings['ATTRIBUTES'] = ['Project']
100
- end
92
+ build_file.settings ||= {}
93
+ if public_headers.include?(build_file.file_ref.real_path)
94
+ build_file.settings['ATTRIBUTES'] = ['Public']
95
+ elsif private_headers.include?(build_file.file_ref.real_path)
96
+ build_file.settings['ATTRIBUTES'] = ['Private']
97
+ else
98
+ build_file.settings['ATTRIBUTES'] = ['Project']
101
99
  end
102
100
  end
103
101
 
@@ -38,6 +38,7 @@ module Pod
38
38
  @locked_dependencies = locked_dependencies
39
39
  @sources = Array(sources)
40
40
  @platforms_by_dependency = Hash.new { |h, k| h[k] = [] }
41
+ @cached_sets = {}
41
42
  end
42
43
 
43
44
  #-------------------------------------------------------------------------#
@@ -58,7 +59,6 @@ module Pod
58
59
  @platforms_by_dependency[dep].push(target.platform).uniq!
59
60
  end
60
61
  end
61
- @cached_sets = {}
62
62
  @activated = Molinillo::Resolver.new(self, self).resolve(dependencies, locked_dependencies)
63
63
  specs_by_target.tap do |specs_by_target|
64
64
  specs_by_target.values.flatten.each do |spec|
@@ -409,10 +409,10 @@ module Pod
409
409
  def spec_is_platform_compatible?(dependency_graph, dependency, spec)
410
410
  all_predecessors = ->(vertex) do
411
411
  pred = vertex.predecessors
412
- pred + pred.map(&all_predecessors).reduce(Set.new, &:&) << vertex
412
+ pred + pred.map(&all_predecessors).reduce(Set.new, &:|) << vertex
413
413
  end
414
414
  vertex = dependency_graph.vertex_named(dependency.name)
415
- predecessors = all_predecessors[vertex].reject { |v| v.explicit_requirements.empty? }
415
+ predecessors = all_predecessors[vertex].reject { |v| !dependency_graph.root_vertex_named(v.name) }
416
416
  platforms_to_satisfy = predecessors.flat_map(&:explicit_requirements).flat_map { |r| @platforms_by_dependency[r] }
417
417
 
418
418
  platforms_to_satisfy.all? do |platform_to_satisfy|
@@ -174,7 +174,8 @@ module Pod
174
174
  # vendored framework.
175
175
  #
176
176
  def self.vendored_frameworks_headers_dir(framework)
177
- (framework + 'Headers').realpath
177
+ dir = framework + 'Headers'
178
+ dir.directory? ? dir.realpath : dir
178
179
  end
179
180
 
180
181
  # @param [Pathname] framework
@@ -240,7 +241,9 @@ module Pod
240
241
  def resource_bundles
241
242
  result = {}
242
243
  spec_consumer.resource_bundles.each do |name, file_patterns|
243
- paths = expanded_paths(file_patterns, :include_dirs => true)
244
+ paths = expanded_paths(file_patterns,
245
+ :exclude_patterns => spec_consumer.exclude_files,
246
+ :include_dirs => true)
244
247
  result[name] = paths
245
248
  end
246
249
  result
@@ -66,7 +66,7 @@ module Pod
66
66
  target.user_build_configurations = user_build_configurations
67
67
  target.native_target = native_target
68
68
  target.archs = archs
69
- target.dependent_targets = dependent_targets.map(&:scoped)
69
+ target.dependent_targets = dependent_targets.flat_map(&:scoped)
70
70
  end
71
71
  end
72
72
  end
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: 0.39.0.beta.3
4
+ version: 0.39.0.beta.4
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: 2015-08-27 00:00:00.000000000 Z
14
+ date: 2015-09-01 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: 0.39.0.beta.3
22
+ version: 0.39.0.beta.4
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: 0.39.0.beta.3
29
+ version: 0.39.0.beta.4
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -47,14 +47,14 @@ dependencies:
47
47
  requirements:
48
48
  - - ~>
49
49
  - !ruby/object:Gem::Version
50
- version: 0.27.1
50
+ version: 0.27.2
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - ~>
56
56
  - !ruby/object:Gem::Version
57
- version: 0.27.1
57
+ version: 0.27.2
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: cocoapods-downloader
60
60
  requirement: !ruby/object:Gem::Requirement
@@ -117,14 +117,14 @@ dependencies:
117
117
  requirements:
118
118
  - - ~>
119
119
  - !ruby/object:Gem::Version
120
- version: 0.6.3
120
+ version: 0.6.4
121
121
  type: :runtime
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - ~>
126
126
  - !ruby/object:Gem::Version
127
- version: 0.6.3
127
+ version: 0.6.4
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: molinillo
130
130
  requirement: !ruby/object:Gem::Requirement