cocoapods 0.35.0.rc1 → 0.35.0.rc2

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