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.
@@ -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
@@ -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
- UI.warn 'CocoaPods did not set the base configuration of your ' \
95
- 'project because your project already has a custom ' \
96
- 'config set. In order for CocoaPods integration to work at ' \
97
- 'all, please either set the base configurations of the target ' \
98
- "`#{target.name}` to `#{path}` or include the `#{path}` in your " \
99
- 'build configuration.'
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
@@ -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.supports?(p) }
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}` which has " \
367
- "a minimum requirement of #{spec.available_platforms.join(' - ')}."
363
+ "(#{target.platform}) is not compatible with `#{spec}`, which does " \
364
+ "not support `#{target.platform.name}`."
368
365
  end
369
366
  end
370
367
 
@@ -36,9 +36,11 @@ module Pod
36
36
  # +-- Pods.xcodeproj
37
37
  #
38
38
  class Sandbox
39
- autoload :FileAccessor, 'cocoapods/sandbox/file_accessor'
40
- autoload :HeadersStore, 'cocoapods/sandbox/headers_store'
41
- autoload :PathList, 'cocoapods/sandbox/path_list'
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 [Hash{ Symbol => Array<Pathname> }] the resources of the
128
- # specification grouped by destination.
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 [Array<String>] patterns
270
+ # @param [Array<String>] patterns
258
271
  # The patterns to expand.
259
272
  #
260
- # @param [String] dir_pattern
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
- # @param [Array<String>] exclude_patterns
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
@@ -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
- unless file_accessor.license || spec.license && (spec.license[:type] == 'Public Domain' || spec.license[:text])
403
- warning('license', 'Unable to find a license file')
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 CODE_SIGN_IDENTITY=-'
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.36.4
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-16 00:00:00.000000000 Z
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.36.4
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.36.4
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.23.1
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.23.1
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.1
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.1
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.1
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.1
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.0.14
370
+ rubygems_version: 2.4.6
362
371
  signing_key:
363
372
  specification_version: 3
364
373
  summary: The Cocoa library package manager.