cocoapods 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +31 -0
- data/lib/cocoapods.rb +1 -1
- data/lib/cocoapods/command/push.rb +10 -7
- data/lib/cocoapods/command/spec.rb +48 -12
- data/lib/cocoapods/dependency.rb +1 -0
- data/lib/cocoapods/downloader/git.rb +25 -1
- data/lib/cocoapods/downloader/http.rb +3 -3
- data/lib/cocoapods/local_pod.rb +4 -4
- data/lib/cocoapods/specification.rb +26 -7
- metadata +172 -142
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,34 @@
|
|
1
|
+
## 0.7.0 (unreleased)
|
2
|
+
|
3
|
+
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.6.1...develop) | [XcodeProj](https://github.com/CocoaPods/XcodeProj/compare/0.2.1...develop)
|
4
|
+
|
5
|
+
###### Features
|
6
|
+
|
7
|
+
- Added support for branches in git repos.
|
8
|
+
- Added support for linting remote files, i.e. `pod spec lint http://raw/file.podspec`.
|
9
|
+
- Improved `Spec create template`
|
10
|
+
- The indentation is automatically stripped for podspecs strings.
|
11
|
+
|
12
|
+
###### Bug fixes
|
13
|
+
|
14
|
+
- The default warnings of Xcode are not overriden anymore.
|
15
|
+
- Improvements to the detection of the license files.
|
16
|
+
- Improvements to `pod spec lint`.
|
17
|
+
- CocoaPods is now case insensitive.
|
18
|
+
|
19
|
+
|
20
|
+
## 0.6.1
|
21
|
+
|
22
|
+
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.6.0...0.6.1) | [XcodeProj](https://github.com/CocoaPods/XcodeProj/compare/0.2.0...0.2.1)
|
23
|
+
|
24
|
+
###### Bug fixes
|
25
|
+
|
26
|
+
- Switched to master branch for specs repo.
|
27
|
+
- Fixed a crash with `pod spec lint` related to `preserve_paths`.
|
28
|
+
- Fixed a bug that caused subspecs to not inherit the compiler flags of the top level specification.
|
29
|
+
- Fixed a bug that caused duplication of system framworks.
|
30
|
+
|
31
|
+
|
1
32
|
## 0.6.0
|
2
33
|
|
3
34
|
A full list of all the changes since 0.5.1 can be found [here][6].
|
data/lib/cocoapods.rb
CHANGED
@@ -6,11 +6,11 @@ module Pod
|
|
6
6
|
def self.banner
|
7
7
|
%{Pushing new specifications to a spec-repo:
|
8
8
|
|
9
|
-
$ pod push [
|
9
|
+
$ pod push REPO [NAME.podspec]
|
10
10
|
|
11
|
-
Validates `*.podspec' in the current working dir, updates
|
12
|
-
the local copy of the repository named REPO, adds specifications
|
13
|
-
to REPO, and finally it pushes REPO to its remote.}
|
11
|
+
Validates NAME.podspec or `*.podspec' in the current working dir, updates
|
12
|
+
the local copy of the repository named REPO, adds the specifications
|
13
|
+
to the REPO, and finally it pushes REPO to its remote.}
|
14
14
|
end
|
15
15
|
|
16
16
|
def self.options
|
@@ -23,6 +23,7 @@ module Pod
|
|
23
23
|
def initialize(argv)
|
24
24
|
@allow_warnings = argv.option('--allow-warnings')
|
25
25
|
@repo = argv.shift_argument
|
26
|
+
@podspec = argv.shift_argument
|
26
27
|
super unless argv.empty? && @repo
|
27
28
|
end
|
28
29
|
|
@@ -61,7 +62,7 @@ module Pod
|
|
61
62
|
end
|
62
63
|
|
63
64
|
def podspec_files
|
64
|
-
files = Pathname.glob("*.podspec")
|
65
|
+
files = Pathname.glob(@podspec || "*.podspec")
|
65
66
|
raise Informative, "[!] Couldn't find .podspec file in current directory".red if files.empty?
|
66
67
|
files
|
67
68
|
end
|
@@ -71,8 +72,10 @@ module Pod
|
|
71
72
|
lint_argv = ["lint"]
|
72
73
|
lint_argv << "--only-errors" if @allow_warnings
|
73
74
|
lint_argv << "--silent" if config.silent
|
74
|
-
|
75
|
-
|
75
|
+
all_valid = true
|
76
|
+
podspec_files.each do |podspec|
|
77
|
+
Spec.new(ARGV.new(lint_argv + [podspec.to_s])).run
|
78
|
+
end
|
76
79
|
end
|
77
80
|
|
78
81
|
def add_specs_to_repo
|
@@ -11,7 +11,7 @@ module Pod
|
|
11
11
|
Creates a PodSpec, in the current working dir, called `NAME.podspec'.
|
12
12
|
If a GitHub url is passed the spec is prepopulated.
|
13
13
|
|
14
|
-
$ pod spec lint [ NAME.podspec | DIRECTORY ]
|
14
|
+
$ pod spec lint [ NAME.podspec | DIRECTORY | http://PATH/NAME.podspec ]
|
15
15
|
|
16
16
|
Validates `NAME.podspec'. If a directory is provided it performs a quick
|
17
17
|
validation on all the podspec files found, including subfolders. In case
|
@@ -80,6 +80,7 @@ module Pod
|
|
80
80
|
else
|
81
81
|
raise Informative, count == 1 ? "The spec did not pass validation." : "#{invalid_count} out of #{count} specs failed validation."
|
82
82
|
end
|
83
|
+
podspecs_tmp_dir.rmtree if podspecs_tmp_dir.exist?
|
83
84
|
end
|
84
85
|
|
85
86
|
private
|
@@ -130,6 +131,16 @@ module Pod
|
|
130
131
|
|
131
132
|
def podspecs_to_lint
|
132
133
|
@podspecs_to_lint ||= begin
|
134
|
+
if @repo_or_podspec =~ /https?:\/\//
|
135
|
+
require 'open-uri'
|
136
|
+
output_path = podspecs_tmp_dir + File.basename(@repo_or_podspec)
|
137
|
+
output_path.dirname.mkpath
|
138
|
+
open(@repo_or_podspec) do |io|
|
139
|
+
output_path.open('w') { |f| f << io.read }
|
140
|
+
end
|
141
|
+
return [output_path]
|
142
|
+
end
|
143
|
+
|
133
144
|
path = Pathname.new(@repo_or_podspec || '.')
|
134
145
|
if path.directory?
|
135
146
|
files = path.glob('**/*.podspec')
|
@@ -143,6 +154,10 @@ module Pod
|
|
143
154
|
end
|
144
155
|
end
|
145
156
|
|
157
|
+
def podspecs_tmp_dir
|
158
|
+
Pathname.new('/tmp/CocoaPods/Lint_podspec')
|
159
|
+
end
|
160
|
+
|
146
161
|
def specs_to_lint
|
147
162
|
@specs_to_lint ||= begin
|
148
163
|
podspecs_to_lint.map do |podspec|
|
@@ -222,7 +237,7 @@ module Pod
|
|
222
237
|
install_pod
|
223
238
|
puts "Building with xcodebuild.\n".yellow if config.verbose?
|
224
239
|
# treat xcodebuild warnings as notes because the spec maintainer might not be the author of the library
|
225
|
-
xcodebuild_output.each { |msg| ( msg.include?('error') ? @platform_errors[@platform] : @platform_notes[@platform] ) << msg }
|
240
|
+
xcodebuild_output.each { |msg| ( msg.include?('error: ') ? @platform_errors[@platform] : @platform_notes[@platform] ) << msg }
|
226
241
|
@platform_errors[@platform] += file_patterns_errors
|
227
242
|
@platform_warnings[@platform] += file_patterns_warnings
|
228
243
|
tear_down_lint_environment
|
@@ -329,6 +344,7 @@ module Pod
|
|
329
344
|
messages = []
|
330
345
|
messages << "Missing license type" unless license[:type]
|
331
346
|
messages << "Sample license type" if license[:type] && license[:type] =~ /\(example\)/
|
347
|
+
messages << "Invalid license type" if license[:type] && license[:type] =~ /\n/
|
332
348
|
messages << "The summary is not meaningful" if spec.summary =~ /A short description of/
|
333
349
|
messages << "The description is not meaningful" if spec.description && spec.description =~ /An optional longer description of/
|
334
350
|
messages << "The summary should end with a dot" if @spec.summary !~ /.*\./
|
@@ -383,9 +399,9 @@ module Pod
|
|
383
399
|
def process_xcode_build_output(output)
|
384
400
|
output_by_line = output.split("\n")
|
385
401
|
selected_lines = output_by_line.select do |l|
|
386
|
-
l.include?('error:') && (l !~ /errors? generated\./) \
|
387
|
-
|| l.include?('warning:') && (l !~ /warnings? generated\./)\
|
388
|
-
|| l.include?('note:')
|
402
|
+
l.include?('error: ') && (l !~ /errors? generated\./) \
|
403
|
+
|| l.include?('warning: ') && (l !~ /warnings? generated\./)\
|
404
|
+
|| l.include?('note: ') && (l !~ /expanded from macro/)
|
389
405
|
end
|
390
406
|
selected_lines.map do |l|
|
391
407
|
new = l.gsub(/\/tmp\/CocoaPods\/Lint\/Pods\//,'') # Remove the unnecessary tmp path
|
@@ -404,14 +420,16 @@ module Pod
|
|
404
420
|
messages = []
|
405
421
|
messages << "The sources did not match any file" if !@spec.source_files.empty? && @pod.source_files.empty?
|
406
422
|
messages << "The resources did not match any file" if !@spec.resources.empty? && @pod.resource_files.empty?
|
407
|
-
messages << "The preserve_paths did not match any file" if !@spec.preserve_paths.empty? && @pod.
|
423
|
+
messages << "The preserve_paths did not match any file" if !@spec.preserve_paths.empty? && @pod.preserve_files.empty?
|
408
424
|
messages << "The exclude_header_search_paths did not match any file" if !@spec.exclude_header_search_paths.empty? && @pod.headers_excluded_from_search_paths.empty?
|
409
425
|
messages
|
410
426
|
end
|
411
427
|
|
412
428
|
def file_patterns_warnings
|
413
429
|
messages = []
|
414
|
-
|
430
|
+
unless @pod.license_file || @spec.license && ( @spec.license[:type] == 'Public Domain' || @spec.license[:text] )
|
431
|
+
messages << "Unable to find a license file"
|
432
|
+
end
|
415
433
|
messages
|
416
434
|
end
|
417
435
|
end
|
@@ -483,15 +501,32 @@ Pod::Spec.new do |s|
|
|
483
501
|
s.name = "#{data[:name]}"
|
484
502
|
s.version = "#{data[:version]}"
|
485
503
|
s.summary = "#{data[:summary]}"
|
486
|
-
# s.description =
|
504
|
+
# s.description = <<-DESC
|
505
|
+
# An optional longer description of #{data[:name]}
|
506
|
+
#
|
507
|
+
# * Markdonw format.
|
508
|
+
# * Don't worry about the indent, we strip it!
|
509
|
+
# DESC
|
487
510
|
s.homepage = "#{data[:homepage]}"
|
488
511
|
|
489
512
|
# Specify the license type. CocoaPods detects automatically the license file if it is named
|
490
|
-
# `LICENSE
|
513
|
+
# `LICENSE*.*', however if the name is different, specify it.
|
514
|
+
s.license = 'MIT (example)'
|
515
|
+
# s.license = { :type => 'MIT (example)', :file => 'FILE_LICENSE' }
|
516
|
+
#
|
491
517
|
# Only if no dedicated file is available include the full text of the license.
|
492
518
|
#
|
493
|
-
s.license =
|
494
|
-
#
|
519
|
+
# s.license = {
|
520
|
+
# :type => 'MIT (example)',
|
521
|
+
# :text => <<-LICENSE
|
522
|
+
# Copyright (C) <year> <copyright holders>
|
523
|
+
|
524
|
+
# All rights reserved.
|
525
|
+
|
526
|
+
# Redistribution and use in source and binary forms, with or without
|
527
|
+
# ...
|
528
|
+
# LICENSE
|
529
|
+
# }
|
495
530
|
|
496
531
|
# Specify the authors of the library, with email addresses. You can often find
|
497
532
|
# the email addresses of the authors by using the SCM log. E.g. $ git log
|
@@ -543,9 +578,10 @@ Pod::Spec.new do |s|
|
|
543
578
|
|
544
579
|
# A list of paths to preserve after installing the Pod.
|
545
580
|
# CocoaPods cleans by default any file that is not used.
|
581
|
+
# Please don't include documentation, example, and test files.
|
546
582
|
# Also allows the use of the FileList class like `source_files does.
|
547
583
|
#
|
548
|
-
# s.preserve_paths = "
|
584
|
+
# s.preserve_paths = "FilesToSave", "MoreFilesToSave"
|
549
585
|
|
550
586
|
# Specify a list of frameworks that the application needs to link
|
551
587
|
# against for this Pod to work.
|
data/lib/cocoapods/dependency.rb
CHANGED
@@ -159,6 +159,7 @@ module Pod
|
|
159
159
|
def description
|
160
160
|
"from `#{@params[:git]}'".tap do |description|
|
161
161
|
description << ", commit `#{@params[:commit]}'" if @params[:commit]
|
162
|
+
description << ", branch `#{@params[:branch]}'" if @params[:branch]
|
162
163
|
description << ", tag `#{@params[:tag]}'" if @params[:tag]
|
163
164
|
end
|
164
165
|
end
|
@@ -16,6 +16,8 @@ module Pod
|
|
16
16
|
puts '-> Cloning git repo' if config.verbose?
|
17
17
|
if options[:tag]
|
18
18
|
download_tag
|
19
|
+
elsif options[:branch]
|
20
|
+
download_branch
|
19
21
|
elsif options[:commit]
|
20
22
|
download_commit
|
21
23
|
else
|
@@ -89,6 +91,13 @@ module Pod
|
|
89
91
|
raise Informative, "[!] Cache unable to find git reference `#{ref}' for `#{url}'.".red unless ref_exists?(ref)
|
90
92
|
end
|
91
93
|
|
94
|
+
def ensure_remote_branch_exists(branch)
|
95
|
+
Dir.chdir(cache_path) { git "branch -r | grep #{branch}$" } # check for remote branch and do suffix matching ($ anchor)
|
96
|
+
return if $? == 0
|
97
|
+
|
98
|
+
raise Informative, "[!] Cache unable to find git reference `#{branch}' for `#{url}' (#{$?}).".red
|
99
|
+
end
|
100
|
+
|
92
101
|
def download_head
|
93
102
|
update_cache
|
94
103
|
git "clone '#{clone_url}' '#{target_path}'"
|
@@ -112,6 +121,17 @@ module Pod
|
|
112
121
|
git "checkout -b activated-pod-commit #{options[:commit]}"
|
113
122
|
end
|
114
123
|
end
|
124
|
+
|
125
|
+
def download_branch
|
126
|
+
ensure_remote_branch_exists(options[:branch])
|
127
|
+
git "clone '#{clone_url}' '#{target_path}'"
|
128
|
+
Dir.chdir(target_path) do
|
129
|
+
git "remote add upstream #{@url}" # we need to add the original url, not the cache url
|
130
|
+
git "fetch -q upstream" # refresh the branches
|
131
|
+
git "checkout --track -b activated-pod-commit upstream/#{options[:branch]}" # create a new tracking branch
|
132
|
+
puts "Just downloaded and checked out branch: #{options[:branch]} from upstream #{clone_url}" if config.verbose?
|
133
|
+
end
|
134
|
+
end
|
115
135
|
end
|
116
136
|
|
117
137
|
class GitHub < Git
|
@@ -127,8 +147,12 @@ module Pod
|
|
127
147
|
download_only? ? download_and_extract_tarball(options[:commit]) : super
|
128
148
|
end
|
129
149
|
|
150
|
+
def download_branch
|
151
|
+
download_only? ? download_and_extract_tarball(options[:branch]) : super
|
152
|
+
end
|
153
|
+
|
130
154
|
def tarball_url_for(id)
|
131
|
-
original_url, username, reponame = *(url.match(/[:\/]([\w\-]+)\/([\w\-]+)\.git/)
|
155
|
+
original_url, username, reponame = *(url.match(/[:\/]([\w\-]+)\/([\w\-]+)\.git/))
|
132
156
|
"https://github.com/#{username}/#{reponame}/tarball/#{id}"
|
133
157
|
end
|
134
158
|
|
@@ -58,11 +58,11 @@ module Pod
|
|
58
58
|
def extract_with_type(full_filename, type=:zip)
|
59
59
|
case type
|
60
60
|
when :zip
|
61
|
-
unzip "'#{full_filename}' -d #{target_path}"
|
61
|
+
unzip "'#{full_filename}' -d '#{target_path}'"
|
62
62
|
when :tgz
|
63
|
-
tar "xfz '#{full_filename}' -C #{target_path}"
|
63
|
+
tar "xfz '#{full_filename}' -C '#{target_path}'"
|
64
64
|
when :tar
|
65
|
-
tar "xf '#{full_filename}' -C #{target_path}"
|
65
|
+
tar "xf '#{full_filename}' -C '#{target_path}'"
|
66
66
|
else
|
67
67
|
raise UnsupportedFileTypeError.new "Unsupported file type: #{type}"
|
68
68
|
end
|
data/lib/cocoapods/local_pod.rb
CHANGED
@@ -255,7 +255,7 @@ module Pod
|
|
255
255
|
# file.
|
256
256
|
#
|
257
257
|
def readme_file
|
258
|
-
expanded_paths(%w[
|
258
|
+
expanded_paths(%w[ readme{*,.*} ]).first
|
259
259
|
end
|
260
260
|
|
261
261
|
# @return [Pathname] The absolute path of the license file from the
|
@@ -265,7 +265,7 @@ module Pod
|
|
265
265
|
if top_specification.license && top_specification.license[:file]
|
266
266
|
root + top_specification.license[:file]
|
267
267
|
else
|
268
|
-
expanded_paths(%w[
|
268
|
+
expanded_paths(%w[ licen{c,s}e{*,.*} ]).first
|
269
269
|
end
|
270
270
|
end
|
271
271
|
|
@@ -305,7 +305,7 @@ module Pod
|
|
305
305
|
|
306
306
|
all_specs = [ top_specification ] + top_specification.subspecs
|
307
307
|
options = {:glob => '*.{h}'}
|
308
|
-
files = paths_by_spec(:source_files, options, all_specs).values.flatten
|
308
|
+
files = paths_by_spec(:source_files, options, all_specs).values.flatten
|
309
309
|
headers = files.select { |f| f.extname == '.h' }
|
310
310
|
headers
|
311
311
|
end
|
@@ -450,7 +450,7 @@ module Pod
|
|
450
450
|
if pattern.directory? && options[:glob]
|
451
451
|
pattern += options[:glob]
|
452
452
|
end
|
453
|
-
|
453
|
+
Pathname.glob(pattern, File::FNM_CASEFOLD)
|
454
454
|
end.flatten
|
455
455
|
end
|
456
456
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'xcodeproj/config'
|
2
|
+
require 'active_support/core_ext/string/strip.rb'
|
2
3
|
|
3
4
|
module Pod
|
4
5
|
extend Config::Mixin
|
@@ -189,23 +190,41 @@ module Pod
|
|
189
190
|
top_attr_accessor :summary
|
190
191
|
top_attr_accessor :documentation
|
191
192
|
top_attr_accessor :requires_arc
|
192
|
-
top_attr_accessor :license, lambda { |l| ( l.kind_of? String ) ? { :type => l } : l }
|
193
193
|
top_attr_accessor :version, lambda { |v| Version.new(v) }
|
194
|
-
top_attr_accessor :authors, lambda { |a| parse_authors(a) }
|
195
194
|
|
196
|
-
top_attr_reader :description, lambda {|instance, ivar| ivar || instance.summary }
|
197
|
-
top_attr_writer :description
|
195
|
+
top_attr_reader :description, lambda { |instance, ivar| ivar || instance.summary }
|
196
|
+
top_attr_writer :description, lambda { |d| d.strip_heredoc }
|
198
197
|
|
199
|
-
|
198
|
+
# @!method license
|
199
|
+
#
|
200
|
+
# @abstract
|
201
|
+
# The license of the pod.
|
202
|
+
#
|
203
|
+
# @example
|
204
|
+
# s.license = 'MIT'
|
205
|
+
# s.license = { :type => 'MIT', :file => 'license.txt', :text => 'Permission is granted to...' }
|
206
|
+
#
|
207
|
+
top_attr_accessor :license, lambda { |license|
|
208
|
+
license = ( license.kind_of? String ) ? { :type => license } : license
|
209
|
+
license[:text] = license[:text].strip_heredoc if license[:text]
|
210
|
+
license
|
211
|
+
}
|
200
212
|
|
201
|
-
|
213
|
+
# @!method authors
|
214
|
+
#
|
215
|
+
# @abstract
|
216
|
+
# The list of the authors (with email) of the pod.
|
217
|
+
#
|
218
|
+
top_attr_accessor :authors, lambda { |*names_and_email_addresses|
|
202
219
|
list = names_and_email_addresses.flatten
|
203
220
|
unless list.first.is_a?(Hash)
|
204
221
|
authors = list.last.is_a?(Hash) ? list.pop : {}
|
205
222
|
list.each { |name| authors[name] = nil }
|
206
223
|
end
|
207
224
|
authors || list.first
|
208
|
-
|
225
|
+
}
|
226
|
+
|
227
|
+
alias_method :author=, :authors=
|
209
228
|
|
210
229
|
### Attributes **with** multiple platform support
|
211
230
|
|
metadata
CHANGED
@@ -1,160 +1,192 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 6
|
8
|
-
- 1
|
9
|
-
version: 0.6.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.7.0
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Eloy Duran
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-07-06 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: faraday
|
22
|
-
|
23
|
-
|
24
|
-
requirements:
|
25
|
-
- - ~>
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 0
|
29
|
-
- 8
|
30
|
-
- 1
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
31
21
|
version: 0.8.1
|
32
22
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: octokit
|
36
23
|
prerelease: false
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.8.1
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: octokit
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
45
37
|
version: 1.7.0
|
46
38
|
type: :runtime
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: colored
|
50
39
|
prerelease: false
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.7.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: colored
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.2'
|
59
54
|
type: :runtime
|
60
|
-
version_requirements: *id003
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: escape
|
63
55
|
prerelease: false
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.2'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: escape
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
72
69
|
version: 0.0.4
|
73
70
|
type: :runtime
|
74
|
-
version_requirements: *id004
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: json
|
77
71
|
prerelease: false
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.0.4
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: json
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
86
85
|
version: 1.7.3
|
87
86
|
type: :runtime
|
88
|
-
version_requirements: *id005
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: open4
|
91
87
|
prerelease: false
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.7.3
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: open4
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
100
101
|
version: 1.3.0
|
101
102
|
type: :runtime
|
102
|
-
version_requirements: *id006
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: rake
|
105
103
|
prerelease: false
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.3.0
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rake
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
114
117
|
version: 0.9.0
|
115
118
|
type: :runtime
|
116
|
-
|
117
|
-
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.9.0
|
126
|
+
- !ruby/object:Gem::Dependency
|
118
127
|
name: xcodeproj
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 0.2.2
|
134
|
+
type: :runtime
|
119
135
|
prerelease: false
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 0.2.2
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: activesupport
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 3.2.6
|
129
150
|
type: :runtime
|
130
|
-
version_requirements: *id008
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: bacon
|
133
151
|
prerelease: false
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 3.2.6
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: bacon
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '1.1'
|
142
166
|
type: :development
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '1.1'
|
174
|
+
description: ! 'CocoaPods manages library dependencies for your Xcode project.
|
175
|
+
|
176
|
+
|
177
|
+
You specify the dependencies for your project in one easy text file. CocoaPods resolves
|
178
|
+
dependencies between libraries, fetches source code for the dependencies, and creates
|
179
|
+
and maintains an Xcode workspace to build your project.
|
180
|
+
|
181
|
+
|
182
|
+
Ultimately, the goal is to improve discoverability of, and engagement in, third
|
183
|
+
party open-source libraries, by creating a more centralized ecosystem.'
|
150
184
|
email: eloy.de.enige@gmail.com
|
151
|
-
executables:
|
185
|
+
executables:
|
152
186
|
- pod
|
153
187
|
extensions: []
|
154
|
-
|
155
188
|
extra_rdoc_files: []
|
156
|
-
|
157
|
-
files:
|
189
|
+
files:
|
158
190
|
- lib/cocoapods/command/error_report.rb
|
159
191
|
- lib/cocoapods/command/install.rb
|
160
192
|
- lib/cocoapods/command/list.rb
|
@@ -201,35 +233,33 @@ files:
|
|
201
233
|
- README.md
|
202
234
|
- LICENSE
|
203
235
|
- CHANGELOG.md
|
204
|
-
has_rdoc: true
|
205
236
|
homepage: https://github.com/CocoaPods/CocoaPods
|
206
|
-
licenses:
|
237
|
+
licenses:
|
207
238
|
- MIT
|
208
239
|
post_install_message:
|
209
240
|
rdoc_options: []
|
210
|
-
|
211
|
-
require_paths:
|
241
|
+
require_paths:
|
212
242
|
- lib
|
213
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
243
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
244
|
+
none: false
|
245
|
+
requirements:
|
246
|
+
- - ! '>='
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
version: '0'
|
249
|
+
segments:
|
218
250
|
- 0
|
219
|
-
|
220
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
version: "0"
|
251
|
+
hash: -3994196354824039548
|
252
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
253
|
+
none: false
|
254
|
+
requirements:
|
255
|
+
- - ! '>='
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
227
258
|
requirements: []
|
228
|
-
|
229
259
|
rubyforge_project:
|
230
|
-
rubygems_version: 1.
|
260
|
+
rubygems_version: 1.8.24
|
231
261
|
signing_key:
|
232
262
|
specification_version: 3
|
233
263
|
summary: An Objective-C library package manager.
|
234
264
|
test_files: []
|
235
|
-
|
265
|
+
has_rdoc:
|