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 +4 -4
- data/CHANGELOG.md +30 -0
- data/lib/cocoapods/command/lib.rb +3 -2
- data/lib/cocoapods/command/spec.rb +3 -2
- data/lib/cocoapods/command.rb +0 -14
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/installer/analyzer/locking_dependency_analyzer.rb +3 -1
- data/lib/cocoapods/installer/pod_source_installer.rb +2 -2
- data/lib/cocoapods/resolver/lazy_specification.rb +3 -3
- data/lib/cocoapods/resolver.rb +30 -18
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 195891db68a277163d28c78e08b75e0ddfc852bd
|
4
|
+
data.tar.gz: 8c79a991661ebff9f5b1c363e1234becd3ab78f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
117
|
-
'(defaults to https://github.com/CocoaPods/Specs.git)'
|
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
|
72
|
-
'(defaults to https://github.com/CocoaPods/Specs.git)'
|
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)
|
data/lib/cocoapods/command.rb
CHANGED
@@ -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
|
@@ -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
|
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
|
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.
|
53
|
+
versions_by_source.flat_map do |source, versions|
|
54
54
|
versions.map { |version| LazySpecification.new(name, version, source) }
|
55
|
-
end
|
55
|
+
end
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
data/lib/cocoapods/resolver.rb
CHANGED
@@ -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
|
-
|
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|
|
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 && !(
|
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
|
349
|
-
#
|
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
|
-
|
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.
|
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-
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
125
|
+
version: 0.1.1
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: colored
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|