cocoapods-core 1.0.1 → 1.1.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/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
|