cocoapods-core 1.0.1 → 1.1.0.beta.1
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/podfile.rb +16 -17
- data/lib/cocoapods-core/podfile/dsl.rb +28 -10
- data/lib/cocoapods-core/podfile/target_definition.rb +34 -0
- data/lib/cocoapods-core/source/manager.rb +1 -1
- data/lib/cocoapods-core/specification/dsl.rb +3 -30
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cfd44413b1c11622f8632fe1a1d5935c78160f5e
|
4
|
+
data.tar.gz: aeeeb3fdf0b91e94a51cc30290c38101bed92308
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64377d4364a014b95083da6efec735a45fca9aafdbbf7317f6fed0f43fe51697279cca947001afad328ceb7c984f1467c09b509b946d40a1ccfba4a5c3ed79f7
|
7
|
+
data.tar.gz: f936d46d5452103fb04b4134dbabea09cd78418a3b8ff75ae4f2af9c85a1360182e1723c0a973e3c41df1759f1a84adc18b8b7b6623643cfded853f99c3171d8
|
@@ -5,11 +5,10 @@ module Pod
|
|
5
5
|
# The Podfile is a specification that describes the dependencies of the
|
6
6
|
# targets of an Xcode project.
|
7
7
|
#
|
8
|
-
# It supports its own DSL and
|
9
|
-
# `CocoaPods.podfile` or `Podfile`.
|
8
|
+
# It supports its own DSL and is stored in a file named `Podfile`.
|
10
9
|
#
|
11
|
-
# The Podfile creates a hierarchy of target definitions that
|
12
|
-
# information
|
10
|
+
# The Podfile creates a hierarchy of target definitions that store the
|
11
|
+
# information necessary to generate the CocoaPods libraries.
|
13
12
|
#
|
14
13
|
class Podfile
|
15
14
|
# @!group DSL support
|
@@ -22,8 +21,8 @@ module Pod
|
|
22
21
|
|
23
22
|
#-------------------------------------------------------------------------#
|
24
23
|
|
25
|
-
# @return [Pathname] the path
|
26
|
-
# if the
|
24
|
+
# @return [Pathname] the path used to load the Podfile. It is nil
|
25
|
+
# if the Podfile was generated programmatically.
|
27
26
|
#
|
28
27
|
attr_accessor :defined_in_file
|
29
28
|
|
@@ -31,7 +30,7 @@ module Pod
|
|
31
30
|
# the path of the podfile.
|
32
31
|
#
|
33
32
|
# @param [Proc] block
|
34
|
-
# an optional block that configures the
|
33
|
+
# an optional block that configures the Podfile through the DSL.
|
35
34
|
#
|
36
35
|
# @example Creating a Podfile.
|
37
36
|
#
|
@@ -65,26 +64,26 @@ module Pod
|
|
65
64
|
|
66
65
|
public
|
67
66
|
|
68
|
-
# @!group Working with a
|
67
|
+
# @!group Working with a Podfile
|
69
68
|
|
70
69
|
# @return [Hash{Symbol,String => TargetDefinition}] the target definitions
|
71
|
-
# of the
|
70
|
+
# of the Podfile stored by their name.
|
72
71
|
#
|
73
72
|
def target_definitions
|
74
73
|
Hash[target_definition_list.map { |td| [td.name, td] }]
|
75
74
|
end
|
76
75
|
|
77
|
-
# @return [Array<TargetDefinition>] all target definitions in the
|
76
|
+
# @return [Array<TargetDefinition>] all target definitions in the Podfile.
|
78
77
|
#
|
79
78
|
def target_definition_list
|
80
79
|
root_target_definitions.map { |td| [td, td.recursive_children] }.flatten
|
81
80
|
end
|
82
81
|
|
83
|
-
# @return [Array<TargetDefinition>] The root target
|
82
|
+
# @return [Array<TargetDefinition>] The root target definitions.
|
84
83
|
#
|
85
84
|
attr_accessor :root_target_definitions
|
86
85
|
|
87
|
-
# @return [Array<Dependency>] the dependencies of
|
86
|
+
# @return [Array<Dependency>] the dependencies of all of the target
|
88
87
|
# definitions.
|
89
88
|
#
|
90
89
|
def dependencies
|
@@ -97,7 +96,7 @@ module Pod
|
|
97
96
|
|
98
97
|
# @!group Attributes
|
99
98
|
|
100
|
-
# @return [Array<String>] The
|
99
|
+
# @return [Array<String>] The names of the sources.
|
101
100
|
#
|
102
101
|
def sources
|
103
102
|
get_hash_value('sources') || []
|
@@ -235,12 +234,12 @@ module Pod
|
|
235
234
|
# @!group Class methods
|
236
235
|
#-------------------------------------------------------------------------#
|
237
236
|
|
238
|
-
# Initializes a
|
237
|
+
# Initializes a Podfile from the file with the given path.
|
239
238
|
#
|
240
239
|
# @param [Pathname] path
|
241
|
-
# the path from where the
|
240
|
+
# the path from where the Podfile should be loaded.
|
242
241
|
#
|
243
|
-
# @return [Podfile] the generated
|
242
|
+
# @return [Podfile] the generated Podfile.
|
244
243
|
#
|
245
244
|
def self.from_file(path)
|
246
245
|
path = Pathname.new(path)
|
@@ -264,7 +263,7 @@ module Pod
|
|
264
263
|
# The path from which the Podfile is loaded.
|
265
264
|
#
|
266
265
|
# @param [String] contents
|
267
|
-
# The ruby string which will configure the
|
266
|
+
# The ruby string which will configure the Podfile with the DSL.
|
268
267
|
#
|
269
268
|
# @return [Podfile] the new Podfile
|
270
269
|
#
|
@@ -27,7 +27,7 @@ module Pod
|
|
27
27
|
# end
|
28
28
|
#
|
29
29
|
# post_install do |installer|
|
30
|
-
# installer.pods_project.
|
30
|
+
# installer.pods_project.targets.each do |target|
|
31
31
|
# puts "#{target.name}"
|
32
32
|
# end
|
33
33
|
# end
|
@@ -39,8 +39,15 @@ module Pod
|
|
39
39
|
# * `install!` declares the installation method and options to be used
|
40
40
|
# during installation.
|
41
41
|
|
42
|
-
# Specifies the installation method to be used when
|
43
|
-
# this Podfile.
|
42
|
+
# Specifies the installation method and options to be used when
|
43
|
+
# CocoaPods installs this Podfile.
|
44
|
+
#
|
45
|
+
# The first parameter indicates the installation method to use;
|
46
|
+
# next parameters indicate installation options.
|
47
|
+
#
|
48
|
+
# For now the only accepted installation method is `'cocoapods'`, so
|
49
|
+
# you'll always use this value for the first parameter; but more
|
50
|
+
# installation methods might be available in future versions.
|
44
51
|
#
|
45
52
|
# @param [String] installation_method
|
46
53
|
# the name of the installation strategy.
|
@@ -95,6 +102,7 @@ module Pod
|
|
95
102
|
# Besides no version, or a specific one, it is also possible to use
|
96
103
|
# operators:
|
97
104
|
#
|
105
|
+
# * `= 0.1` Version 0.1.
|
98
106
|
# * `> 0.1` Any version higher than 0.1.
|
99
107
|
# * `>= 0.1` Version 0.1 and any higher version.
|
100
108
|
# * `< 0.1` Any version lower than 0.1.
|
@@ -111,7 +119,7 @@ module Pod
|
|
111
119
|
# For more information, regarding versioning policy, see:
|
112
120
|
#
|
113
121
|
# * [Semantic Versioning](http://semver.org)
|
114
|
-
# * [RubyGems Versioning Policies](http://
|
122
|
+
# * [RubyGems Versioning Policies](http://guides.rubygems.org/patterns/#semantic-versioning)
|
115
123
|
#
|
116
124
|
# ------
|
117
125
|
#
|
@@ -123,13 +131,13 @@ module Pod
|
|
123
131
|
#
|
124
132
|
# pod 'PonyDebugger', :configurations => ['Debug', 'Beta']
|
125
133
|
#
|
126
|
-
# Alternatively, you specify to have it included on a single build
|
134
|
+
# Alternatively, you can specify to have it included on a single build
|
127
135
|
# configuration.
|
128
136
|
#
|
129
137
|
# pod 'PonyDebugger', :configuration => 'Debug'
|
130
138
|
#
|
131
|
-
# Note that transitive dependencies are included in all configurations
|
132
|
-
# you have to manually specify build configurations for them as well in
|
139
|
+
# Note that transitive dependencies are included in all configurations
|
140
|
+
# and you have to manually specify build configurations for them as well in
|
133
141
|
# case this is not desired.
|
134
142
|
#
|
135
143
|
# ------
|
@@ -389,9 +397,18 @@ module Pod
|
|
389
397
|
|
390
398
|
# Sets the inheritance mode for the current target.
|
391
399
|
#
|
392
|
-
# @param [
|
400
|
+
# @param [Symbol] inheritance
|
393
401
|
# the inheritance mode to set.
|
394
402
|
#
|
403
|
+
# **Available Modes:**
|
404
|
+
# + `:complete` The target inherits all
|
405
|
+
# behaviour from the parent.
|
406
|
+
# + `:none` The target inherits none of
|
407
|
+
# the behaviour from the parent.
|
408
|
+
# + `:search_paths` The target inherits
|
409
|
+
# the search paths of the parent only.
|
410
|
+
#
|
411
|
+
#
|
395
412
|
# @example Inheriting only search paths
|
396
413
|
#
|
397
414
|
# target 'App' do
|
@@ -444,7 +461,7 @@ module Pod
|
|
444
461
|
def platform(name, target = nil)
|
445
462
|
# Support for deprecated options parameter
|
446
463
|
target = target[:deployment_target] if target.is_a?(Hash)
|
447
|
-
current_target_definition.set_platform(name, target)
|
464
|
+
current_target_definition.set_platform!(name, target)
|
448
465
|
end
|
449
466
|
|
450
467
|
# Specifies the Xcode project that contains the target that the Pods
|
@@ -506,7 +523,7 @@ module Pod
|
|
506
523
|
# For pre-1.0 versions use `xcodeproj`.
|
507
524
|
#
|
508
525
|
def xcodeproj(*args)
|
509
|
-
CoreUI.warn 'xcodeproj was renamed to `project`. Please
|
526
|
+
CoreUI.warn '`xcodeproj` was renamed to `project`. Please update your Podfile accordingly.'
|
510
527
|
project(*args)
|
511
528
|
end
|
512
529
|
|
@@ -734,6 +751,7 @@ module Pod
|
|
734
751
|
# @return [void]
|
735
752
|
#
|
736
753
|
def post_install(&block)
|
754
|
+
raise Informative, 'Specifying multiple `post_install` hooks is unsupported.' if @post_install_callback
|
737
755
|
@post_install_callback = block
|
738
756
|
end
|
739
757
|
end
|
@@ -362,6 +362,26 @@ module Pod
|
|
362
362
|
|
363
363
|
#--------------------------------------#
|
364
364
|
|
365
|
+
# Sets the Swift version that the target definition should use.
|
366
|
+
#
|
367
|
+
# @param [Bool] version
|
368
|
+
# The Swift version that the target definition should use.
|
369
|
+
#
|
370
|
+
# @return [void]
|
371
|
+
#
|
372
|
+
def swift_version=(version)
|
373
|
+
set_hash_value('swift_version', version)
|
374
|
+
end
|
375
|
+
|
376
|
+
# @return [String] the Swift version that the target definition should
|
377
|
+
# use.
|
378
|
+
#
|
379
|
+
def swift_version
|
380
|
+
get_hash_value('swift_version')
|
381
|
+
end
|
382
|
+
|
383
|
+
#--------------------------------------#
|
384
|
+
|
365
385
|
# Whether a specific pod should be linked to the target when building for
|
366
386
|
# a specific configuration. If a pod has not been explicitly whitelisted
|
367
387
|
# for any configuration, it is implicitly whitelisted.
|
@@ -473,6 +493,19 @@ module Pod
|
|
473
493
|
set_hash_value('platform', value)
|
474
494
|
end
|
475
495
|
|
496
|
+
# Sets the platform of the target definition.
|
497
|
+
#
|
498
|
+
# @see #set_platform
|
499
|
+
#
|
500
|
+
# @raise When the target definition already has a platform set.
|
501
|
+
#
|
502
|
+
# @return [void]
|
503
|
+
#
|
504
|
+
def set_platform!(name, target = nil)
|
505
|
+
raise StandardError, "The target `#{label}` already has a platform set." if get_hash_value('platform')
|
506
|
+
set_platform(name, target)
|
507
|
+
end
|
508
|
+
|
476
509
|
#--------------------------------------#
|
477
510
|
|
478
511
|
# Stores the dependency for a Pod with the given name.
|
@@ -561,6 +594,7 @@ module Pod
|
|
561
594
|
uses_frameworks
|
562
595
|
inheritance
|
563
596
|
abstract
|
597
|
+
swift_version
|
564
598
|
).freeze
|
565
599
|
|
566
600
|
# @return [Hash] The hash representation of the target definition.
|
@@ -135,7 +135,7 @@ module Pod
|
|
135
135
|
end
|
136
136
|
if sets.empty?
|
137
137
|
extra = ', author, summary, or description' if full_text_search
|
138
|
-
raise Informative, "Unable to find a pod with name#{extra}" \
|
138
|
+
raise Informative, "Unable to find a pod with name#{extra} " \
|
139
139
|
"matching `#{query}`"
|
140
140
|
end
|
141
141
|
sorted_sets(sets, query_word_regexps)
|
@@ -524,36 +524,9 @@ module Pod
|
|
524
524
|
|
525
525
|
# The minimum deployment targets of the supported platforms.
|
526
526
|
#
|
527
|
-
#
|
528
|
-
#
|
529
|
-
#
|
530
|
-
# `OS_OBJECT_USE_OBJC` flag. When set to `0`, it will allow code to use
|
531
|
-
# `dispatch_release()` on >= iOS 6.0 and OS X >= 10.8.
|
532
|
-
#
|
533
|
-
# * New libraries that do *not* require ARC don’t need to care about this
|
534
|
-
# issue at all.
|
535
|
-
#
|
536
|
-
# * New libraries that *do* require ARC _and_ have a deployment target of
|
537
|
-
# >= iOS 6.0 or OS X >= 10.8:
|
538
|
-
#
|
539
|
-
# These *no longer* use `dispatch_release()` and should have the
|
540
|
-
# `OS_OBJECT_USE_OBJC` flag set to `1`.
|
541
|
-
#
|
542
|
-
# **Note:** this means that these libraries *have* to specify the
|
543
|
-
# deployment target in their specifications in order to have
|
544
|
-
# CocoaPods set the flag to `1` and ensure proper behaviour.
|
545
|
-
#
|
546
|
-
# * New libraries that *do* require ARC, but have a deployment target of
|
547
|
-
# < iOS 6.0 or OS X < 10.8:
|
548
|
-
#
|
549
|
-
# These contain `dispatch_release()` calls and as such need the
|
550
|
-
# `OS_OBJECT_USE_OBJC` flag set to `0`.
|
551
|
-
#
|
552
|
-
# **Note:** libraries that do *not* specify a platform version are
|
553
|
-
# assumed to have a deployment target of < iOS 6.0 or OS X < 10.8.
|
554
|
-
#
|
555
|
-
# For more information, see: http://opensource.apple.com/source/libdispatch/libdispatch-228.18/os/object.h
|
556
|
-
#
|
527
|
+
# As opposed to the `platform` attribute, the `deployment_target`
|
528
|
+
# attribute allows to specify multiple platforms on which this pod
|
529
|
+
# is supported — specifying a different deployment target for each.
|
557
530
|
#
|
558
531
|
# @example
|
559
532
|
#
|
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.1
|
4
|
+
version: 1.1.0.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
@@ -9,62 +9,62 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-07-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 4.0.2
|
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
27
|
version: 4.0.2
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: nap
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - ~>
|
32
|
+
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '1.0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - ~>
|
39
|
+
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '1.0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: fuzzy_match
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- - ~>
|
46
|
+
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: 2.0.4
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- - ~>
|
53
|
+
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 2.0.4
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: bacon
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - ~>
|
60
|
+
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '1.1'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - ~>
|
67
|
+
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '1.1'
|
70
70
|
description: |-
|
@@ -130,17 +130,17 @@ require_paths:
|
|
130
130
|
- lib
|
131
131
|
required_ruby_version: !ruby/object:Gem::Requirement
|
132
132
|
requirements:
|
133
|
-
- -
|
133
|
+
- - ">="
|
134
134
|
- !ruby/object:Gem::Version
|
135
135
|
version: 2.0.0
|
136
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
|
-
- -
|
138
|
+
- - ">="
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: '0'
|
141
141
|
requirements: []
|
142
142
|
rubyforge_project:
|
143
|
-
rubygems_version: 2.6.
|
143
|
+
rubygems_version: 2.6.6
|
144
144
|
signing_key:
|
145
145
|
specification_version: 3
|
146
146
|
summary: The models of CocoaPods
|