cocoapods 0.35.0.rc1 → 0.35.0.rc2

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: 0f722fd7a025af675271c7e2e190028e95dfe302
4
- data.tar.gz: 147981dc0fd9fd643e8de728c51a046e40e8f3e8
3
+ metadata.gz: 195891db68a277163d28c78e08b75e0ddfc852bd
4
+ data.tar.gz: 8c79a991661ebff9f5b1c363e1234becd3ab78f8
5
5
  SHA512:
6
- metadata.gz: f669a688c5aecf46ffc90979c34ef0d1fbd52be0c0b474d950955b8d3aa47180d930e208ca316e30d2bde568fe68dbf470f54c6de939c4c1deac5c4be00d113c
7
- data.tar.gz: eea96ff3d30d6e05006d5fd31e7e705875b6914a541663b201b3094c333dd297f2a157f8ab853cba61b808570041e35c0ec07a3f3fac4b209559c61d0f32cd10
6
+ metadata.gz: 29c891e01ead5efc883d6521ef5ea6071d8dc5877fe2a8130f56ce7bce50e0f8d87b7cb1562508eec984457e805c36da25e32dc1eb934e35bee6b268cbb4ba02
7
+ data.tar.gz: cf21e26e241ca8060c16be2ecc74e19c6e134803b0a1b141de382f450e593a5cb60597c41fa15a9b83960734e48a9c0ff023ec2e39d36058aecceceedc5f81e9
data/CHANGELOG.md CHANGED
@@ -2,6 +2,36 @@
2
2
 
3
3
  To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides/installing_cocoapods.html).
4
4
 
