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