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

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
  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