cocoapods 0.17.0.rc1 → 0.17.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 +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
|