cocoapods-core 1.0.0.beta.3 → 1.0.0.beta.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cocoapods-core/gem_version.rb +1 -1
- data/lib/cocoapods-core/platform.rb +13 -0
- data/lib/cocoapods-core/podfile/dsl.rb +22 -23
- data/lib/cocoapods-core/specification.rb +4 -1
- data/lib/cocoapods-core/specification/dsl.rb +32 -31
- data/lib/cocoapods-core/specification/dsl/platform_proxy.rb +24 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b43e8aec572428f764c86aded8766a4d76dccf63
|
4
|
+
data.tar.gz: e4ad6bb6b6da4daf4e00919d1287ae6b1c3099a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c33a61f4d272475840975687c8aecbb5f6d48d85a29dabe06f2d10e4e154fd9b7e13f7c0ca9163a6473f1d7cf91f0bdfd014294f949c9126a689ffae32b3c9f
|
7
|
+
data.tar.gz: 5e77dee9d7db62e536c1fa3d0b64070ed652c4f6bee05c28af83152c337335810d3289666a6298bbff24e39f0641f7d92ed9b94a65de18cd4ce25e8e053aeeed
|
@@ -200,6 +200,19 @@ module Pod
|
|
200
200
|
end
|
201
201
|
end
|
202
202
|
|
203
|
+
# @return [String] The string that describes the #symbolic_name.
|
204
|
+
#
|
205
|
+
def string_name
|
206
|
+
self.class.string_name(symbolic_name)
|
207
|
+
end
|
208
|
+
|
209
|
+
# @return [String] The string that describes the #symbolic_name,
|
210
|
+
# which doesn't contain spaces and is so safe to use in
|
211
|
+
# paths which might not be quoted or escaped consequently.
|
212
|
+
def safe_string_name
|
213
|
+
string_name.tr(' ', '')
|
214
|
+
end
|
215
|
+
|
203
216
|
# Converts the symbolic name of a platform to a string name suitable to be
|
204
217
|
# presented to the user.
|
205
218
|
#
|
@@ -17,7 +17,7 @@ module Pod
|
|
17
17
|
# platform :ios, '9.0'
|
18
18
|
# inhibit_all_warnings!
|
19
19
|
#
|
20
|
-
# target
|
20
|
+
# target 'MyApp' do
|
21
21
|
# pod 'ObjectiveSugar', '~> 0.5'
|
22
22
|
#
|
23
23
|
# target "MyAppTests" do
|
@@ -26,9 +26,8 @@ module Pod
|
|
26
26
|
# end
|
27
27
|
# end
|
28
28
|
#
|
29
|
-
#
|
30
29
|
# post_install do |installer|
|
31
|
-
# installer.pods_project.
|
30
|
+
# installer.pods_project.pod_targets.each do |target|
|
32
31
|
# puts "#{target.name}"
|
33
32
|
# end
|
34
33
|
# end
|
@@ -276,16 +275,16 @@ module Pod
|
|
276
275
|
#
|
277
276
|
# @example Defining a target
|
278
277
|
#
|
279
|
-
# target
|
278
|
+
# target 'ZipApp' do
|
280
279
|
# pod 'SSZipArchive'
|
281
280
|
# end
|
282
281
|
#
|
283
282
|
# @example Defining a test target accessing SSZipArchive pod from its parent
|
284
283
|
#
|
285
|
-
# target
|
284
|
+
# target 'ZipApp' do
|
286
285
|
# pod 'SSZipArchive'
|
287
286
|
#
|
288
|
-
# target
|
287
|
+
# target 'ZipAppTests' do
|
289
288
|
# inherit! :search_paths
|
290
289
|
# pod 'Nimble'
|
291
290
|
# end
|
@@ -293,19 +292,19 @@ module Pod
|
|
293
292
|
#
|
294
293
|
# @example Defining a target applies Pods to multiple targets via its parent target
|
295
294
|
#
|
296
|
-
# target
|
295
|
+
# target 'ShowsApp' do
|
297
296
|
# pod 'ShowsKit'
|
298
297
|
#
|
299
298
|
# # Has it's own copy of ShowsKit + ShowTVAuth
|
300
|
-
# target
|
301
|
-
# pod
|
299
|
+
# target 'ShowsTV' do
|
300
|
+
# pod 'ShowTVAuth'
|
302
301
|
# end
|
303
302
|
#
|
304
303
|
# # Has it's own copy of Specta + Expecta
|
305
304
|
# # and has access to ShowsKit via the app
|
306
305
|
# # that the test target is bundled into
|
307
306
|
#
|
308
|
-
# target
|
307
|
+
# target 'ShowsTests' do
|
309
308
|
# inherit! :search_paths
|
310
309
|
# pod 'Specta'
|
311
310
|
# pod 'Expecta'
|
@@ -346,24 +345,24 @@ module Pod
|
|
346
345
|
# @example Defining an abstract_target wrapping Pods to multiple targets
|
347
346
|
#
|
348
347
|
# # There are no targets called "Shows" in any Xcode projects
|
349
|
-
# abstract_target
|
348
|
+
# abstract_target 'Shows' do
|
350
349
|
# pod 'ShowsKit'
|
351
350
|
#
|
352
351
|
# # Has it's own copy of ShowsKit + ShowWebAuth
|
353
|
-
# target
|
354
|
-
# pod
|
352
|
+
# target 'ShowsiOS' do
|
353
|
+
# pod 'ShowWebAuth'
|
355
354
|
# end
|
356
355
|
#
|
357
356
|
# # Has it's own copy of ShowsKit + ShowTVAuth
|
358
|
-
# target
|
359
|
-
# pod
|
357
|
+
# target 'ShowsTV' do
|
358
|
+
# pod 'ShowTVAuth'
|
360
359
|
# end
|
361
360
|
#
|
362
361
|
# # Has it's own copy of Specta + Expecta
|
363
362
|
# # and has access to ShowsKit via the app
|
364
363
|
# # that the test target is bundled into
|
365
364
|
#
|
366
|
-
# target
|
365
|
+
# target 'ShowsTests' do
|
367
366
|
# inherit! :search_paths
|
368
367
|
# pod 'Specta'
|
369
368
|
# pod 'Expecta'
|
@@ -437,7 +436,7 @@ module Pod
|
|
437
436
|
#
|
438
437
|
# @example Specifying the platform
|
439
438
|
#
|
440
|
-
# platform :ios,
|
439
|
+
# platform :ios, '4.0'
|
441
440
|
# platform :ios
|
442
441
|
#
|
443
442
|
# @return [void]
|
@@ -477,13 +476,13 @@ module Pod
|
|
477
476
|
# @example Specifying the user project
|
478
477
|
#
|
479
478
|
# # This Target can be found in a Xcode project called `FastGPS`
|
480
|
-
# target
|
479
|
+
# target 'MyGPSApp' do
|
481
480
|
# project 'FastGPS'
|
482
481
|
# ...
|
483
482
|
# end
|
484
483
|
#
|
485
484
|
# # Same Podfile, multiple Xcodeprojects
|
486
|
-
# target
|
485
|
+
# target 'MyNotesApp' do
|
487
486
|
# project 'FastNotes'
|
488
487
|
# ...
|
489
488
|
# end
|
@@ -503,8 +502,8 @@ module Pod
|
|
503
502
|
#
|
504
503
|
# @deprecated #{xcodeproj} was renamed to #{project}.
|
505
504
|
#
|
506
|
-
#
|
507
|
-
#
|
505
|
+
# `xcodeproj` is deprecated in [1.0](http://blog.cocoapods.org/CocoaPods-1.0/) and has been renamed to `project`.
|
506
|
+
# For pre-1.0 versions use `xcodeproj`.
|
508
507
|
#
|
509
508
|
def xcodeproj(*args)
|
510
509
|
CoreUI.warn 'xcodeproj was renamed to `project`. Please use that from now on.'
|
@@ -517,8 +516,8 @@ module Pod
|
|
517
516
|
# longer supported. Use an {#abstract_target} and target
|
518
517
|
# inheritance instead.
|
519
518
|
#
|
520
|
-
#
|
521
|
-
#
|
519
|
+
# `link_with` is deprecated in [1.0](http://blog.cocoapods.org/CocoaPods-1.0/) in
|
520
|
+
# favour of `abstract_target` and target inheritance instead.
|
522
521
|
#
|
523
522
|
def link_with(*)
|
524
523
|
raise Informative, 'The specification of `link_with` in the Podfile ' \
|
@@ -246,7 +246,7 @@ module Pod
|
|
246
246
|
end
|
247
247
|
end
|
248
248
|
|
249
|
-
# @return [Array] the name of the default subspecs if provided.
|
249
|
+
# @return [Array<String>] the name of the default subspecs if provided.
|
250
250
|
#
|
251
251
|
def default_subspecs
|
252
252
|
# TODO: remove singular form and update the JSON specs.
|
@@ -259,6 +259,9 @@ module Pod
|
|
259
259
|
# {#default_subspecs} or each of its children subspecs that are
|
260
260
|
# compatible with its platform.
|
261
261
|
#
|
262
|
+
# @param [Platform] platform
|
263
|
+
# return only dependencies supported on the given platform.
|
264
|
+
#
|
262
265
|
# @return [Array<Dependency>] the dependencies on subspecs.
|
263
266
|
#
|
264
267
|
def subspec_dependencies(platform = nil)
|
@@ -266,15 +266,15 @@ module Pod
|
|
266
266
|
#
|
267
267
|
# @example Using Subversion with a tag.
|
268
268
|
#
|
269
|
-
# spec.source = { :svn =>
|
269
|
+
# spec.source = { :svn => 'http://svn.code.sf.net/p/polyclipping/code', :tag => '4.8.8' }
|
270
270
|
#
|
271
271
|
# @example Using Mercurial with the same revision as the spec's semantic version string.
|
272
272
|
#
|
273
|
-
# spec.source = { :hg =>
|
273
|
+
# spec.source = { :hg => 'https://bitbucket.org/dcutting/hyperbek', :revision => "#{s.version}" }
|
274
274
|
#
|
275
275
|
# @example Using HTTP to download a compressed file of the code. It supports zip, tgz, bz2, txz and tar.
|
276
276
|
#
|
277
|
-
# spec.source = { :http =>
|
277
|
+
# spec.source = { :http => 'http://dev.wechatapp.com/download/sdk/WeChat_SDK_iOS_en.zip' }
|
278
278
|
#
|
279
279
|
# @example Using HTTP to download a file using a hash to verify the download. It supports sha1 and sha256.
|
280
280
|
#
|
@@ -372,12 +372,12 @@ module Pod
|
|
372
372
|
#
|
373
373
|
# @example
|
374
374
|
#
|
375
|
-
# spec.screenshot =
|
375
|
+
# spec.screenshot = 'http://dl.dropbox.com/u/378729/MBProgressHUD/1.png'
|
376
376
|
#
|
377
377
|
# @example
|
378
378
|
#
|
379
|
-
# spec.screenshots = [
|
380
|
-
#
|
379
|
+
# spec.screenshots = [ 'http://dl.dropbox.com/u/378729/MBProgressHUD/1.png',
|
380
|
+
# 'http://dl.dropbox.com/u/378729/MBProgressHUD/2.png' ]
|
381
381
|
#
|
382
382
|
# @param [String] screenshots
|
383
383
|
# An URL for the screenshot of the Pod.
|
@@ -496,7 +496,7 @@ module Pod
|
|
496
496
|
#
|
497
497
|
# @example
|
498
498
|
#
|
499
|
-
# spec.platform = :osx,
|
499
|
+
# spec.platform = :osx, '10.8'
|
500
500
|
#
|
501
501
|
# @example
|
502
502
|
#
|
@@ -557,11 +557,11 @@ module Pod
|
|
557
557
|
#
|
558
558
|
# @example
|
559
559
|
#
|
560
|
-
# spec.ios.deployment_target =
|
560
|
+
# spec.ios.deployment_target = '6.0'
|
561
561
|
#
|
562
562
|
# @example
|
563
563
|
#
|
564
|
-
# spec.osx.deployment_target =
|
564
|
+
# spec.osx.deployment_target = '10.8'
|
565
565
|
#
|
566
566
|
# @param [String] _args
|
567
567
|
# The deployment target of the platform.
|
@@ -991,11 +991,11 @@ module Pod
|
|
991
991
|
#
|
992
992
|
# @example
|
993
993
|
#
|
994
|
-
# spec.source_files =
|
994
|
+
# spec.source_files = 'Classes/**/*.{h,m}'
|
995
995
|
#
|
996
996
|
# @example
|
997
997
|
#
|
998
|
-
# spec.source_files =
|
998
|
+
# spec.source_files = 'Classes/**/*.{h,m}', 'More_Classes/**/*.{h,m}'
|
999
999
|
#
|
1000
1000
|
# @param [String, Array<String>] source_files
|
1001
1001
|
# the source files of the Pod.
|
@@ -1018,7 +1018,7 @@ module Pod
|
|
1018
1018
|
#
|
1019
1019
|
# @example
|
1020
1020
|
#
|
1021
|
-
# spec.public_header_files =
|
1021
|
+
# spec.public_header_files = 'Headers/Public/*.h'
|
1022
1022
|
#
|
1023
1023
|
# @param [String, Array<String>] public_header_files
|
1024
1024
|
# the public headers of the Pod.
|
@@ -1042,7 +1042,7 @@ module Pod
|
|
1042
1042
|
#
|
1043
1043
|
# @example
|
1044
1044
|
#
|
1045
|
-
# spec.private_header_files =
|
1045
|
+
# spec.private_header_files = 'Headers/Private/*.h'
|
1046
1046
|
#
|
1047
1047
|
# @param [String, Array<String>] private_header_files
|
1048
1048
|
# the private headers of the Pod.
|
@@ -1150,11 +1150,11 @@ module Pod
|
|
1150
1150
|
#
|
1151
1151
|
# @example
|
1152
1152
|
#
|
1153
|
-
# spec.resource =
|
1153
|
+
# spec.resource = 'Resources/HockeySDK.bundle'
|
1154
1154
|
#
|
1155
1155
|
# @example
|
1156
1156
|
#
|
1157
|
-
# spec.resources = [
|
1157
|
+
# spec.resources = ['Images/*.png', 'Sounds/*']
|
1158
1158
|
#
|
1159
1159
|
# @param [String, Array<String>] resources
|
1160
1160
|
# The resources shipped with the Pod.
|
@@ -1173,11 +1173,11 @@ module Pod
|
|
1173
1173
|
#
|
1174
1174
|
# @example
|
1175
1175
|
#
|
1176
|
-
# spec.ios.exclude_files =
|
1176
|
+
# spec.ios.exclude_files = 'Classes/osx'
|
1177
1177
|
#
|
1178
1178
|
# @example
|
1179
1179
|
#
|
1180
|
-
# spec.exclude_files =
|
1180
|
+
# spec.exclude_files = 'Classes/**/unused.{h,m}'
|
1181
1181
|
#
|
1182
1182
|
# @param [String, Array<String>] exclude_files
|
1183
1183
|
# the file patterns that the Pod should ignore.
|
@@ -1199,11 +1199,11 @@ module Pod
|
|
1199
1199
|
#
|
1200
1200
|
# @example
|
1201
1201
|
#
|
1202
|
-
# spec.preserve_path =
|
1202
|
+
# spec.preserve_path = 'IMPORTANT.txt'
|
1203
1203
|
#
|
1204
1204
|
# @example
|
1205
1205
|
#
|
1206
|
-
# spec.preserve_paths =
|
1206
|
+
# spec.preserve_paths = 'Frameworks/*.framework'
|
1207
1207
|
#
|
1208
1208
|
# @param [String, Array<String>] preserve_paths
|
1209
1209
|
# the paths that should be not cleaned.
|
@@ -1227,7 +1227,7 @@ module Pod
|
|
1227
1227
|
#
|
1228
1228
|
# @example
|
1229
1229
|
#
|
1230
|
-
# spec.module_map =
|
1230
|
+
# spec.module_map = 'source/module.modulemap'
|
1231
1231
|
#
|
1232
1232
|
# @param [String] module_map
|
1233
1233
|
# the path to the module map file that should be used.
|
@@ -1277,12 +1277,12 @@ module Pod
|
|
1277
1277
|
#
|
1278
1278
|
# @example Subspecs with different source files.
|
1279
1279
|
#
|
1280
|
-
# subspec
|
1281
|
-
# sp.source_files =
|
1280
|
+
# subspec 'Twitter' do |sp|
|
1281
|
+
# sp.source_files = 'Classes/Twitter'
|
1282
1282
|
# end
|
1283
1283
|
#
|
1284
|
-
# subspec
|
1285
|
-
# sp.source_files =
|
1284
|
+
# subspec 'Pinboard' do |sp|
|
1285
|
+
# sp.source_files = 'Classes/Pinboard'
|
1286
1286
|
# end
|
1287
1287
|
#
|
1288
1288
|
# @example Subspecs referencing dependencies to other subspecs.
|
@@ -1349,7 +1349,8 @@ module Pod
|
|
1349
1349
|
attribute :default_subspecs,
|
1350
1350
|
:container => Array,
|
1351
1351
|
:singularize => true,
|
1352
|
-
:multi_platform => false
|
1352
|
+
:multi_platform => false,
|
1353
|
+
:root_only => true
|
1353
1354
|
|
1354
1355
|
#-----------------------------------------------------------------------#
|
1355
1356
|
|
@@ -1363,15 +1364,15 @@ module Pod
|
|
1363
1364
|
# For example one might want to store resources which are specific to
|
1364
1365
|
# only iOS projects.
|
1365
1366
|
#
|
1366
|
-
# spec.resources =
|
1367
|
-
# spec.ios.resources =
|
1367
|
+
# spec.resources = 'Resources/**/*.png'
|
1368
|
+
# spec.ios.resources = 'Resources_ios/**/*.png'
|
1368
1369
|
|
1369
1370
|
#-----------------------------------------------------------------------#
|
1370
1371
|
|
1371
1372
|
# Provides support for specifying iOS attributes.
|
1372
1373
|
#
|
1373
1374
|
# @example
|
1374
|
-
# spec.ios.source_files =
|
1375
|
+
# spec.ios.source_files = 'Classes/ios/**/*.{h,m}'
|
1375
1376
|
#
|
1376
1377
|
# @return [PlatformProxy] the proxy that will set the attributes.
|
1377
1378
|
#
|
@@ -1382,7 +1383,7 @@ module Pod
|
|
1382
1383
|
# Provides support for specifying OS X attributes.
|
1383
1384
|
#
|
1384
1385
|
# @example
|
1385
|
-
# spec.osx.source_files =
|
1386
|
+
# spec.osx.source_files = 'Classes/osx/**/*.{h,m}'
|
1386
1387
|
#
|
1387
1388
|
# @return [PlatformProxy] the proxy that will set the attributes.
|
1388
1389
|
#
|
@@ -1393,7 +1394,7 @@ module Pod
|
|
1393
1394
|
# Provides support for specifying tvOS attributes.
|
1394
1395
|
#
|
1395
1396
|
# @example
|
1396
|
-
# spec.tvos.source_files =
|
1397
|
+
# spec.tvos.source_files = 'Classes/tvos/**/*.{h,m}'
|
1397
1398
|
#
|
1398
1399
|
# @return [PlatformProxy] the proxy that will set the attributes.
|
1399
1400
|
#
|
@@ -1404,7 +1405,7 @@ module Pod
|
|
1404
1405
|
# Provides support for specifying watchOS attributes.
|
1405
1406
|
#
|
1406
1407
|
# @example
|
1407
|
-
# spec.watchos.source_files =
|
1408
|
+
# spec.watchos.source_files = 'Classes/watchos/**/*.{h,m}'
|
1408
1409
|
#
|
1409
1410
|
# @return [PlatformProxy] the proxy that will set the attributes.
|
1410
1411
|
#
|
@@ -12,7 +12,7 @@ module Pod
|
|
12
12
|
# @return [Symbol] the platform described by this proxy. Can be either
|
13
13
|
# `:ios` or `:osx`.
|
14
14
|
#
|
15
|
-
|
15
|
+
attr_reader :platform
|
16
16
|
|
17
17
|
# @param [Specification] spec @see spec
|
18
18
|
# @param [Symbol] platform @see platform
|
@@ -29,18 +29,16 @@ module Pod
|
|
29
29
|
# @return [void]
|
30
30
|
#
|
31
31
|
def method_missing(meth, *args, &block)
|
32
|
-
attribute =
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
super
|
43
|
-
end
|
32
|
+
return super unless attribute = attribute_for_method(meth)
|
33
|
+
raise NoMethodError, "#{attribute} cannot be set per-platform" unless attribute.multi_platform?
|
34
|
+
spec.store_attribute(attribute.name, args.first, platform)
|
35
|
+
end
|
36
|
+
|
37
|
+
# @!visibility private
|
38
|
+
#
|
39
|
+
def respond_to_missing?(method, include_all)
|
40
|
+
attribute = attribute_for_method(method)
|
41
|
+
(attribute && attribute.multi_platform?) || super
|
44
42
|
end
|
45
43
|
|
46
44
|
# Allows to add dependency for the platform.
|
@@ -65,6 +63,19 @@ module Pod
|
|
65
63
|
spec.attributes_hash['platforms'] ||= {}
|
66
64
|
spec.attributes_hash['platforms'][platform_name] = value
|
67
65
|
end
|
66
|
+
|
67
|
+
private
|
68
|
+
|
69
|
+
def attribute_for_method(method)
|
70
|
+
method = method.to_sym
|
71
|
+
Specification::DSL.attributes.values.find do |attribute|
|
72
|
+
if attribute.writer_name.to_sym == method
|
73
|
+
true
|
74
|
+
elsif attribute.writer_singular_form
|
75
|
+
attribute.writer_singular_form.to_sym == method
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
68
79
|
end
|
69
80
|
end
|
70
81
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.beta.
|
4
|
+
version: 1.0.0.beta.4
|
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: 2016-02-
|
12
|
+
date: 2016-02-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|