cocoapods 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/cocoapods.rb +2 -1
- data/lib/cocoapods/downloader.rb +2 -5
- data/lib/cocoapods/file_list.rb +34 -0
- data/lib/cocoapods/specification.rb +35 -11
- metadata +3 -2
data/lib/cocoapods.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Pod
|
2
|
-
VERSION = '0.3.
|
2
|
+
VERSION = '0.3.2'
|
3
3
|
|
4
4
|
class Informative < StandardError
|
5
5
|
end
|
@@ -19,6 +19,7 @@ module Pod
|
|
19
19
|
autoload :Version, 'cocoapods/version'
|
20
20
|
|
21
21
|
autoload :Pathname, 'pathname'
|
22
|
+
autoload :FileList, 'cocoapods/file_list'
|
22
23
|
end
|
23
24
|
|
24
25
|
module Xcodeproj
|
data/lib/cocoapods/downloader.rb
CHANGED
@@ -54,11 +54,8 @@ module Pod
|
|
54
54
|
|
55
55
|
def clean(clean_paths = [])
|
56
56
|
(@pod_root + '.git').rmtree
|
57
|
-
clean_paths.each do |
|
58
|
-
|
59
|
-
pattern.glob.each do |path|
|
60
|
-
path.rmtree
|
61
|
-
end
|
57
|
+
clean_paths.each do |path|
|
58
|
+
path.rmtree
|
62
59
|
end if clean_paths
|
63
60
|
end
|
64
61
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'rake'
|
2
|
+
|
3
|
+
# This makes Rake::FileList usable with the Specification attributes
|
4
|
+
# source_files, clean_paths, and resources.
|
5
|
+
|
6
|
+
module Rake
|
7
|
+
class FileList
|
8
|
+
def prepend_patterns(pathname)
|
9
|
+
@pending_add.map! { |pattern| (pathname + pattern).to_s }
|
10
|
+
end
|
11
|
+
|
12
|
+
def directory?
|
13
|
+
false
|
14
|
+
end
|
15
|
+
|
16
|
+
def glob
|
17
|
+
to_a.map { |path| Pathname.new(path) }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class Pathname
|
23
|
+
alias_method :_original_sum, :+
|
24
|
+
def +(other)
|
25
|
+
if other.is_a?(Rake::FileList)
|
26
|
+
other.prepend_patterns(self)
|
27
|
+
other
|
28
|
+
else
|
29
|
+
_original_sum(other)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
|
@@ -21,7 +21,7 @@ module Pod
|
|
21
21
|
attr_accessor :defined_in_file
|
22
22
|
|
23
23
|
def initialize
|
24
|
-
@dependencies = []
|
24
|
+
@dependencies, @resources, @clean_paths = [], [], []
|
25
25
|
@xcconfig = Xcodeproj::Config.new
|
26
26
|
yield self if block_given?
|
27
27
|
end
|
@@ -67,21 +67,22 @@ module Pod
|
|
67
67
|
@part_of = dependency(*name_and_version_requirements)
|
68
68
|
end
|
69
69
|
|
70
|
-
def source_files=(
|
71
|
-
@source_files = patterns
|
70
|
+
def source_files=(patterns)
|
71
|
+
@source_files = pattern_list(patterns)
|
72
72
|
end
|
73
73
|
attr_reader :source_files
|
74
74
|
|
75
|
-
def resources=(
|
76
|
-
@resources = patterns
|
75
|
+
def resources=(patterns)
|
76
|
+
@resources = pattern_list(patterns)
|
77
77
|
end
|
78
78
|
attr_reader :resources
|
79
79
|
alias_method :resource=, :resources=
|
80
80
|
|
81
|
-
def clean_paths=(
|
82
|
-
@clean_paths = patterns
|
81
|
+
def clean_paths=(patterns)
|
82
|
+
@clean_paths = pattern_list(patterns)
|
83
83
|
end
|
84
84
|
attr_reader :clean_paths
|
85
|
+
alias_method :clean_path=, :clean_paths=
|
85
86
|
|
86
87
|
def xcconfig=(hash)
|
87
88
|
@xcconfig.merge!(hash)
|
@@ -178,13 +179,20 @@ module Pod
|
|
178
179
|
false
|
179
180
|
end
|
180
181
|
|
182
|
+
def pattern_list(patterns)
|
183
|
+
if patterns.is_a?(Array) && (!defined?(Rake) || !patterns.is_a?(Rake::FileList))
|
184
|
+
patterns
|
185
|
+
else
|
186
|
+
[patterns]
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
181
190
|
# Returns all resource files of this pod, but relative to the
|
182
191
|
# project pods root.
|
183
192
|
def expanded_resources
|
184
193
|
files = []
|
185
|
-
|
194
|
+
resources.each do |pattern|
|
186
195
|
pattern = pod_destroot + pattern
|
187
|
-
pattern = pattern + '*' if pattern.directory?
|
188
196
|
pattern.glob.each do |file|
|
189
197
|
files << file.relative_path_from(config.project_pods_root)
|
190
198
|
end
|
@@ -192,11 +200,27 @@ module Pod
|
|
192
200
|
files
|
193
201
|
end
|
194
202
|
|
203
|
+
# Returns full paths to clean for this pod.
|
204
|
+
def expanded_clean_paths
|
205
|
+
files = []
|
206
|
+
clean_paths.each do |pattern|
|
207
|
+
pattern = pod_destroot + pattern
|
208
|
+
pattern.glob.each do |file|
|
209
|
+
files << file
|
210
|
+
end
|
211
|
+
end
|
212
|
+
files
|
213
|
+
end
|
214
|
+
|
195
215
|
# Returns all source files of this pod including header files,
|
196
216
|
# but relative to the project pods root.
|
217
|
+
#
|
218
|
+
# If the pattern is the path to a directory, the pattern will
|
219
|
+
# automatically glob for c, c++, Objective-C, and Objective-C++
|
220
|
+
# files.
|
197
221
|
def expanded_source_files
|
198
222
|
files = []
|
199
|
-
|
223
|
+
source_files.each do |pattern|
|
200
224
|
pattern = pod_destroot + pattern
|
201
225
|
pattern = pattern + '*.{h,m,mm,c,cpp}' if pattern.directory?
|
202
226
|
pattern.glob.each do |file|
|
@@ -320,7 +344,7 @@ module Pod
|
|
320
344
|
def download!
|
321
345
|
downloader = Downloader.for_source(pod_destroot, source)
|
322
346
|
downloader.download
|
323
|
-
downloader.clean(
|
347
|
+
downloader.clean(expanded_clean_paths) if config.clean
|
324
348
|
end
|
325
349
|
|
326
350
|
# This is a convenience method which gets called after all pods have been
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 2
|
9
|
+
version: 0.3.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Eloy Duran
|
@@ -56,6 +56,7 @@ files:
|
|
56
56
|
- lib/cocoapods/dependency.rb
|
57
57
|
- lib/cocoapods/downloader.rb
|
58
58
|
- lib/cocoapods/executable.rb
|
59
|
+
- lib/cocoapods/file_list.rb
|
59
60
|
- lib/cocoapods/installer.rb
|
60
61
|
- lib/cocoapods/podfile.rb
|
61
62
|
- lib/cocoapods/resolver.rb
|