cocoapods 0.17.0.rc1 → 0.17.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 +19 -3
- data/lib/cocoapods.rb +14 -0
- data/lib/cocoapods/command.rb +11 -4
- data/lib/cocoapods/config.rb +2 -2
- data/lib/cocoapods/external_sources.rb +6 -0
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/installer/file_references_installer.rb +5 -5
- data/lib/cocoapods/installer/pod_source_installer.rb +0 -8
- data/lib/cocoapods/sandbox/file_accessor.rb +16 -11
- data/lib/cocoapods/user_interface.rb +2 -2
- data/lib/cocoapods/user_interface/error_report.rb +5 -5
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec366f3412f372de76d07ff95b2b6c77d805ecb5
|
4
|
+
data.tar.gz: b05a660f2932e2c758489fbbd5d5aed7af4e188d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 498f5e5807b237c66558946b564aaac5a5e66051d231e96f696233f9368c89c3730928a1176659355d22c11eebd11b383032af94ca0758544e22cef8119ad476
|
7
|
+
data.tar.gz: 58422e34a9ff50dac4dd533cf9a8f7fbf7ddfa026aa2093efaabb001fc10b9a41fc260dcce44552bafd0ad9880ae39fbd642303be7ccbd2fff0fe4c3c138a6d9
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,21 @@
|
|
1
|
+
## 0.17.0.rc2
|
2
|
+
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.17.0.rc1...0.17.0.rc2)
|
3
|
+
• [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.17.0.rc1...0.17.0.rc2)
|
4
|
+
|
5
|
+
###### Bug fixes
|
6
|
+
|
7
|
+
- Restored output coloring.
|
8
|
+
- Fixed a crash related to subspecs
|
9
|
+
[#819](https://github.com/CocoaPods/CocoaPods/issues/819)
|
10
|
+
- Git repos were not cached for dependencies with external sources.
|
11
|
+
[#820](https://github.com/CocoaPods/CocoaPods/issues/820)
|
12
|
+
- Restored support for directories for the preserve_patterns specification
|
13
|
+
attribute.
|
14
|
+
[#823](https://github.com/CocoaPods/CocoaPods/issues/823)
|
15
|
+
|
1
16
|
## 0.17.0.rc1
|
2
|
-
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/
|
3
|
-
• [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.5.0
|
17
|
+
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.16.4...0.17.0.rc1)
|
18
|
+
• [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.4.3...0.5.0)
|
4
19
|
• [cocoapods-core](https://github.com/CocoaPods/Core)
|
5
20
|
• [cocoapods-downloader](https://github.com/CocoaPods/cocoapods-downloader)
|
6
21
|
|
@@ -17,6 +32,7 @@ CocoaPods internals and need to be updated:
|
|
17
32
|
- LibComponentLogging-pods/0.0.1/LibComponentLogging-pods.podspec
|
18
33
|
- RestKit/0.9.3/RestKit.podspec
|
19
34
|
- Three20/1.0.11/Three20.podspec
|
35
|
+
- ARAnalytics/1.1/ARAnalytics.podspec
|
20
36
|
|
21
37
|
Other specifications, might present compatibility issues for the reasons
|
22
38
|
presented below.
|
@@ -53,7 +69,7 @@ presented below.
|
|
53
69
|
|
54
70
|
###### Enhancements
|
55
71
|
|
56
|
-
- Released preview [documentation](docs.cocoapods.org).
|
72
|
+
- Released preview [documentation](http://docs.cocoapods.org).
|
57
73
|
- CocoaPods now has support for working in teams and not committing the Pods
|
58
74
|
folder, as it will keep track of the status of the Pods folder.
|
59
75
|
[#552](https://github.com/CocoaPods/CocoaPods/issues/552)
|
data/lib/cocoapods.rb
CHANGED
@@ -16,6 +16,20 @@ module Pod
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
# @return [String] The directory where CocoaPods caches the downloads.
|
20
|
+
#
|
21
|
+
# @todo The {Installer::PodSourceInstaller} and the #{ExternalSources}
|
22
|
+
# classes build and configure the downloader from scratch.
|
23
|
+
#
|
24
|
+
CACHE_ROOT = "~/Library/Caches/CocoaPods"
|
25
|
+
|
26
|
+
# @return [Fixnum] The maximum size for the cache expressed in Mb.
|
27
|
+
#
|
28
|
+
# @todo The {Installer::PodSourceInstaller} and the #{ExternalSources}
|
29
|
+
# classes build and configure the downloader from scratch.
|
30
|
+
#
|
31
|
+
MAX_CACHE_SIZE = 500
|
32
|
+
|
19
33
|
require 'cocoapods-core'
|
20
34
|
require 'xcodeproj'
|
21
35
|
require 'cocoapods/downloader'
|
data/lib/cocoapods/command.rb
CHANGED
@@ -21,7 +21,7 @@ module Pod
|
|
21
21
|
|
22
22
|
def self.parse(argv)
|
23
23
|
command = super
|
24
|
-
unless SourcesManager.master_repo_functional? || command.is_a?(Setup) || ENV['SKIP_SETUP']
|
24
|
+
unless SourcesManager.master_repo_functional? || command.is_a?(Setup) || command.is_a?(Repo::Add) || ENV['SKIP_SETUP']
|
25
25
|
Setup.new(CLAide::ARGV.new([])).run
|
26
26
|
end
|
27
27
|
command
|
@@ -52,11 +52,18 @@ module Pod
|
|
52
52
|
#
|
53
53
|
# @todo We should probably not even load colored unless needed.
|
54
54
|
#
|
55
|
+
# @todo Move silent flag to CLAide.
|
56
|
+
#
|
57
|
+
# @note It is importat that the commadnds don't overide the default
|
58
|
+
# settings if their flag is missing (i.e. their value is nil)
|
59
|
+
#
|
55
60
|
def initialize(argv)
|
56
|
-
config.silent = argv.flag?('silent', config.silent)
|
57
|
-
config.verbose = argv.flag?('verbose', config.verbose?)
|
58
|
-
String.send(:define_method, :colorize) { |string , _| string } unless self.colorize_output?
|
59
61
|
super
|
62
|
+
config.silent = argv.flag?('silent', config.silent)
|
63
|
+
config.verbose = self.verbose? unless self.verbose.nil?
|
64
|
+
unless self.colorize_output?
|
65
|
+
String.send(:define_method, :colorize) { |string , _| string }
|
66
|
+
end
|
60
67
|
end
|
61
68
|
|
62
69
|
#-------------------------------------------------------------------------#
|
data/lib/cocoapods/config.rb
CHANGED
@@ -113,7 +113,7 @@ module Pod
|
|
113
113
|
# @return [Pathname] the directory where the CocoaPods sources are stored.
|
114
114
|
#
|
115
115
|
def repos_dir
|
116
|
-
@repos_dir ||= Pathname.new(ENV['
|
116
|
+
@repos_dir ||= Pathname.new(ENV['CP_REPOS_DIR'] || "~/.cocoapods").expand_path
|
117
117
|
end
|
118
118
|
|
119
119
|
attr_writer :repos_dir
|
@@ -165,7 +165,7 @@ module Pod
|
|
165
165
|
# @return [Pathname] The path of the file which contains the user settings.
|
166
166
|
#
|
167
167
|
def user_settings_file
|
168
|
-
|
168
|
+
repos_dir + "config.yaml"
|
169
169
|
end
|
170
170
|
|
171
171
|
# Sets the values of the attributes with the given hash.
|
@@ -122,6 +122,9 @@ module Pod
|
|
122
122
|
# marked as pre-downloaded indicating to the installer that only
|
123
123
|
# clean operations are needed.
|
124
124
|
#
|
125
|
+
# @todo The downloader configuration is the same of the
|
126
|
+
# #{PodSourceInstaller} and it needs to be kept in sync.
|
127
|
+
#
|
125
128
|
# @return [void]
|
126
129
|
#
|
127
130
|
def pre_download(sandbox)
|
@@ -129,6 +132,9 @@ module Pod
|
|
129
132
|
target = sandbox.root + name
|
130
133
|
target.rmtree if target.exist?
|
131
134
|
downloader = Downloader.for_target(target, params)
|
135
|
+
downloader.cache_root = CACHE_ROOT
|
136
|
+
downloader.max_cache_size = MAX_CACHE_SIZE
|
137
|
+
downloader.aggressive_cache = false
|
132
138
|
downloader.download
|
133
139
|
store_podspec(sandbox, target + "#{name}.podspec")
|
134
140
|
sandbox.store_pre_downloaded_pod(name)
|
@@ -113,12 +113,11 @@ module Pod
|
|
113
113
|
sandbox.build_headers.add_search_path(headers_sandbox)
|
114
114
|
sandbox.public_headers.add_search_path(headers_sandbox)
|
115
115
|
|
116
|
-
|
117
|
-
header_mappings(headers_sandbox, consumer, file_accessor.headers).each do |namespaced_path, files|
|
116
|
+
header_mappings(headers_sandbox, file_accessor, file_accessor.headers).each do |namespaced_path, files|
|
118
117
|
sandbox.build_headers.add_files(namespaced_path, files)
|
119
118
|
end
|
120
119
|
|
121
|
-
header_mappings(headers_sandbox,
|
120
|
+
header_mappings(headers_sandbox, file_accessor, file_accessor.public_headers).each do |namespaced_path, files|
|
122
121
|
sandbox.public_headers.add_files(namespaced_path, files)
|
123
122
|
end
|
124
123
|
end
|
@@ -154,7 +153,8 @@ module Pod
|
|
154
153
|
# headers folders as the keys and the absolute paths of the
|
155
154
|
# header files as the values.
|
156
155
|
#
|
157
|
-
def header_mappings(headers_sandbox,
|
156
|
+
def header_mappings(headers_sandbox, file_accessor, headers)
|
157
|
+
consumer = file_accessor.spec_consumer
|
158
158
|
dir = headers_sandbox
|
159
159
|
dir = dir + consumer.header_dir if consumer.header_dir
|
160
160
|
|
@@ -162,7 +162,7 @@ module Pod
|
|
162
162
|
headers.each do |header|
|
163
163
|
sub_dir = dir
|
164
164
|
if consumer.header_mappings_dir
|
165
|
-
header_mappings_dir =
|
165
|
+
header_mappings_dir = file_accessor.path_list.root + consumer.header_mappings_dir
|
166
166
|
relative_path = header.relative_path_from(header_mappings_dir)
|
167
167
|
sub_dir = sub_dir + relative_path.dirname
|
168
168
|
end
|
@@ -152,14 +152,6 @@ module Pod
|
|
152
152
|
|
153
153
|
# @!group Dependencies
|
154
154
|
|
155
|
-
# @return [String] The directory where CocoaPods caches the downloads.
|
156
|
-
#
|
157
|
-
CACHE_ROOT = "~/Library/Caches/CocoaPods"
|
158
|
-
|
159
|
-
# @return [Fixnum] The maximum size for the cache expressed in Mb.
|
160
|
-
#
|
161
|
-
MAX_CACHE_SIZE = 500
|
162
|
-
|
163
155
|
# @return [Downloader] The downloader to use for the retrieving the
|
164
156
|
# source.
|
165
157
|
#
|
@@ -5,6 +5,8 @@ module Pod
|
|
5
5
|
# taking into account any exclude pattern and the default extensions to use
|
6
6
|
# for directories.
|
7
7
|
#
|
8
|
+
# @note The FileAccessor always returns absolute paths.
|
9
|
+
#
|
8
10
|
class FileAccessor
|
9
11
|
|
10
12
|
HEADER_EXTENSIONS = Xcodeproj::Constants::HEADER_FILES_EXTENSIONS
|
@@ -31,6 +33,12 @@ module Pod
|
|
31
33
|
end
|
32
34
|
end
|
33
35
|
|
36
|
+
# @return [Pathname] the directory which contains the files of the Pod.
|
37
|
+
#
|
38
|
+
def root
|
39
|
+
path_list.root
|
40
|
+
end
|
41
|
+
|
34
42
|
# @return [Specification] the specification.
|
35
43
|
#
|
36
44
|
def spec
|
@@ -39,14 +47,14 @@ module Pod
|
|
39
47
|
|
40
48
|
# @return [Specification] the platform used to consume the specification.
|
41
49
|
#
|
42
|
-
def
|
43
|
-
spec_consumer.
|
50
|
+
def platform_name
|
51
|
+
spec_consumer.platform_name
|
44
52
|
end
|
45
53
|
|
46
54
|
# @return [String] A string suitable for debugging.
|
47
55
|
#
|
48
56
|
def inspect
|
49
|
-
"<#{self.class} spec=#{spec.name} platform=#{
|
57
|
+
"<#{self.class} spec=#{spec.name} platform=#{platform_name} root=#{path_list.root}>"
|
50
58
|
end
|
51
59
|
|
52
60
|
#-----------------------------------------------------------------------#
|
@@ -83,17 +91,13 @@ module Pod
|
|
83
91
|
# specification grouped by destination.
|
84
92
|
#
|
85
93
|
def resources
|
86
|
-
|
87
|
-
:exclude_patterns => spec_consumer.exclude_files,
|
88
|
-
:include_dirs => true,
|
89
|
-
}
|
90
|
-
expanded_paths(spec_consumer.resources, options)
|
94
|
+
paths_for_attribute(:resources, true)
|
91
95
|
end
|
92
96
|
|
93
97
|
# @return [Array<Pathname>] the files of the specification to preserve.
|
94
98
|
#
|
95
99
|
def preserve_paths
|
96
|
-
paths_for_attribute(:preserve_paths)
|
100
|
+
paths_for_attribute(:preserve_paths, true)
|
97
101
|
end
|
98
102
|
|
99
103
|
# @return [Pathname] The of the prefix header file of the specification.
|
@@ -136,11 +140,12 @@ module Pod
|
|
136
140
|
#
|
137
141
|
# @return [Array<Pathname>] the paths.
|
138
142
|
#
|
139
|
-
def paths_for_attribute(attribute)
|
143
|
+
def paths_for_attribute(attribute, include_dirs = false)
|
140
144
|
file_patterns = spec_consumer.send(attribute)
|
141
145
|
options = {
|
142
146
|
:exclude_patterns => spec_consumer.exclude_files,
|
143
|
-
:dir_pattern => glob_for_attribute(attribute)
|
147
|
+
:dir_pattern => glob_for_attribute(attribute),
|
148
|
+
:include_dirs => include_dirs,
|
144
149
|
}
|
145
150
|
expanded_paths(file_patterns, options)
|
146
151
|
end
|
@@ -145,7 +145,7 @@ module Pod
|
|
145
145
|
# return [void]
|
146
146
|
#
|
147
147
|
def warn(message, actions = [], verbose_only = false)
|
148
|
-
warnings << { :message => message, :actions => actions }
|
148
|
+
warnings << { :message => message, :actions => actions, :verbose_only => verbose_only }
|
149
149
|
end
|
150
150
|
|
151
151
|
# Prints the stored warnings. This method is intended to be called at the
|
@@ -154,9 +154,9 @@ module Pod
|
|
154
154
|
# @return [void]
|
155
155
|
#
|
156
156
|
def print_warnings
|
157
|
-
return if config.silent? && verbose_only
|
158
157
|
STDOUT.flush
|
159
158
|
warnings.each do |warning|
|
159
|
+
next if warning[:verbose_only] && !config.verbose?
|
160
160
|
STDERR.puts("\n[!] #{warning[:message]}".yellow)
|
161
161
|
warning[:actions].each do |action|
|
162
162
|
indented = wrap_string(action, " - ")
|
@@ -7,7 +7,7 @@ module Pod
|
|
7
7
|
module UserInterface
|
8
8
|
module ErrorReport
|
9
9
|
class << self
|
10
|
-
def report(
|
10
|
+
def report(exception)
|
11
11
|
return <<-EOS
|
12
12
|
|
13
13
|
#{'――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――'.reversed}
|
@@ -36,16 +36,16 @@ Repositories : #{repo_information.join("\n ")}
|
|
36
36
|
### Error
|
37
37
|
|
38
38
|
```
|
39
|
-
#{
|
40
|
-
#{
|
39
|
+
#{exception.class} - #{exception.message}
|
40
|
+
#{exception.backtrace.join("\n")}
|
41
41
|
```
|
42
42
|
|
43
43
|
#{'――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――'.reversed}
|
44
44
|
|
45
45
|
#{'[!] Oh no, an error occurred.'.red}
|
46
|
-
#{error_from_podfile(
|
46
|
+
#{error_from_podfile(exception)}
|
47
47
|
#{'Search for existing github issues similar to yours:'.yellow}
|
48
|
-
#{"https://github.com/CocoaPods/CocoaPods/issues/search?q=#{CGI.escape(
|
48
|
+
#{"https://github.com/CocoaPods/CocoaPods/issues/search?q=#{CGI.escape(exception.message)}"}
|
49
49
|
|
50
50
|
#{'If none exists, create a ticket, with the template displayed above, on:'.yellow}
|
51
51
|
https://github.com/CocoaPods/CocoaPods/issues/new
|
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.17.0.
|
4
|
+
version: 0.17.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: 2013-02-
|
12
|
+
date: 2013-02-27 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.17.0.
|
20
|
+
version: 0.17.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.17.0.
|
27
|
+
version: 0.17.0.rc2
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: claide
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|