cocoapods 0.13.0 → 0.14.0.rc1
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.
- data/CHANGELOG.md +97 -16
- data/lib/cocoapods.rb +2 -1
- data/lib/cocoapods/command.rb +46 -19
- data/lib/cocoapods/command/install.rb +11 -12
- data/lib/cocoapods/command/linter.rb +3 -1
- data/lib/cocoapods/command/outdated.rb +51 -0
- data/lib/cocoapods/command/push.rb +6 -6
- data/lib/cocoapods/command/setup.rb +1 -1
- data/lib/cocoapods/command/spec.rb +1 -1
- data/lib/cocoapods/command/update.rb +21 -0
- data/lib/cocoapods/config.rb +14 -1
- data/lib/cocoapods/dependency.rb +56 -13
- data/lib/cocoapods/downloader/git.rb +1 -0
- data/lib/cocoapods/downloader/subversion.rb +6 -2
- data/lib/cocoapods/installer.rb +48 -64
- data/lib/cocoapods/local_pod.rb +50 -12
- data/lib/cocoapods/lockfile.rb +267 -0
- data/lib/cocoapods/podfile.rb +4 -0
- data/lib/cocoapods/project.rb +9 -4
- data/lib/cocoapods/resolver.rb +164 -20
- data/lib/cocoapods/specification.rb +11 -13
- data/lib/cocoapods/specification/set.rb +10 -13
- data/lib/cocoapods/version.rb +19 -2
- metadata +7 -4
@@ -174,6 +174,12 @@ module Pod
|
|
174
174
|
end
|
175
175
|
attr_writer :name
|
176
176
|
|
177
|
+
# @return [String] The name of the pod.
|
178
|
+
#
|
179
|
+
def pod_name
|
180
|
+
top_level_parent.name
|
181
|
+
end
|
182
|
+
|
177
183
|
### Attributes that return the first value defined in the chain
|
178
184
|
|
179
185
|
def platform
|
@@ -387,14 +393,14 @@ module Pod
|
|
387
393
|
# Remove this spec's name from the beginning of the name we’re looking for
|
388
394
|
# and take the first component from the remainder, which is the spec we need
|
389
395
|
# to find now.
|
390
|
-
remainder = name[self.name.size+1..-1]
|
391
|
-
|
396
|
+
remainder = name[self.name.size+1..-1]
|
397
|
+
raise Informative, "Unable to find a specification named `#{name}' in `#{pod_name}'." unless remainder
|
398
|
+
subspec_name = remainder.split('/').shift
|
392
399
|
subspec = subspecs.find { |s| s.name == "#{self.name}/#{subspec_name}" }
|
400
|
+
raise Informative, "Unable to find a specification named `#{name}' in `#{pod_name}'." unless subspec
|
393
401
|
# If this was the last component in the name, then return the subspec,
|
394
402
|
# otherwise we recursively keep calling subspec_by_name until we reach the
|
395
403
|
# last one and return that
|
396
|
-
|
397
|
-
raise Informative, "Unable to find a subspec named `#{name}'." unless subspec
|
398
404
|
remainder.empty? ? subspec : subspec.subspec_by_name(name)
|
399
405
|
end
|
400
406
|
|
@@ -402,16 +408,8 @@ module Pod
|
|
402
408
|
!source.nil? && !source[:local].nil?
|
403
409
|
end
|
404
410
|
|
405
|
-
def local_path
|
406
|
-
Pathname.new(File.expand_path(source[:local]))
|
407
|
-
end
|
408
|
-
|
409
411
|
def pod_destroot
|
410
|
-
|
411
|
-
local_path
|
412
|
-
else
|
413
|
-
config.project_pods_root + top_level_parent.name
|
414
|
-
end
|
412
|
+
config.project_pods_root + top_level_parent.name
|
415
413
|
end
|
416
414
|
|
417
415
|
def self.pattern_list(patterns)
|
@@ -8,22 +8,18 @@ module Pod
|
|
8
8
|
def initialize(pod_dir)
|
9
9
|
@pod_dir = pod_dir
|
10
10
|
@required_by = []
|
11
|
+
@dependencies = []
|
11
12
|
end
|
12
13
|
|
13
|
-
def required_by(
|
14
|
-
# Skip subspecs because the can't require a different version of the top level parent
|
15
|
-
return if !specification.podfile? && specification.top_level_parent.name == name
|
16
|
-
|
17
|
-
dependency = specification.dependency_by_top_level_spec_name(name)
|
18
|
-
# TODO we don’t actually do anything in our Version subclass. Maybe we should just remove that.
|
14
|
+
def required_by(dependency, dependent_name)
|
19
15
|
unless @required_by.empty? || dependency.requirement.satisfied_by?(Gem::Version.new(required_version.to_s))
|
20
|
-
|
21
|
-
raise Informative, "#{specification} tries to activate `#{dependency}', " \
|
16
|
+
raise Informative, "#{dependent_name} tries to activate `#{dependency}', " \
|
22
17
|
"but already activated version `#{required_version}' " \
|
23
18
|
"by #{@required_by.to_sentence}."
|
24
19
|
end
|
25
20
|
@specification = nil
|
26
|
-
@required_by <<
|
21
|
+
@required_by << dependent_name
|
22
|
+
@dependencies << dependency
|
27
23
|
end
|
28
24
|
|
29
25
|
def specification_by_name(name)
|
@@ -31,8 +27,8 @@ module Pod
|
|
31
27
|
end
|
32
28
|
|
33
29
|
def dependency
|
34
|
-
@
|
35
|
-
previous.merge(
|
30
|
+
@dependencies.inject(Dependency.new(name)) do |previous, dependency|
|
31
|
+
previous.merge(dependency.to_top_level_spec_dependency)
|
36
32
|
end
|
37
33
|
end
|
38
34
|
|
@@ -76,6 +72,7 @@ module Pod
|
|
76
72
|
def initialize(specification)
|
77
73
|
@specification = specification
|
78
74
|
@required_by = []
|
75
|
+
@dependencies = []
|
79
76
|
end
|
80
77
|
|
81
78
|
def name
|
@@ -86,9 +83,9 @@ module Pod
|
|
86
83
|
self.class === other && name == other.name
|
87
84
|
end
|
88
85
|
|
89
|
-
def required_by(
|
86
|
+
def required_by(dependency, dependent_name)
|
90
87
|
before = @specification
|
91
|
-
super(
|
88
|
+
super(dependency, dependent_name)
|
92
89
|
ensure
|
93
90
|
@specification = before
|
94
91
|
end
|
data/lib/cocoapods/version.rb
CHANGED
@@ -1,9 +1,26 @@
|
|
1
|
-
|
2
|
-
|
3
1
|
module Pod
|
4
2
|
class Version < Gem::Version
|
3
|
+
|
4
|
+
# @returns A Version described by its #to_s method.
|
5
|
+
#
|
6
|
+
# @TODO The `from' part of the regexp should be remove before 1.0.0.
|
7
|
+
#
|
8
|
+
def self.from_string(string)
|
9
|
+
if string =~ /HEAD (based on|from) (.*)/
|
10
|
+
v = Version.new($2)
|
11
|
+
v.head = true
|
12
|
+
v
|
13
|
+
else
|
14
|
+
Version.new(string)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
5
18
|
attr_accessor :head
|
6
19
|
alias_method :head?, :head
|
20
|
+
|
21
|
+
def to_s
|
22
|
+
head? ? "HEAD based on #{super}" : super
|
23
|
+
end
|
7
24
|
end
|
8
25
|
end
|
9
26
|
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.14.0.rc1
|
5
|
+
prerelease: 7
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Eloy Duran
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -191,6 +191,7 @@ files:
|
|
191
191
|
- lib/cocoapods/command/install.rb
|
192
192
|
- lib/cocoapods/command/linter.rb
|
193
193
|
- lib/cocoapods/command/list.rb
|
194
|
+
- lib/cocoapods/command/outdated.rb
|
194
195
|
- lib/cocoapods/command/presenter/cocoa_pod.rb
|
195
196
|
- lib/cocoapods/command/presenter.rb
|
196
197
|
- lib/cocoapods/command/push.rb
|
@@ -198,6 +199,7 @@ files:
|
|
198
199
|
- lib/cocoapods/command/search.rb
|
199
200
|
- lib/cocoapods/command/setup.rb
|
200
201
|
- lib/cocoapods/command/spec.rb
|
202
|
+
- lib/cocoapods/command/update.rb
|
201
203
|
- lib/cocoapods/command.rb
|
202
204
|
- lib/cocoapods/config.rb
|
203
205
|
- lib/cocoapods/dependency.rb
|
@@ -219,6 +221,7 @@ files:
|
|
219
221
|
- lib/cocoapods/installer/user_project_integrator.rb
|
220
222
|
- lib/cocoapods/installer.rb
|
221
223
|
- lib/cocoapods/local_pod.rb
|
224
|
+
- lib/cocoapods/lockfile.rb
|
222
225
|
- lib/cocoapods/open_uri.rb
|
223
226
|
- lib/cocoapods/platform.rb
|
224
227
|
- lib/cocoapods/podfile.rb
|
@@ -250,7 +253,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
250
253
|
version: '0'
|
251
254
|
segments:
|
252
255
|
- 0
|
253
|
-
hash:
|
256
|
+
hash: 202149505213323645
|
254
257
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
255
258
|
none: false
|
256
259
|
requirements:
|