cocoapods 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +45 -27
- data/README.md +1 -1
- data/lib/cocoapods.rb +15 -1
- data/lib/cocoapods/command/error_report.rb +0 -1
- data/lib/cocoapods/command/spec.rb +2 -2
- data/lib/cocoapods/dependency.rb +19 -5
- data/lib/cocoapods/downloader/git.rb +3 -3
- data/lib/cocoapods/downloader/mercurial.rb +2 -2
- data/lib/cocoapods/downloader/subversion.rb +2 -2
- data/lib/cocoapods/installer.rb +20 -3
- data/lib/cocoapods/podfile.rb +9 -3
- data/lib/cocoapods/resolver.rb +3 -1
- data/lib/cocoapods/specification.rb +20 -14
- data/lib/cocoapods/version.rb +3 -3
- metadata +2 -2
data/CHANGELOG.md
CHANGED
@@ -1,16 +1,34 @@
|
|
1
|
+
## 0.9.0
|
2
|
+
|
3
|
+
[CocoaPods](http://git.io/kucJQw) • [Xcodeproj](http://git.io/5eLL8g)
|
4
|
+
|
5
|
+
###### Enhancements
|
6
|
+
|
7
|
+
- Force downloading the ‘bleeding edge’ version of a pod with the `:head` flag. [#392](http://git.io/t_NVRQ)
|
8
|
+
- Support for weak frameworks. [#263](http://git.io/XZDuog)
|
9
|
+
- Use double quotes when shelling out. This makes a url like `$HOME/local/lib` work. [#396](http://git.io/DnBzhA)
|
10
|
+
|
11
|
+
###### Bug fixes
|
12
|
+
|
13
|
+
- Relaxed linter to accepts pod that only specify paths to preserve (like TuneupJS).
|
14
|
+
- Gender neutralization of podfile documentation. [#384](http://git.io/MAsHXg)
|
15
|
+
- Exit early when using an old RubyGems version (< 1.4.0). These versions contain subtle bugs
|
16
|
+
related to prerelease version comparisons. Unfortunately, OS X >= 10.7 ships with 1.3.6. [#398](http://git.io/Lr7DoA)
|
17
|
+
|
18
|
+
|
1
19
|
## 0.8.0
|
2
20
|
|
3
|
-
[CocoaPods](
|
21
|
+
[CocoaPods](http://git.io/RgMF3w) • [Xcodeproj](http://git.io/KBKE_Q)
|
4
22
|
|
5
23
|
###### Breaking change
|
6
24
|
|
7
25
|
Syntax change in Podfile: `dependency` has been replaced by `pod`.
|
8
26
|
|
9
|
-
|
27
|
+
``ruby
|
10
28
|
platform :ios
|
11
29
|
pod 'JSONKit', '~> 1.4'
|
12
30
|
pod 'Reachability', '~> 2.0.4'
|
13
|
-
|
31
|
+
``
|
14
32
|
|
15
33
|
###### Bug fixes
|
16
34
|
|
@@ -19,7 +37,7 @@ pod 'Reachability', '~> 2.0.4'
|
|
19
37
|
|
20
38
|
## 0.7.0
|
21
39
|
|
22
|
-
[CocoaPods](
|
40
|
+
[CocoaPods](http://git.io/Agia6A) • [Xcodeproj](http://git.io/mlqquw)
|
23
41
|
|
24
42
|
###### Features
|
25
43
|
|
@@ -38,7 +56,7 @@ pod 'Reachability', '~> 2.0.4'
|
|
38
56
|
|
39
57
|
## 0.6.1
|
40
58
|
|
41
|
-
[CocoaPods](
|
59
|
+
[CocoaPods](http://git.io/45wFjw) • [Xcodeproj](http://git.io/rRA4XQ)
|
42
60
|
|
43
61
|
###### Bug fixes
|
44
62
|
|
@@ -60,7 +78,7 @@ CocoaPods can now integrate all the targets specified in your `Podfile`.
|
|
60
78
|
To specify which target, in your Xcode project, a Pods target should be linked
|
61
79
|
with, use the `link_with` method like so:
|
62
80
|
|
63
|
-
|
81
|
+
``ruby
|
64
82
|
platform :ios
|
65
83
|
|
66
84
|
workspace 'MyWorkspace'
|
@@ -73,7 +91,7 @@ target :test, :exclusive => true do
|
|
73
91
|
link_with 'TestRunnerTarget'
|
74
92
|
dependency 'Kiwi'
|
75
93
|
end
|
76
|
-
|
94
|
+
``
|
77
95
|
|
78
96
|
_NOTE: As you can see it can take either one target name, or an array of names._
|
79
97
|
|
@@ -98,9 +116,9 @@ configurations are based on the `Release` configuration, to base them on the
|
|
98
116
|
`Debug` configuration you will have to explicitely specify them as can be seen
|
99
117
|
above in the following line:
|
100
118
|
|
101
|
-
|
119
|
+
``ruby
|
102
120
|
xcodeproj 'TestProject', 'Test' => :debug
|
103
|
-
|
121
|
+
``
|
104
122
|
|
105
123
|
|
106
124
|
### Documentation
|
@@ -110,16 +128,16 @@ CocoaPods will now generate documentation for every library with the
|
|
110
128
|
|
111
129
|
You can customize the settings used like so:
|
112
130
|
|
113
|
-
|
131
|
+
``ruby
|
114
132
|
s.documentation = { :appledoc => ['--product-name', 'My awesome project!'] }
|
115
|
-
|
133
|
+
``
|
116
134
|
|
117
135
|
Alternatively, you can specify a URL where an HTML version of the documentation
|
118
136
|
can be found:
|
119
137
|
|
120
|
-
|
138
|
+
``ruby
|
121
139
|
s.documentation = { :html => 'http://example.com/docs/index.html' }
|
122
|
-
|
140
|
+
``
|
123
141
|
|
124
142
|
See [#149](https://github.com/CocoaPods/CocoaPods/issues/149) and
|
125
143
|
[#151](https://github.com/CocoaPods/CocoaPods/issues/151) for more info.
|
@@ -140,18 +158,18 @@ If you're not happy with the default boilerplate text generated for the title, h
|
|
140
158
|
and footnotes in the files, it's possible to customise these by overriding the methods
|
141
159
|
that generate the text in your `Podfile` like this:
|
142
160
|
|
143
|
-
|
161
|
+
``ruby
|
144
162
|
class ::Pod::Generator::Acknowledgements
|
145
163
|
def header_text
|
146
164
|
"My custom header text"
|
147
165
|
end
|
148
166
|
end
|
149
|
-
|
167
|
+
``
|
150
168
|
|
151
169
|
You can even go one step further and customise the text on a per target basis by
|
152
170
|
checking against the target name, like this:
|
153
171
|
|
154
|
-
|
172
|
+
``ruby
|
155
173
|
class ::Pod::Generator::Acknowledgements
|
156
174
|
def header_text
|
157
175
|
if @target_definition.label.end_with?("MyTargetName")
|
@@ -161,16 +179,16 @@ class ::Pod::Generator::Acknowledgements
|
|
161
179
|
end
|
162
180
|
end
|
163
181
|
end
|
164
|
-
|
182
|
+
``
|
165
183
|
|
166
184
|
Finally, here's a list of the methods that are available to override:
|
167
185
|
|
168
|
-
|
186
|
+
``ruby
|
169
187
|
header_title
|
170
188
|
header_text
|
171
189
|
footnote_title
|
172
190
|
footnote_text
|
173
|
-
|
191
|
+
``
|
174
192
|
|
175
193
|
|
176
194
|
### Introduced two new classes: LocalPod and Sandbox.
|
@@ -281,7 +299,7 @@ different sets of depedencies. This means that you can create a separate
|
|
281
299
|
library which contains all dependencies, including extra ones that you only use
|
282
300
|
in, for instance, a debug or test build. [[docs][1]]
|
283
301
|
|
284
|
-
|
302
|
+
``ruby
|
285
303
|
# This Podfile will build three static libraries:
|
286
304
|
# * libPods.a
|
287
305
|
# * libPods-debug.a
|
@@ -302,7 +320,7 @@ target :test, :exclusive => true do
|
|
302
320
|
# the `libPods-test.a` library.
|
303
321
|
dependency 'Kiwi'
|
304
322
|
end
|
305
|
-
|
323
|
+
``
|
306
324
|
|
307
325
|
### Install libraries from anywhere
|
308
326
|
|
@@ -310,7 +328,7 @@ A dependency can take a git url if the repo contains a podspec file in its
|
|
310
328
|
root, or a podspec can be loaded from a file or HTTP location. If no podspec is
|
311
329
|
available, a specification can be defined inline in the Podfile. [[docs][2]]
|
312
330
|
|
313
|
-
|
331
|
+
``ruby
|
314
332
|
# From a spec repo.
|
315
333
|
dependency 'SSToolkit'
|
316
334
|
|
@@ -341,14 +359,14 @@ dependency do |s|
|
|
341
359
|
end
|
342
360
|
end
|
343
361
|
end
|
344
|
-
|
362
|
+
``
|
345
363
|
|
346
364
|
### Add a `post_install` hook to the Podfile class
|
347
365
|
|
348
366
|
This allows the user to customize, for instance, the generated Xcode project
|
349
367
|
_before_ it’s written to disk. [[docs][3]]
|
350
368
|
|
351
|
-
|
369
|
+
``ruby
|
352
370
|
# Enable garbage collection support for MacRuby applications.
|
353
371
|
post_install do |installer|
|
354
372
|
installer.project.targets.each do |target|
|
@@ -357,14 +375,14 @@ post_install do |installer|
|
|
357
375
|
end
|
358
376
|
end
|
359
377
|
end
|
360
|
-
|
378
|
+
``
|
361
379
|
|
362
380
|
### Manifest
|
363
381
|
|
364
382
|
Generate a Podfile.lock file next to the Podfile, which contains a manifest of
|
365
383
|
your application’s dependencies and their dependencies.
|
366
384
|
|
367
|
-
|
385
|
+
``
|
368
386
|
PODS:
|
369
387
|
- JSONKit (1.4)
|
370
388
|
- LibComponentLogging-Core (1.1.4)
|
@@ -386,7 +404,7 @@ DOWNLOAD_ONLY:
|
|
386
404
|
DEPENDENCIES:
|
387
405
|
- RestKit-JSON-JSONKit
|
388
406
|
- RestKit-ObjectMapping
|
389
|
-
|
407
|
+
``
|
390
408
|
|
391
409
|
### Generate Xcode projects from scratch
|
392
410
|
|
data/README.md
CHANGED
@@ -43,7 +43,7 @@ Now that you've got CocoaPods installed you can easily add it to your project.
|
|
43
43
|
|
44
44
|
1. If you're using a fresh out of the box Mac with Lion using Xcode from the Mac App Store, you will need to install the Command Line Tools for Xcode first: [here](https://developer.apple.com/downloads/index.action)
|
45
45
|
|
46
|
-
2. CocoaPods re-uses some of the RubyGems
|
46
|
+
2. CocoaPods re-uses some of the RubyGems classes. If you have a version older than 1.4.0, you will have to update RubyGems: `$ gem update --system`.
|
47
47
|
|
48
48
|
|
49
49
|
## Adding it to your project
|
data/lib/cocoapods.rb
CHANGED
@@ -1,5 +1,19 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
|
3
|
+
# Better to fail early and clear then during installation of pods.
|
4
|
+
#
|
5
|
+
# RubyGems 1.3.6 (which ships with OS X >= 10.7) up to 1.4.0 have a couple of
|
6
|
+
# bugs related to comparing prerelease versions.
|
7
|
+
#
|
8
|
+
# E.g. https://github.com/CocoaPods/CocoaPods/issues/398
|
9
|
+
unless Gem::Version::Requirement.new('>= 1.4.0').satisfied_by?(Gem::Version.new(Gem::VERSION))
|
10
|
+
require 'colored'
|
11
|
+
STDERR.puts "Your RubyGems version (#{Gem::VERSION}) is too old, please update with: `gem update --system`".red
|
12
|
+
exit 1
|
13
|
+
end
|
14
|
+
|
1
15
|
module Pod
|
2
|
-
VERSION = '0.
|
16
|
+
VERSION = '0.9.0'
|
3
17
|
|
4
18
|
class PlainInformative < StandardError
|
5
19
|
end
|
@@ -301,7 +301,7 @@ module Pod
|
|
301
301
|
|
302
302
|
# attributes with multiplatform values
|
303
303
|
return messages unless platform_valid?
|
304
|
-
messages << "
|
304
|
+
messages << "The spec appears to be empty (no source files, resources, or preserve paths)" if spec.source_files.empty? && spec.subspecs.empty? && spec.resources.empty? && spec.preserve_paths.empty?
|
305
305
|
messages += paths_starting_with_a_slash_errors
|
306
306
|
messages
|
307
307
|
end
|
@@ -352,7 +352,7 @@ module Pod
|
|
352
352
|
messages << "Git sources should specify either a tag or a commit" if source[:git] && !source[:commit] && !source[:tag]
|
353
353
|
messages << "Github repositories should end in `.git'" if github_source? && source[:git] !~ /.*\.git/
|
354
354
|
messages << "Github repositories should use `https' link" if github_source? && source[:git] !~ /https:\/\/github.com/
|
355
|
-
messages << "Comments must be deleted" if text
|
355
|
+
messages << "Comments must be deleted" if text.scan(/^\s*#/).length > 24
|
356
356
|
messages
|
357
357
|
end
|
358
358
|
|
data/lib/cocoapods/dependency.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
|
-
module Gem
|
2
|
-
end
|
3
|
-
require 'rubygems/dependency'
|
4
1
|
require 'open-uri'
|
5
2
|
|
6
3
|
module Pod
|
7
4
|
class Dependency < Gem::Dependency
|
8
5
|
|
9
|
-
attr_reader :external_source
|
6
|
+
attr_reader :external_source, :head
|
7
|
+
alias :head? :head
|
10
8
|
attr_accessor :specification
|
11
9
|
|
12
10
|
def initialize(*name_and_version_requirements, &block)
|
@@ -18,15 +16,28 @@ module Pod
|
|
18
16
|
elsif !name_and_version_requirements.empty? && block.nil?
|
19
17
|
if name_and_version_requirements.last.is_a?(Hash)
|
20
18
|
@external_source = ExternalSources.from_params(name_and_version_requirements[0].split('/').first, name_and_version_requirements.pop)
|
19
|
+
|
20
|
+
elsif (symbol = name_and_version_requirements.last).is_a?(Symbol) && symbol == :head
|
21
|
+
name_and_version_requirements.pop
|
22
|
+
@head = true
|
21
23
|
end
|
22
24
|
super(*name_and_version_requirements)
|
23
25
|
|
26
|
+
if head? && !latest_version?
|
27
|
+
raise Informative, "A `:head' dependency may not specify version requirements."
|
28
|
+
end
|
29
|
+
|
24
30
|
else
|
25
31
|
raise Informative, "A dependency needs either a name and version requirements, " \
|
26
32
|
"a source hash, or a block which defines a podspec."
|
27
33
|
end
|
28
34
|
end
|
29
35
|
|
36
|
+
def latest_version?
|
37
|
+
versions = @version_requirements.requirements.map(&:last)
|
38
|
+
versions == [Gem::Version.new('0')]
|
39
|
+
end
|
40
|
+
|
30
41
|
def ==(other)
|
31
42
|
super && (@specification ? @specification == other.specification : @external_source == other.external_source)
|
32
43
|
end
|
@@ -68,7 +79,10 @@ module Pod
|
|
68
79
|
elsif @version_requirements != Gem::Requirement.default
|
69
80
|
version << @version_requirements.to_s
|
70
81
|
end
|
71
|
-
|
82
|
+
result = @name.dup
|
83
|
+
result += " (#{version})" unless version.empty?
|
84
|
+
result += " [HEAD]" if head?
|
85
|
+
result
|
72
86
|
end
|
73
87
|
|
74
88
|
def specification_from_sandbox(sandbox, platform)
|
@@ -23,7 +23,7 @@ module Pod
|
|
23
23
|
else
|
24
24
|
download_head
|
25
25
|
end
|
26
|
-
|
26
|
+
prune_cache
|
27
27
|
end
|
28
28
|
|
29
29
|
def create_cache
|
@@ -33,7 +33,7 @@ module Pod
|
|
33
33
|
clone(url, cache_path)
|
34
34
|
end
|
35
35
|
|
36
|
-
def
|
36
|
+
def prune_cache
|
37
37
|
return unless caches_dir.exist?
|
38
38
|
Dir.chdir(caches_dir) do
|
39
39
|
repos = Pathname.new(caches_dir).children.select { |c| c.directory? }.sort_by(&:ctime)
|
@@ -134,7 +134,7 @@ module Pod
|
|
134
134
|
end
|
135
135
|
|
136
136
|
def clone(from, to)
|
137
|
-
git "clone
|
137
|
+
git "clone \"#{from}\" \"#{to}\""
|
138
138
|
end
|
139
139
|
end
|
140
140
|
|
@@ -12,11 +12,11 @@ module Pod
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def download_head
|
15
|
-
hg "clone
|
15
|
+
hg "clone \"#{url}\" \"#{target_path}\""
|
16
16
|
end
|
17
17
|
|
18
18
|
def download_revision
|
19
|
-
hg "clone
|
19
|
+
hg "clone \"#{url}\" --rev '#{options[:revision]}' \"#{target_path}\""
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -12,11 +12,11 @@ module Pod
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def download_head
|
15
|
-
svn "checkout
|
15
|
+
svn "checkout \"#{url}\" \"#{target_path}\""
|
16
16
|
end
|
17
17
|
|
18
18
|
def download_revision
|
19
|
-
svn "checkout
|
19
|
+
svn "checkout \"#{url}\" -r '#{options[:revision]}' \"#{target_path}\""
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
data/lib/cocoapods/installer.rb
CHANGED
@@ -48,13 +48,17 @@ module Pod
|
|
48
48
|
pods.each do |pod|
|
49
49
|
unless config.silent?
|
50
50
|
marker = config.verbose ? "\n-> ".green : ''
|
51
|
-
|
51
|
+
if subspec_name = pod.top_specification.preferred_dependency
|
52
|
+
name = "#{pod.top_specification.name}/#{subspec_name} (#{pod.top_specification.version})"
|
53
|
+
else
|
54
|
+
name = pod.to_s
|
55
|
+
end
|
56
|
+
name << " [HEAD]" if pod.top_specification.version.head?
|
52
57
|
puts marker << ( pod.exists? ? "Using #{name}" : "Installing #{name}".green )
|
53
58
|
end
|
54
59
|
|
55
60
|
unless pod.exists?
|
56
|
-
|
57
|
-
downloader.download
|
61
|
+
download_pod(pod)
|
58
62
|
# The docs need to be generated before cleaning because
|
59
63
|
# the documentation is created for all the subspecs.
|
60
64
|
generate_docs(pod)
|
@@ -63,6 +67,19 @@ module Pod
|
|
63
67
|
end
|
64
68
|
end
|
65
69
|
|
70
|
+
def download_pod(pod)
|
71
|
+
downloader = Downloader.for_pod(pod)
|
72
|
+
# Force the `bleeding edge' version if necessary.
|
73
|
+
if pod.top_specification.version.head?
|
74
|
+
if downloader.respond_to?(:download_head)
|
75
|
+
downloader.download_head
|
76
|
+
else
|
77
|
+
end
|
78
|
+
else
|
79
|
+
downloader.download
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
66
83
|
#TODO: move to generator ?
|
67
84
|
def generate_docs(pod)
|
68
85
|
doc_generator = Generator::Documentation.new(pod)
|
data/lib/cocoapods/podfile.rb
CHANGED
@@ -295,16 +295,22 @@ module Pod
|
|
295
295
|
# * `<= 0.1` Version 0.1 and any lower version
|
296
296
|
# * `~> 0.1.2` Version 0.1.2 and the versions upto 0.2, not including 0.2
|
297
297
|
#
|
298
|
-
#
|
299
|
-
# Finally, a list of version requirements can be specified for even more fine
|
298
|
+
# A list of version requirements can be specified for even more fine
|
300
299
|
# grained control.
|
301
300
|
#
|
301
|
+
#
|
302
302
|
# For more information, regarding versioning policy, see:
|
303
303
|
#
|
304
304
|
# * http://semver.org
|
305
305
|
# * http://docs.rubygems.org/read/chapter/7
|
306
306
|
#
|
307
307
|
#
|
308
|
+
# Finally, instead of a version, you can specify the `:head` flag. This will
|
309
|
+
# use the pod’s latest version spec version, but force the download of the
|
310
|
+
# ‘bleeding edge’ version. Use this with caution, as the spec might not be
|
311
|
+
# compatible anymore.
|
312
|
+
#
|
313
|
+
#
|
308
314
|
# ## Dependency on a library, outside those available in a spec repo.
|
309
315
|
#
|
310
316
|
# ### From a podspec in the root of a library repo.
|
@@ -343,7 +349,7 @@ module Pod
|
|
343
349
|
#
|
344
350
|
# ### For a library without any available podspec
|
345
351
|
#
|
346
|
-
# Finally, if no
|
352
|
+
# Finally, if no living soul has created a podspec, for the library you want
|
347
353
|
# to use, yet, you will have to specify the library yourself.
|
348
354
|
#
|
349
355
|
#
|
data/lib/cocoapods/resolver.rb
CHANGED
@@ -61,10 +61,12 @@ module Pod
|
|
61
61
|
set.required_by(dependent_specification)
|
62
62
|
# Ensure we don't resolve the same spec twice for one target
|
63
63
|
unless @loaded_specs.include?(dependency.name)
|
64
|
-
|
64
|
+
spec = set.specification_by_name(dependency.name)
|
65
65
|
@loaded_specs << spec.name
|
66
66
|
@specs[spec.name] = spec
|
67
|
+
# Configure the specification
|
67
68
|
spec.activate_platform(target_definition.platform)
|
69
|
+
spec.version.head = dependency.head?
|
68
70
|
# And recursively load the dependencies of the spec.
|
69
71
|
find_dependency_specs(spec, spec.dependencies, target_definition) if spec.dependencies
|
70
72
|
end
|
@@ -44,6 +44,7 @@ module Pod
|
|
44
44
|
preserve_paths
|
45
45
|
exclude_header_search_paths
|
46
46
|
frameworks
|
47
|
+
weak_frameworks
|
47
48
|
libraries
|
48
49
|
dependencies
|
49
50
|
compiler_flags ].each do |attr|
|
@@ -127,6 +128,8 @@ module Pod
|
|
127
128
|
xcconfig=
|
128
129
|
framework=
|
129
130
|
frameworks=
|
131
|
+
weak_framework=
|
132
|
+
weak_frameworks=
|
130
133
|
library=
|
131
134
|
libraries=
|
132
135
|
compiler_flags=
|
@@ -240,12 +243,14 @@ module Pod
|
|
240
243
|
pltf_chained_attr_accessor :preserve_paths, lambda {|value, current| pattern_list(value) } # Paths that should not be cleaned
|
241
244
|
pltf_chained_attr_accessor :exclude_header_search_paths, lambda {|value, current| pattern_list(value) } # Headers to be excluded from being added to search paths (RestKit)
|
242
245
|
pltf_chained_attr_accessor :frameworks, lambda {|value, current| (current << value).flatten }
|
246
|
+
pltf_chained_attr_accessor :weak_frameworks, lambda {|value, current| (current << value).flatten }
|
243
247
|
pltf_chained_attr_accessor :libraries, lambda {|value, current| (current << value).flatten }
|
244
248
|
|
245
|
-
alias_method :resource=,
|
246
|
-
alias_method :preserve_path=,
|
247
|
-
alias_method :framework=,
|
248
|
-
alias_method :
|
249
|
+
alias_method :resource=, :resources=
|
250
|
+
alias_method :preserve_path=, :preserve_paths=
|
251
|
+
alias_method :framework=, :frameworks=
|
252
|
+
alias_method :weak_framework=, :weak_frameworks=
|
253
|
+
alias_method :library=, :libraries=
|
249
254
|
|
250
255
|
# @!method header_dir=
|
251
256
|
#
|
@@ -271,9 +276,11 @@ module Pod
|
|
271
276
|
platform_attr_writer :xcconfig, lambda {|value, current| current.tap { |c| c.merge!(value) } }
|
272
277
|
|
273
278
|
def xcconfig
|
274
|
-
raw_xconfig.dup
|
275
|
-
|
276
|
-
|
279
|
+
result = raw_xconfig.dup
|
280
|
+
result.libraries.merge(libraries)
|
281
|
+
result.frameworks.merge(frameworks)
|
282
|
+
result.weak_frameworks.merge(weak_frameworks)
|
283
|
+
result
|
277
284
|
end
|
278
285
|
|
279
286
|
def raw_xconfig
|
@@ -343,15 +350,14 @@ module Pod
|
|
343
350
|
attr_reader :subspecs
|
344
351
|
|
345
352
|
def recursive_subspecs
|
346
|
-
|
353
|
+
@recursive_subspecs ||= begin
|
347
354
|
mapper = lambda do |spec|
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
355
|
+
spec.subspecs.map do |subspec|
|
356
|
+
[subspec, *mapper.call(subspec)]
|
357
|
+
end.flatten
|
358
|
+
end
|
359
|
+
mapper.call(self)
|
353
360
|
end
|
354
|
-
@recursive_subspecs
|
355
361
|
end
|
356
362
|
|
357
363
|
def subspec_by_name(name)
|
data/lib/cocoapods/version.rb
CHANGED
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.
|
4
|
+
version: 0.9.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-07-
|
12
|
+
date: 2012-07-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|