5
+ To install release candidates run `[sudo] gem install cocoapods --pre`
6
+
7
+ ## 0.35.0.rc2
8
+
9
+ ##### Enhancements
10
+
11
+ * Allow the resolver to fail faster when there are unresolvable conflicts
12
+ involving the Lockfile.
13
+ [Samuel Giddins](https://github.com/segiddins)
14
+
15
+ ##### Bug Fixes
16
+
17
+ * Allows pre-release spec versions when a requirement has an external source
18
+ specified.
19
+ [Samuel Giddins](https://github.com/segiddins)
20
+ [#2768](https://github.com/CocoaPods/CocoaPods/issues/2768)
21
+
22
+ * We no longer require git version 1.7.5 or greater.
23
+ [Kyle Fuller](https://github.com/kylef)
24
+
25
+ * Fix the usage of `:head` pods.
26
+ [Samuel Giddins](https://github.com/segiddins)
27
+ [#2789](https://github.com/CocoaPods/CocoaPods/issues/2789)
28
+
29
+ * Show a more informative message when attempting to lint a spec whose
30
+ source could not be downloaded.
31
+ [Samuel Giddins](https://github.com/segiddins)
32
+ [#2667](https://github.com/CocoaPods/CocoaPods/issues/2667)
33
+ [#2759](https://github.com/CocoaPods/CocoaPods/issues/2759)
34
+
5
35
  ## 0.35.0.rc1
6
36
 
7
37
  ##### Highlighted Enhancements That Need Testing
@@ -113,8 +113,9 @@ module Pod
113
113
  ['--subspec=NAME', 'Lint validates only the given subspec'],
114
114
  ['--no-subspecs', 'Lint skips validation of subspecs'],
115
115
  ['--no-clean', 'Lint leaves the build directory intact for inspection'],
116
- ['--sources=https://github.com/artsy/Specs', 'The sources to pull dependant pods from ' \
117
- '(defaults to https://github.com/CocoaPods/Specs.git)']].concat(super)
116
+ ['--sources=https://github.com/artsy/Specs', 'The sources from which to pull dependant pods ' \
117
+ '(defaults to https://github.com/CocoaPods/Specs.git). '\
118
+ 'Multiple sources must be comma-delimited.']].concat(super)
118
119
  end
119
120
 
120
121
  def initialize(argv)
@@ -68,8 +68,9 @@ module Pod
68
68
  ['--subspec=NAME', 'Lint validates only the given subspec'],
69
69
  ['--no-subspecs', 'Lint skips validation of subspecs'],
70
70
  ['--no-clean', 'Lint leaves the build directory intact for inspection'],
71
- ['--sources=https://github.com/artsy/Specs', 'The sources to pull dependant pods from ' \
72
- '(defaults to https://github.com/CocoaPods/Specs.git)']].concat(super)
71
+ ['--sources=https://github.com/artsy/Specs', 'The sources from which to pull dependant pods ' \
72
+ '(defaults to https://github.com/CocoaPods/Specs.git). '\
73
+ 'Multiple sources must be comma-delimited.']].concat(super)
73
74
  end
74
75
 
75
76
  def initialize(argv)
@@ -41,7 +41,6 @@ module Pod
41
41
 
42
42
  def self.run(argv)
43
43
  help! 'You cannot run CocoaPods as root.' if Process.uid == 0
44
- verify_git_version!
45
44
 
46
45
  super(argv)
47
46
  UI.print_warnings
@@ -122,18 +121,5 @@ module Pod
122
121
  raise Informative, "No `Podfile.lock' found in the project directory, run `pod install'."
123
122
  end
124
123
  end
125
-
126
- def self.verify_git_version!
127
- begin
128
- git_version = `git version`.strip
129
- rescue Errno::ENOENT
130
- help! 'CocoaPods requires you to have `git` installed.'
131
- end
132
-
133
- git_version = Version.new(git_version.split[2])
134
- if git_version < Pod::Version.new('1.7.5')
135
- help! 'CocoaPods requires git version 1.7.5 or newer. Please update git.'
136
- end
137
- end
138
124
  end
139
125
  end
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  # The version of the cocoapods command line tool.
3
3
  #
4
- VERSION = '0.35.0.rc1' unless defined? Pod::VERSION
4
+ VERSION = '0.35.0.rc2' unless defined? Pod::VERSION
5
5
  end
@@ -32,7 +32,9 @@ module Pod
32
32
  add_to_dependency_graph(pod, [], dependency_graph)
33
33
  end
34
34
 
35
- pods_to_update.each { |u| dependency_graph.detach_vertex_named(u) }
35
+ pods_to_update.each do |u|
36
+ dependency_graph.detach_vertex_named(u) if dependency_graph.vertex_named(u)
37
+ end
36
38
  end
37
39
 
38
40
  dependency_graph
@@ -60,7 +60,7 @@ module Pod
60
60
  # @return [void]
61
61
  #
62
62
  def clean!
63
- clean_installation unless local?
63
+ clean_installation unless local?
64
64
  end
65
65
 
66
66
  # @return [Hash]
@@ -135,7 +135,7 @@ module Pod
135
135
  # @return [void]
136
136
  #
137
137
  def clean_installation
138
- clean_paths.each { |path| FileUtils.rm_rf(path) }
138
+ clean_paths.each { |path| FileUtils.rm_rf(path) } if root.exist?
139
139
  end
140
140
 
141
141
  #-----------------------------------------------------------------------#
@@ -23,7 +23,7 @@ module Pod
23
23
  end
24
24
 
25
25
  def specification
26
- @specification ||= source.specification(name, version)
26
+ @specification ||= source.specification(name, version.version)
27
27
  end
28
28
  end
29
29
 
@@ -50,9 +50,9 @@ module Pod
50
50
  map { |v| "- #{v}" }.join("\n")
51
51
  end
52
52
 
53
- versions_by_source.map do |source, versions|
53
+ versions_by_source.flat_map do |source, versions|
54
54
  versions.map { |version| LazySpecification.new(name, version, source) }
55
- end.flatten
55
+ end
56
56
  end
57
57
  end
58
58
  end
@@ -79,7 +79,7 @@ module Pod
79
79
  sort_by(&:name).
80
80
  each do |spec|
81
81
  validate_platform(spec, target)
82
- sandbox.store_head_pod(spec.name) if spec.version.head
82
+ sandbox.store_head_pod(spec.name) if spec.version.head?
83
83
  end
84
84
  end
85
85
  specs_by_target
@@ -104,15 +104,13 @@ module Pod
104
104
  def search_for(dependency)
105
105
  @search ||= {}
106
106
  @search[dependency] ||= begin
107
- specs = find_cached_set(dependency).
107
+ requirement = Requirement.new(dependency.requirement.as_list << requirement_for_locked_pod_named(dependency.name))
108
+ find_cached_set(dependency).
108
109
  all_specifications.
109
- select { |s| dependency.requirement.satisfied_by? s.version }.
110
+ select { |s| requirement.satisfied_by? s.version }.
110
111
  map { |s| s.subspec_by_name(dependency.name, false) }.
111
- compact
112
-
113
- specs.
114
- reverse.
115
- each { |s| s.version.head = dependency.head? }
112
+ compact.
113
+ reverse
116
114
  end
117
115
  @search[dependency].dup
118
116
  end
@@ -181,7 +179,10 @@ module Pod
181
179
  else
182
180
  requirement.requirement.satisfied_by? spec.version
183
181
  end
184
- requirement_satisfied && !(spec.version.prerelease? && existing_vertices.flat_map(&:requirements).none?(&:prerelease?))
182
+ requirement_satisfied && !(
183
+ spec.version.prerelease? &&
184
+ existing_vertices.flat_map(&:requirements).none? { |r| r.prerelease? || r.external_source }
185
+ )
185
186
  end
186
187
 
187
188
  # Sort dependencies so that the ones that are easiest to resolve are first.
@@ -302,6 +303,9 @@ module Pod
302
303
  else
303
304
  set = create_set_from_sources(dependency)
304
305
  end
306
+ if dependency.head?
307
+ set = Specification::Set::Head.new(set.specification)
308
+ end
305
309
  cached_sets[name] = set
306
310
  unless set
307
311
  raise Molinillo::NoSuchDependencyError.new(dependency) # rubocop:disable Style/RaiseArgs
@@ -310,6 +314,18 @@ module Pod
310
314
  cached_sets[name]
311
315
  end
312
316
 
317
+ # @return [Requirement, Nil]
318
+ # The {Requirement} that locks the dependency with name `name` in
319
+ # {#locked_dependencies}.
320
+ #
321
+ def requirement_for_locked_pod_named(name)
322
+ if vertex = locked_dependencies.vertex_named(name)
323
+ if dependency = vertex.payload
324
+ dependency.requirement
325
+ end
326
+ end
327
+ end
328
+
313
329
  # @return [Set] Creates a set for the Pod of the given dependency from the
314
330
  # sources. The set will contain all versions from all sources that
315
331
  # include the Pod.
@@ -345,8 +361,8 @@ module Pod
345
361
  end
346
362
 
347
363
  # Returns the target-appropriate nodes that are `successors` of `node`,
348
- # rejecting those that are {Dependency#from_subspec_dependency?} and have
349
- # and incompatible platform.
364
+ # rejecting those that are scoped by target platform and have incompatible
365
+ # targets.
350
366
  #
351
367
  # @return [Array<Molinillo::DependencyGraph::Vertex>]
352
368
  # An array of target-appropriate nodes whose `payload`s are
@@ -363,17 +379,13 @@ module Pod
363
379
  # Whether the given `edge` should be followed to find dependencies for the
364
380
  # given `target`.
365
381
  #
366
- # @note At the moment, this method only checks whether the edge's
367
- # requirements are normal dependencies _or_ whether they are
368
- # dependencies that come from {Specification#subspec_dependencies}
369
- # and, if so, that their platforms are compatible with the target's.
370
- #
371
382
  # @return [Bool]
372
383
  #
373
384
  def edge_is_valid_for_target?(edge, target)
385
+ dependencies_for_target_platform =
386
+ edge.origin.payload.all_dependencies(target.platform).map(&:name)
374
387
  edge.requirements.any? do |dependency|
375
- !dependency.from_subspec_dependency? ||
376
- edge.destination.payload.available_platforms.any? { |p| target.platform.supports?(p) }
388
+ dependencies_for_target_platform.include?(dependency.name)
377
389
  end
378
390
  end
379
391
  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.35.0.rc1
4
+ version: 0.35.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-02 00:00:00.000000000 Z
12
+ date: 2014-11-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cocoapods-core
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 0.35.0.rc1
20
+ version: 0.35.0.rc2
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 0.35.0.rc1
27
+ version: 0.35.0.rc2
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: claide
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -101,28 +101,28 @@ dependencies:
101
101
  requirements:
102
102
  - - ~>
103
103
  - !ruby/object:Gem::Version
104
- version: 0.3.1
104
+ version: 0.4.0
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - ~>
110
110
  - !ruby/object:Gem::Version
111
- version: 0.3.1
111
+ version: 0.4.0
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: molinillo
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ~>
117
117
  - !ruby/object:Gem::Version
118
- version: 0.1.0
118
+ version: 0.1.1
119
119
  type: :runtime
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - ~>
124
124
  - !ruby/object:Gem::Version
125
- version: 0.1.0
125
+ version: 0.1.1
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: colored
128
128
  requirement: !ruby/object:Gem::Requirement