cocoapods 0.36.4 → 0.37.0.beta.1
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 +54 -0
- data/LICENSE +8 -2
- data/README.md +37 -16
- data/lib/cocoapods/command/lib.rb +3 -0
- data/lib/cocoapods/command/repo.rb +0 -31
- data/lib/cocoapods/command/repo/list.rb +16 -18
- data/lib/cocoapods/command/spec/lint.rb +3 -0
- data/lib/cocoapods/config.rb +6 -0
- data/lib/cocoapods/downloader.rb +40 -0
- data/lib/cocoapods/downloader/cache.rb +210 -0
- data/lib/cocoapods/downloader/request.rb +90 -0
- data/lib/cocoapods/downloader/response.rb +16 -0
- data/lib/cocoapods/external_sources/abstract_external_source.rb +18 -19
- data/lib/cocoapods/external_sources/path_source.rb +0 -2
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/embed_frameworks_script.rb +2 -2
- data/lib/cocoapods/generator/module_map.rb +17 -2
- data/lib/cocoapods/installer/analyzer.rb +21 -1
- data/lib/cocoapods/installer/pod_source_installer.rb +14 -111
- data/lib/cocoapods/installer/target_installer.rb +4 -0
- data/lib/cocoapods/installer/target_installer/pod_target_installer.rb +23 -2
- data/lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb +36 -6
- data/lib/cocoapods/resolver.rb +3 -6
- data/lib/cocoapods/sandbox.rb +5 -3
- data/lib/cocoapods/sandbox/file_accessor.rb +25 -5
- data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +85 -0
- data/lib/cocoapods/sandbox/podspec_finder.rb +26 -0
- data/lib/cocoapods/validator.rb +32 -7
- metadata +73 -64
@@ -22,7 +22,9 @@ module Pod
|
|
22
22
|
create_xcconfig_file
|
23
23
|
if target.requires_frameworks?
|
24
24
|
create_info_plist_file
|
25
|
-
create_module_map
|
25
|
+
create_module_map do |generator|
|
26
|
+
generator.private_headers += target.file_accessors.flat_map(&:private_headers).map(&:basename)
|
27
|
+
end
|
26
28
|
create_umbrella_header do |generator|
|
27
29
|
generator.imports += target.file_accessors.flat_map(&:public_headers).map(&:basename)
|
28
30
|
end
|
@@ -50,6 +52,7 @@ module Pod
|
|
50
52
|
|
51
53
|
headers = file_accessor.headers
|
52
54
|
public_headers = file_accessor.public_headers
|
55
|
+
private_headers = file_accessor.private_headers
|
53
56
|
other_source_files = file_accessor.source_files.select { |sf| sf.extname == '.d' }
|
54
57
|
|
55
58
|
{
|
@@ -66,9 +69,13 @@ module Pod
|
|
66
69
|
native_target.add_file_references(header_file_refs) do |build_file|
|
67
70
|
# Set added headers as public if needed
|
68
71
|
if target.requires_frameworks?
|
72
|
+
build_file.settings ||= {}
|
69
73
|
if public_headers.include?(build_file.file_ref.real_path)
|
70
|
-
build_file.settings ||= {}
|
71
74
|
build_file.settings['ATTRIBUTES'] = ['Public']
|
75
|
+
elsif private_headers.include?(build_file.file_ref.real_path)
|
76
|
+
build_file.settings['ATTRIBUTES'] = ['Private']
|
77
|
+
else
|
78
|
+
build_file.settings['ATTRIBUTES'] = ['Project']
|
72
79
|
end
|
73
80
|
end
|
74
81
|
end
|
@@ -239,6 +246,20 @@ module Pod
|
|
239
246
|
group.new_file(path)
|
240
247
|
end
|
241
248
|
|
249
|
+
def create_module_map
|
250
|
+
return super unless module_map = target.file_accessors.first.module_map
|
251
|
+
path = target.module_map_path
|
252
|
+
UI.message "- Copying module map file to #{UI.path(path)}" do
|
253
|
+
FileUtils.cp(module_map, path)
|
254
|
+
add_file_to_support_group(path)
|
255
|
+
|
256
|
+
native_target.build_configurations.each do |c|
|
257
|
+
relative_path = path.relative_path_from(sandbox.root)
|
258
|
+
c.build_settings['MODULEMAP_FILE'] = relative_path.to_s
|
259
|
+
end
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
242
263
|
#-----------------------------------------------------------------------#
|
243
264
|
end
|
244
265
|
end
|
data/lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb
CHANGED
@@ -91,12 +91,14 @@ module Pod
|
|
91
91
|
file_ref = group.files.find { |f| f.path == path }
|
92
92
|
if config.base_configuration_reference &&
|
93
93
|
config.base_configuration_reference != file_ref
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
94
|
+
unless xcconfig_includes_target_xcconfig?(config.base_configuration_reference, path)
|
95
|
+
UI.warn 'CocoaPods did not set the base configuration of your ' \
|
96
|
+
'project because your project already has a custom ' \
|
97
|
+
'config set. In order for CocoaPods integration to work at ' \
|
98
|
+
'all, please either set the base configurations of the target ' \
|
99
|
+
"`#{target.name}` to `#{path}` or include the `#{path}` in your " \
|
100
|
+
'build configuration.'
|
101
|
+
end
|
100
102
|
elsif config.base_configuration_reference.nil? || file_ref.nil?
|
101
103
|
file_ref ||= group.new_file(path)
|
102
104
|
config.base_configuration_reference = file_ref
|
@@ -136,6 +138,34 @@ module Pod
|
|
136
138
|
'This can lead to problems with the CocoaPods installation'
|
137
139
|
UI.warn(message, actions)
|
138
140
|
end
|
141
|
+
|
142
|
+
# Naively checks to see if a given PBXFileReference imports a given
|
143
|
+
# path.
|
144
|
+
#
|
145
|
+
# @param [PBXFileReference] base_config_ref
|
146
|
+
# A file reference to an `.xcconfig` file.
|
147
|
+
#
|
148
|
+
# @param [String] target_config_path
|
149
|
+
# The path to check for.
|
150
|
+
#
|
151
|
+
SILENCE_WARNINGS_STRING = '// @COCOAPODS_SILENCE_WARNINGS@ //'
|
152
|
+
def self.xcconfig_includes_target_xcconfig?(base_config_ref, target_config_path)
|
153
|
+
return unless base_config_ref && base_config_ref.real_path.file?
|
154
|
+
regex = /
|
155
|
+
^(
|
156
|
+
(\s* # Possible, but unlikely, space before include statement
|
157
|
+
\#include\s+ # Include statement
|
158
|
+
['"] # Open quote
|
159
|
+
(.*\/)? # Possible prefix to path
|
160
|
+
#{Regexp.quote(target_config_path)} # The path should end in the target_config_path
|
161
|
+
['"] # Close quote
|
162
|
+
)
|
163
|
+
|
|
164
|
+
(#{Regexp.quote(SILENCE_WARNINGS_STRING)}) # Token to treat xcconfig as good and silence pod install warnings
|
165
|
+
)
|
166
|
+
/x
|
167
|
+
base_config_ref.real_path.readlines.find { |line| line =~ regex }
|
168
|
+
end
|
139
169
|
end
|
140
170
|
end
|
141
171
|
end
|
data/lib/cocoapods/resolver.rb
CHANGED
@@ -355,16 +355,13 @@ module Pod
|
|
355
355
|
#
|
356
356
|
# @raise If the specification is not supported by the target.
|
357
357
|
#
|
358
|
-
# @todo This step is not specific to the resolution process and should be
|
359
|
-
# performed later in the analysis.
|
360
|
-
#
|
361
358
|
# @return [void]
|
362
359
|
#
|
363
360
|
def validate_platform(spec, target)
|
364
|
-
unless spec.available_platforms.any? { |p| target.platform.
|
361
|
+
unless spec.available_platforms.any? { |p| target.platform.to_sym == p.to_sym }
|
365
362
|
raise Informative, "The platform of the target `#{target.name}` " \
|
366
|
-
"(#{target.platform}) is not compatible with `#{spec}
|
367
|
-
"
|
363
|
+
"(#{target.platform}) is not compatible with `#{spec}`, which does " \
|
364
|
+
"not support `#{target.platform.name}`."
|
368
365
|
end
|
369
366
|
end
|
370
367
|
|
data/lib/cocoapods/sandbox.rb
CHANGED
@@ -36,9 +36,11 @@ module Pod
|
|
36
36
|
# +-- Pods.xcodeproj
|
37
37
|
#
|
38
38
|
class Sandbox
|
39
|
-
autoload :FileAccessor,
|
40
|
-
autoload :HeadersStore,
|
41
|
-
autoload :PathList,
|
39
|
+
autoload :FileAccessor, 'cocoapods/sandbox/file_accessor'
|
40
|
+
autoload :HeadersStore, 'cocoapods/sandbox/headers_store'
|
41
|
+
autoload :PathList, 'cocoapods/sandbox/path_list'
|
42
|
+
autoload :PodDirCleaner, 'cocoapods/sandbox/pod_dir_cleaner'
|
43
|
+
autoload :PodspecFinder, 'cocoapods/sandbox/podspec_finder'
|
42
44
|
|
43
45
|
# @return [Pathname] the root of the sandbox.
|
44
46
|
#
|
@@ -124,8 +124,13 @@ module Pod
|
|
124
124
|
header_files - private_headers
|
125
125
|
end
|
126
126
|
|
127
|
-
# @return [
|
128
|
-
#
|
127
|
+
# @return [Array<Pathname>] The private headers of the specification.
|
128
|
+
#
|
129
|
+
def private_headers
|
130
|
+
private_header_files
|
131
|
+
end
|
132
|
+
|
133
|
+
# @return [Array<Pathname>] the resources of the specification.
|
129
134
|
#
|
130
135
|
def resources
|
131
136
|
paths_for_attribute(:resources, true)
|
@@ -206,6 +211,14 @@ module Pod
|
|
206
211
|
end
|
207
212
|
end
|
208
213
|
|
214
|
+
# @return [Pathname, Nil] The path of the custom module map file of the
|
215
|
+
# specification, if specified.
|
216
|
+
def module_map
|
217
|
+
if module_map = spec_consumer.spec.root.module_map
|
218
|
+
path_list.root + module_map
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
209
222
|
#-----------------------------------------------------------------------#
|
210
223
|
|
211
224
|
private
|
@@ -254,15 +267,22 @@ module Pod
|
|
254
267
|
# Matches the given patterns to the file present in the root of the path
|
255
268
|
# list.
|
256
269
|
#
|
257
|
-
# @param
|
270
|
+
# @param [Array<String>] patterns
|
258
271
|
# The patterns to expand.
|
259
272
|
#
|
260
|
-
# @param [
|
273
|
+
# @param [Hash] options
|
274
|
+
# The options to use to expand the patterns to file paths.
|
275
|
+
#
|
276
|
+
# @option options [String] :dir_pattern
|
261
277
|
# The pattern to add to directories.
|
262
278
|
#
|
263
|
-
# @
|
279
|
+
# @option options [Array<String>] :exclude_patterns
|
264
280
|
# The exclude patterns to pass to the PathList.
|
265
281
|
#
|
282
|
+
# @option options [Bool] :include_dirs
|
283
|
+
# Whether directories should be also included or just plain
|
284
|
+
# files.
|
285
|
+
#
|
266
286
|
# @raise [Informative] If the pod does not exists.
|
267
287
|
#
|
268
288
|
# @return [Array<Pathname>] A list of the paths.
|
@@ -0,0 +1,85 @@
|
|
1
|
+
module Pod
|
2
|
+
class Sandbox
|
3
|
+
class PodDirCleaner
|
4
|
+
attr_reader :root
|
5
|
+
attr_reader :specs_by_platform
|
6
|
+
|
7
|
+
def initialize(root, specs_by_platform)
|
8
|
+
@root = root
|
9
|
+
@specs_by_platform = specs_by_platform
|
10
|
+
end
|
11
|
+
|
12
|
+
# Removes all the files not needed for the installation according to the
|
13
|
+
# specs by platform.
|
14
|
+
#
|
15
|
+
# @return [void]
|
16
|
+
#
|
17
|
+
def clean!
|
18
|
+
clean_paths.each { |path| FileUtils.rm_rf(path) } if root.exist?
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
# @return [Array<Sandbox::FileAccessor>] the file accessors for all the
|
24
|
+
# specifications on their respective platform.
|
25
|
+
#
|
26
|
+
def file_accessors
|
27
|
+
@file_accessors ||= specs_by_platform.flat_map do |platform, specs|
|
28
|
+
specs.flat_map { |spec| Sandbox::FileAccessor.new(path_list, spec.consumer(platform)) }
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# @return [Sandbox::PathList] The path list for this Pod.
|
33
|
+
#
|
34
|
+
def path_list
|
35
|
+
@path_list ||= Sandbox::PathList.new(root)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Finds the absolute paths, including hidden ones, of the files
|
39
|
+
# that are not used by the pod and thus can be safely deleted.
|
40
|
+
#
|
41
|
+
# @note Implementation detail: Don't use `Dir#glob` as there is an
|
42
|
+
# unexplained issue (#568, #572 and #602).
|
43
|
+
#
|
44
|
+
# @todo The paths are down-cased for the comparison as issues similar
|
45
|
+
# to #602 lead the files not being matched and so cleaning all
|
46
|
+
# the files. This solution might create side effects.
|
47
|
+
#
|
48
|
+
# @return [Array<Strings>] The paths that can be deleted.
|
49
|
+
#
|
50
|
+
def clean_paths
|
51
|
+
cached_used = used_files
|
52
|
+
glob_options = File::FNM_DOTMATCH | File::FNM_CASEFOLD
|
53
|
+
files = Pathname.glob(root + '**/*', glob_options).map(&:to_s)
|
54
|
+
|
55
|
+
files.reject do |candidate|
|
56
|
+
candidate = candidate.downcase
|
57
|
+
candidate.end_with?('.', '..') || cached_used.any? do |path|
|
58
|
+
path = path.downcase
|
59
|
+
path.include?(candidate) || candidate.include?(path)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# @return [Array<String>] The absolute path of all the files used by the
|
65
|
+
# specifications (according to their platform) of this Pod.
|
66
|
+
#
|
67
|
+
def used_files
|
68
|
+
files = [
|
69
|
+
file_accessors.map(&:vendored_frameworks),
|
70
|
+
file_accessors.map(&:vendored_libraries),
|
71
|
+
file_accessors.map(&:resource_bundle_files),
|
72
|
+
file_accessors.map(&:license),
|
73
|
+
file_accessors.map(&:prefix_header),
|
74
|
+
file_accessors.map(&:preserve_paths),
|
75
|
+
file_accessors.map(&:readme),
|
76
|
+
file_accessors.map(&:resources),
|
77
|
+
file_accessors.map(&:source_files),
|
78
|
+
file_accessors.map(&:module_map),
|
79
|
+
]
|
80
|
+
|
81
|
+
files.flatten.compact.map(&:to_s).uniq
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Pod
|
2
|
+
class Sandbox
|
3
|
+
class PodspecFinder
|
4
|
+
attr_reader :root
|
5
|
+
|
6
|
+
def initialize(root)
|
7
|
+
@root = root
|
8
|
+
end
|
9
|
+
|
10
|
+
def podspecs
|
11
|
+
return @specs_by_name if @specs_by_name
|
12
|
+
@specs_by_name = {}
|
13
|
+
spec_files = Pathname.glob(root + '{,*,*/*}.podspec{,.json}')
|
14
|
+
spec_files.sort_by { |p| -p.to_path.split(File::SEPARATOR).size }.each do |file|
|
15
|
+
begin
|
16
|
+
spec = Specification.from_file(file)
|
17
|
+
@specs_by_name[spec.name] = spec
|
18
|
+
rescue => e
|
19
|
+
UI.warn "Unable to load a podspec from `#{file.basename}`, skipping:\n\n#{e}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
@specs_by_name
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/cocoapods/validator.rb
CHANGED
@@ -123,6 +123,12 @@ module Pod
|
|
123
123
|
#
|
124
124
|
attr_accessor :no_clean
|
125
125
|
|
126
|
+
# @return [Bool] whether the linter should fail as soon as the first build
|
127
|
+
# variant causes an error. Helpful for i.e. multi-platforms specs,
|
128
|
+
# specs with subspecs.
|
129
|
+
#
|
130
|
+
attr_accessor :fail_fast
|
131
|
+
|
126
132
|
# @return [Bool] whether the validation should be performed against the root of
|
127
133
|
# the podspec instead to its original source.
|
128
134
|
#
|
@@ -208,7 +214,7 @@ module Pod
|
|
208
214
|
validate_documentation_url(spec)
|
209
215
|
validate_docset_url(spec)
|
210
216
|
|
211
|
-
spec.available_platforms.each do |platform|
|
217
|
+
valid = spec.available_platforms.send(fail_fast ? :all? : :each) do |platform|
|
212
218
|
UI.message "\n\n#{spec} - Analyzing on #{platform} platform.".green.reversed
|
213
219
|
@consumer = spec.consumer(platform)
|
214
220
|
setup_validation_environment
|
@@ -217,14 +223,16 @@ module Pod
|
|
217
223
|
build_pod
|
218
224
|
check_file_patterns
|
219
225
|
tear_down_validation_environment
|
226
|
+
validated?
|
220
227
|
end
|
228
|
+
return false if fail_fast && !valid
|
221
229
|
perform_extensive_subspec_analysis(spec) unless @no_subspecs
|
222
230
|
end
|
223
231
|
|
224
232
|
# Recursively perform the extensive analysis on all subspecs
|
225
233
|
#
|
226
234
|
def perform_extensive_subspec_analysis(spec)
|
227
|
-
spec.subspecs.each do |subspec|
|
235
|
+
spec.subspecs.send(fail_fast ? :all? : :each) do |subspec|
|
228
236
|
@subspec_name = subspec.name
|
229
237
|
perform_extensive_analysis(subspec)
|
230
238
|
end
|
@@ -399,9 +407,8 @@ module Pod
|
|
399
407
|
end
|
400
408
|
|
401
409
|
if consumer.spec.root?
|
402
|
-
|
403
|
-
|
404
|
-
end
|
410
|
+
_validate_license
|
411
|
+
_validate_module_map
|
405
412
|
end
|
406
413
|
end
|
407
414
|
|
@@ -413,6 +420,24 @@ module Pod
|
|
413
420
|
_validate_header_files(:public_header_files)
|
414
421
|
end
|
415
422
|
|
423
|
+
def _validate_license
|
424
|
+
unless file_accessor.license || spec.license && (spec.license[:type] == 'Public Domain' || spec.license[:text])
|
425
|
+
warning('license', 'Unable to find a license file')
|
426
|
+
end
|
427
|
+
end
|
428
|
+
|
429
|
+
def _validate_module_map
|
430
|
+
if spec.module_map
|
431
|
+
unless file_accessor.module_map.exist?
|
432
|
+
error('module_map', 'Unable to find the specified module map file.')
|
433
|
+
end
|
434
|
+
unless file_accessor.module_map.extname == '.modulemap'
|
435
|
+
relative_path = file_accessor.module_map.relative_path_from file_accessor.root
|
436
|
+
error('module_map', "Unexpected file extension for modulemap file (#{relative_path}).")
|
437
|
+
end
|
438
|
+
end
|
439
|
+
end
|
440
|
+
|
416
441
|
# Ensures that a list of header files only contains header files.
|
417
442
|
#
|
418
443
|
def _validate_header_files(attr_name)
|
@@ -538,8 +563,8 @@ module Pod
|
|
538
563
|
# returns its output (both STDOUT and STDERR).
|
539
564
|
#
|
540
565
|
def xcodebuild
|
541
|
-
command = 'xcodebuild clean build -target Pods
|
542
|
-
command << ' -sdk iphonesimulator' if consumer.platform_name == :ios
|
566
|
+
command = 'xcodebuild clean build -target Pods'
|
567
|
+
command << ' CODE_SIGN_IDENTITY=- -sdk iphonesimulator' if consumer.platform_name == :ios
|
543
568
|
output, status = _xcodebuild "#{command} 2>&1"
|
544
569
|
|
545
570
|
unless status.success?
|
metadata
CHANGED
@@ -1,15 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.37.0.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
8
8
|
- Fabio Pelosin
|
9
|
+
- Kyle Fuller
|
10
|
+
- Samuel Giddins
|
9
11
|
autorequire:
|
10
12
|
bindir: bin
|
11
13
|
cert_chain: []
|
12
|
-
date: 2015-04-
|
14
|
+
date: 2015-04-18 00:00:00.000000000 Z
|
13
15
|
dependencies:
|
14
16
|
- !ruby/object:Gem::Dependency
|
15
17
|
name: cocoapods-core
|
@@ -17,222 +19,222 @@ dependencies:
|
|
17
19
|
requirements:
|
18
20
|
- - '='
|
19
21
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.
|
22
|
+
version: 0.37.0.beta.1
|
21
23
|
type: :runtime
|
22
24
|
prerelease: false
|
23
25
|
version_requirements: !ruby/object:Gem::Requirement
|
24
26
|
requirements:
|
25
27
|
- - '='
|
26
28
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.
|
29
|
+
version: 0.37.0.beta.1
|
28
30
|
- !ruby/object:Gem::Dependency
|
29
31
|
name: claide
|
30
32
|
requirement: !ruby/object:Gem::Requirement
|
31
33
|
requirements:
|
32
|
-
- - ~>
|
34
|
+
- - "~>"
|
33
35
|
- !ruby/object:Gem::Version
|
34
36
|
version: 0.8.1
|
35
37
|
type: :runtime
|
36
38
|
prerelease: false
|
37
39
|
version_requirements: !ruby/object:Gem::Requirement
|
38
40
|
requirements:
|
39
|
-
- - ~>
|
41
|
+
- - "~>"
|
40
42
|
- !ruby/object:Gem::Version
|
41
43
|
version: 0.8.1
|
42
44
|
- !ruby/object:Gem::Dependency
|
43
45
|
name: xcodeproj
|
44
46
|
requirement: !ruby/object:Gem::Requirement
|
45
47
|
requirements:
|
46
|
-
- - ~>
|
48
|
+
- - "~>"
|
47
49
|
- !ruby/object:Gem::Version
|
48
|
-
version: 0.
|
50
|
+
version: 0.24.0
|
49
51
|
type: :runtime
|
50
52
|
prerelease: false
|
51
53
|
version_requirements: !ruby/object:Gem::Requirement
|
52
54
|
requirements:
|
53
|
-
- - ~>
|
55
|
+
- - "~>"
|
54
56
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0.
|
57
|
+
version: 0.24.0
|
56
58
|
- !ruby/object:Gem::Dependency
|
57
59
|
name: cocoapods-downloader
|
58
60
|
requirement: !ruby/object:Gem::Requirement
|
59
61
|
requirements:
|
60
|
-
- - ~>
|
62
|
+
- - "~>"
|
61
63
|
- !ruby/object:Gem::Version
|
62
64
|
version: 0.9.0
|
63
65
|
type: :runtime
|
64
66
|
prerelease: false
|
65
67
|
version_requirements: !ruby/object:Gem::Requirement
|
66
68
|
requirements:
|
67
|
-
- - ~>
|
69
|
+
- - "~>"
|
68
70
|
- !ruby/object:Gem::Version
|
69
71
|
version: 0.9.0
|
70
72
|
- !ruby/object:Gem::Dependency
|
71
73
|
name: cocoapods-plugins
|
72
74
|
requirement: !ruby/object:Gem::Requirement
|
73
75
|
requirements:
|
74
|
-
- - ~>
|
76
|
+
- - "~>"
|
75
77
|
- !ruby/object:Gem::Version
|
76
|
-
version: 0.4.
|
78
|
+
version: 0.4.2
|
77
79
|
type: :runtime
|
78
80
|
prerelease: false
|
79
81
|
version_requirements: !ruby/object:Gem::Requirement
|
80
82
|
requirements:
|
81
|
-
- - ~>
|
83
|
+
- - "~>"
|
82
84
|
- !ruby/object:Gem::Version
|
83
|
-
version: 0.4.
|
85
|
+
version: 0.4.2
|
84
86
|
- !ruby/object:Gem::Dependency
|
85
87
|
name: cocoapods-try
|
86
88
|
requirement: !ruby/object:Gem::Requirement
|
87
89
|
requirements:
|
88
|
-
- - ~>
|
90
|
+
- - "~>"
|
89
91
|
- !ruby/object:Gem::Version
|
90
92
|
version: 0.4.3
|
91
93
|
type: :runtime
|
92
94
|
prerelease: false
|
93
95
|
version_requirements: !ruby/object:Gem::Requirement
|
94
96
|
requirements:
|
95
|
-
- - ~>
|
97
|
+
- - "~>"
|
96
98
|
- !ruby/object:Gem::Version
|
97
99
|
version: 0.4.3
|
98
100
|
- !ruby/object:Gem::Dependency
|
99
101
|
name: cocoapods-trunk
|
100
102
|
requirement: !ruby/object:Gem::Requirement
|
101
103
|
requirements:
|
102
|
-
- - ~>
|
104
|
+
- - "~>"
|
103
105
|
- !ruby/object:Gem::Version
|
104
106
|
version: 0.6.0
|
105
107
|
type: :runtime
|
106
108
|
prerelease: false
|
107
109
|
version_requirements: !ruby/object:Gem::Requirement
|
108
110
|
requirements:
|
109
|
-
- - ~>
|
111
|
+
- - "~>"
|
110
112
|
- !ruby/object:Gem::Version
|
111
113
|
version: 0.6.0
|
112
114
|
- !ruby/object:Gem::Dependency
|
113
115
|
name: molinillo
|
114
116
|
requirement: !ruby/object:Gem::Requirement
|
115
117
|
requirements:
|
116
|
-
- - ~>
|
118
|
+
- - "~>"
|
117
119
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.2.
|
120
|
+
version: 0.2.3
|
119
121
|
type: :runtime
|
120
122
|
prerelease: false
|
121
123
|
version_requirements: !ruby/object:Gem::Requirement
|
122
124
|
requirements:
|
123
|
-
- - ~>
|
125
|
+
- - "~>"
|
124
126
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.2.
|
127
|
+
version: 0.2.3
|
126
128
|
- !ruby/object:Gem::Dependency
|
127
129
|
name: colored
|
128
130
|
requirement: !ruby/object:Gem::Requirement
|
129
131
|
requirements:
|
130
|
-
- - ~>
|
132
|
+
- - "~>"
|
131
133
|
- !ruby/object:Gem::Version
|
132
134
|
version: '1.2'
|
133
135
|
type: :runtime
|
134
136
|
prerelease: false
|
135
137
|
version_requirements: !ruby/object:Gem::Requirement
|
136
138
|
requirements:
|
137
|
-
- - ~>
|
139
|
+
- - "~>"
|
138
140
|
- !ruby/object:Gem::Version
|
139
141
|
version: '1.2'
|
140
142
|
- !ruby/object:Gem::Dependency
|
141
143
|
name: escape
|
142
144
|
requirement: !ruby/object:Gem::Requirement
|
143
145
|
requirements:
|
144
|
-
- - ~>
|
146
|
+
- - "~>"
|
145
147
|
- !ruby/object:Gem::Version
|
146
148
|
version: 0.0.4
|
147
149
|
type: :runtime
|
148
150
|
prerelease: false
|
149
151
|
version_requirements: !ruby/object:Gem::Requirement
|
150
152
|
requirements:
|
151
|
-
- - ~>
|
153
|
+
- - "~>"
|
152
154
|
- !ruby/object:Gem::Version
|
153
155
|
version: 0.0.4
|
154
156
|
- !ruby/object:Gem::Dependency
|
155
157
|
name: open4
|
156
158
|
requirement: !ruby/object:Gem::Requirement
|
157
159
|
requirements:
|
158
|
-
- - ~>
|
160
|
+
- - "~>"
|
159
161
|
- !ruby/object:Gem::Version
|
160
162
|
version: '1.3'
|
161
163
|
type: :runtime
|
162
164
|
prerelease: false
|
163
165
|
version_requirements: !ruby/object:Gem::Requirement
|
164
166
|
requirements:
|
165
|
-
- - ~>
|
167
|
+
- - "~>"
|
166
168
|
- !ruby/object:Gem::Version
|
167
169
|
version: '1.3'
|
168
170
|
- !ruby/object:Gem::Dependency
|
169
171
|
name: activesupport
|
170
172
|
requirement: !ruby/object:Gem::Requirement
|
171
173
|
requirements:
|
172
|
-
- -
|
174
|
+
- - ">="
|
173
175
|
- !ruby/object:Gem::Version
|
174
176
|
version: 3.2.15
|
175
177
|
type: :runtime
|
176
178
|
prerelease: false
|
177
179
|
version_requirements: !ruby/object:Gem::Requirement
|
178
180
|
requirements:
|
179
|
-
- -
|
181
|
+
- - ">="
|
180
182
|
- !ruby/object:Gem::Version
|
181
183
|
version: 3.2.15
|
182
184
|
- !ruby/object:Gem::Dependency
|
183
185
|
name: nap
|
184
186
|
requirement: !ruby/object:Gem::Requirement
|
185
187
|
requirements:
|
186
|
-
- - ~>
|
188
|
+
- - "~>"
|
187
189
|
- !ruby/object:Gem::Version
|
188
190
|
version: '0.8'
|
189
191
|
type: :runtime
|
190
192
|
prerelease: false
|
191
193
|
version_requirements: !ruby/object:Gem::Requirement
|
192
194
|
requirements:
|
193
|
-
- - ~>
|
195
|
+
- - "~>"
|
194
196
|
- !ruby/object:Gem::Version
|
195
197
|
version: '0.8'
|
196
198
|
- !ruby/object:Gem::Dependency
|
197
199
|
name: bundler
|
198
200
|
requirement: !ruby/object:Gem::Requirement
|
199
201
|
requirements:
|
200
|
-
- - ~>
|
202
|
+
- - "~>"
|
201
203
|
- !ruby/object:Gem::Version
|
202
204
|
version: '1.3'
|
203
205
|
type: :development
|
204
206
|
prerelease: false
|
205
207
|
version_requirements: !ruby/object:Gem::Requirement
|
206
208
|
requirements:
|
207
|
-
- - ~>
|
209
|
+
- - "~>"
|
208
210
|
- !ruby/object:Gem::Version
|
209
211
|
version: '1.3'
|
210
212
|
- !ruby/object:Gem::Dependency
|
211
213
|
name: rake
|
212
214
|
requirement: !ruby/object:Gem::Requirement
|
213
215
|
requirements:
|
214
|
-
- -
|
216
|
+
- - ">="
|
215
217
|
- !ruby/object:Gem::Version
|
216
218
|
version: '0'
|
217
219
|
type: :development
|
218
220
|
prerelease: false
|
219
221
|
version_requirements: !ruby/object:Gem::Requirement
|
220
222
|
requirements:
|
221
|
-
- -
|
223
|
+
- - ">="
|
222
224
|
- !ruby/object:Gem::Version
|
223
225
|
version: '0'
|
224
226
|
- !ruby/object:Gem::Dependency
|
225
227
|
name: bacon
|
226
228
|
requirement: !ruby/object:Gem::Requirement
|
227
229
|
requirements:
|
228
|
-
- - ~>
|
230
|
+
- - "~>"
|
229
231
|
- !ruby/object:Gem::Version
|
230
232
|
version: '1.1'
|
231
233
|
type: :development
|
232
234
|
prerelease: false
|
233
235
|
version_requirements: !ruby/object:Gem::Requirement
|
234
236
|
requirements:
|
235
|
-
- - ~>
|
237
|
+
- - "~>"
|
236
238
|
- !ruby/object:Gem::Version
|
237
239
|
version: '1.1'
|
238
240
|
description: |-
|
@@ -244,46 +246,57 @@ description: |-
|
|
244
246
|
email:
|
245
247
|
- eloy.de.enige@gmail.com
|
246
248
|
- fabiopelosin@gmail.com
|
249
|
+
- kyle@fuller.li
|
250
|
+
- segiddins@segiddins.me
|
247
251
|
executables:
|
248
252
|
- pod
|
249
253
|
- sandbox-pod
|
250
254
|
extensions: []
|
251
255
|
extra_rdoc_files: []
|
252
256
|
files:
|
257
|
+
- CHANGELOG.md
|
258
|
+
- LICENSE
|
259
|
+
- README.md
|
260
|
+
- bin/pod
|
261
|
+
- bin/sandbox-pod
|
262
|
+
- lib/cocoapods.rb
|
263
|
+
- lib/cocoapods/command.rb
|
253
264
|
- lib/cocoapods/command/init.rb
|
254
265
|
- lib/cocoapods/command/inter_process_communication.rb
|
255
266
|
- lib/cocoapods/command/lib.rb
|
256
267
|
- lib/cocoapods/command/list.rb
|
257
268
|
- lib/cocoapods/command/outdated.rb
|
258
269
|
- lib/cocoapods/command/project.rb
|
270
|
+
- lib/cocoapods/command/repo.rb
|
259
271
|
- lib/cocoapods/command/repo/add.rb
|
260
272
|
- lib/cocoapods/command/repo/lint.rb
|
261
273
|
- lib/cocoapods/command/repo/list.rb
|
262
274
|
- lib/cocoapods/command/repo/push.rb
|
263
275
|
- lib/cocoapods/command/repo/remove.rb
|
264
276
|
- lib/cocoapods/command/repo/update.rb
|
265
|
-
- lib/cocoapods/command/repo.rb
|
266
277
|
- lib/cocoapods/command/search.rb
|
267
278
|
- lib/cocoapods/command/setup.rb
|
279
|
+
- lib/cocoapods/command/spec.rb
|
268
280
|
- lib/cocoapods/command/spec/cat.rb
|
269
281
|
- lib/cocoapods/command/spec/create.rb
|
270
282
|
- lib/cocoapods/command/spec/edit.rb
|
271
283
|
- lib/cocoapods/command/spec/lint.rb
|
272
284
|
- lib/cocoapods/command/spec/which.rb
|
273
|
-
- lib/cocoapods/command/spec.rb
|
274
|
-
- lib/cocoapods/command.rb
|
275
285
|
- lib/cocoapods/config.rb
|
276
286
|
- lib/cocoapods/downloader.rb
|
287
|
+
- lib/cocoapods/downloader/cache.rb
|
288
|
+
- lib/cocoapods/downloader/request.rb
|
289
|
+
- lib/cocoapods/downloader/response.rb
|
277
290
|
- lib/cocoapods/executable.rb
|
291
|
+
- lib/cocoapods/external_sources.rb
|
278
292
|
- lib/cocoapods/external_sources/abstract_external_source.rb
|
279
293
|
- lib/cocoapods/external_sources/downloader_source.rb
|
280
294
|
- lib/cocoapods/external_sources/path_source.rb
|
281
295
|
- lib/cocoapods/external_sources/podspec_source.rb
|
282
|
-
- lib/cocoapods/external_sources.rb
|
283
296
|
- lib/cocoapods/gem_version.rb
|
297
|
+
- lib/cocoapods/generator/acknowledgements.rb
|
284
298
|
- lib/cocoapods/generator/acknowledgements/markdown.rb
|
285
299
|
- lib/cocoapods/generator/acknowledgements/plist.rb
|
286
|
-
- lib/cocoapods/generator/acknowledgements.rb
|
287
300
|
- lib/cocoapods/generator/bridge_support.rb
|
288
301
|
- lib/cocoapods/generator/copy_resources_script.rb
|
289
302
|
- lib/cocoapods/generator/dummy_source.rb
|
@@ -294,50 +307,46 @@ files:
|
|
294
307
|
- lib/cocoapods/generator/prefix_header.rb
|
295
308
|
- lib/cocoapods/generator/target_environment_header.rb
|
296
309
|
- lib/cocoapods/generator/umbrella_header.rb
|
310
|
+
- lib/cocoapods/generator/xcconfig.rb
|
297
311
|
- lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb
|
298
312
|
- lib/cocoapods/generator/xcconfig/private_pod_xcconfig.rb
|
299
313
|
- lib/cocoapods/generator/xcconfig/public_pod_xcconfig.rb
|
300
314
|
- lib/cocoapods/generator/xcconfig/xcconfig_helper.rb
|
301
|
-
- lib/cocoapods/generator/xcconfig.rb
|
302
315
|
- lib/cocoapods/hooks/installer_representation.rb
|
303
316
|
- lib/cocoapods/hooks/library_representation.rb
|
304
317
|
- lib/cocoapods/hooks/pod_representation.rb
|
305
318
|
- lib/cocoapods/hooks_manager.rb
|
319
|
+
- lib/cocoapods/installer.rb
|
320
|
+
- lib/cocoapods/installer/analyzer.rb
|
306
321
|
- lib/cocoapods/installer/analyzer/locking_dependency_analyzer.rb
|
307
322
|
- lib/cocoapods/installer/analyzer/sandbox_analyzer.rb
|
308
|
-
- lib/cocoapods/installer/analyzer.rb
|
309
323
|
- lib/cocoapods/installer/file_references_installer.rb
|
310
324
|
- lib/cocoapods/installer/hooks_context.rb
|
311
325
|
- lib/cocoapods/installer/migrator.rb
|
312
326
|
- lib/cocoapods/installer/pod_source_installer.rb
|
327
|
+
- lib/cocoapods/installer/target_installer.rb
|
313
328
|
- lib/cocoapods/installer/target_installer/aggregate_target_installer.rb
|
314
329
|
- lib/cocoapods/installer/target_installer/pod_target_installer.rb
|
315
|
-
- lib/cocoapods/installer/target_installer.rb
|
316
|
-
- lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb
|
317
|
-
- lib/cocoapods/installer/user_project_integrator/target_integrator.rb
|
318
330
|
- lib/cocoapods/installer/user_project_integrator.rb
|
319
|
-
- lib/cocoapods/installer.rb
|
331
|
+
- lib/cocoapods/installer/user_project_integrator/target_integrator.rb
|
332
|
+
- lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb
|
320
333
|
- lib/cocoapods/open_uri.rb
|
321
334
|
- lib/cocoapods/project.rb
|
322
|
-
- lib/cocoapods/resolver/lazy_specification.rb
|
323
335
|
- lib/cocoapods/resolver.rb
|
336
|
+
- lib/cocoapods/resolver/lazy_specification.rb
|
337
|
+
- lib/cocoapods/sandbox.rb
|
324
338
|
- lib/cocoapods/sandbox/file_accessor.rb
|
325
339
|
- lib/cocoapods/sandbox/headers_store.rb
|
326
340
|
- lib/cocoapods/sandbox/path_list.rb
|
327
|
-
- lib/cocoapods/sandbox.rb
|
341
|
+
- lib/cocoapods/sandbox/pod_dir_cleaner.rb
|
342
|
+
- lib/cocoapods/sandbox/podspec_finder.rb
|
328
343
|
- lib/cocoapods/sources_manager.rb
|
344
|
+
- lib/cocoapods/target.rb
|
329
345
|
- lib/cocoapods/target/aggregate_target.rb
|
330
346
|
- lib/cocoapods/target/pod_target.rb
|
331
|
-
- lib/cocoapods/target.rb
|
332
|
-
- lib/cocoapods/user_interface/error_report.rb
|
333
347
|
- lib/cocoapods/user_interface.rb
|
348
|
+
- lib/cocoapods/user_interface/error_report.rb
|
334
349
|
- lib/cocoapods/validator.rb
|
335
|
-
- lib/cocoapods.rb
|
336
|
-
- bin/pod
|
337
|
-
- bin/sandbox-pod
|
338
|
-
- README.md
|
339
|
-
- LICENSE
|
340
|
-
- CHANGELOG.md
|
341
350
|
homepage: https://github.com/CocoaPods/CocoaPods
|
342
351
|
licenses:
|
343
352
|
- MIT
|
@@ -348,17 +357,17 @@ require_paths:
|
|
348
357
|
- lib
|
349
358
|
required_ruby_version: !ruby/object:Gem::Requirement
|
350
359
|
requirements:
|
351
|
-
- -
|
360
|
+
- - ">="
|
352
361
|
- !ruby/object:Gem::Version
|
353
362
|
version: 2.0.0
|
354
363
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
355
364
|
requirements:
|
356
|
-
- -
|
365
|
+
- - ">="
|
357
366
|
- !ruby/object:Gem::Version
|
358
367
|
version: '0'
|
359
368
|
requirements: []
|
360
369
|
rubyforge_project:
|
361
|
-
rubygems_version: 2.
|
370
|
+
rubygems_version: 2.4.6
|
362
371
|
signing_key:
|
363
372
|
specification_version: 3
|
364
373
|
summary: The Cocoa library package manager.
|