cocoapods-core 1.2.0.beta.1 → 1.2.0.beta.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f69ea19b7583e1f450229e3d27a04ad04e3ea3d6
4
- data.tar.gz: 068a342ddf1e3d9838dad052d04a87f5817686fe
3
+ metadata.gz: bcdc0738fd8535af76dcbfe33470090242d5dff8
4
+ data.tar.gz: 647aa799e28ec1c7400b726cdad6eef4c97abb6c
5
5
  SHA512:
6
- metadata.gz: 95e31e5d32d740d247a2bf84383a067e053eb0fcc2ae6ef0301aeb2d987a95ea3537eb708068511e0217fda095cca11de5a607324e7fc531f9ff4c5631433374
7
- data.tar.gz: 105e1bc517d0023b2ddd69deb89473b3fc8e38dbd2ead258e2693013d996c211c134edc5bf04cc302538999de58e269d32fc91f3bdf1ebd8e19104e90c7d4643
6
+ metadata.gz: 52c74ad3721c8150a5e629a4dc7558e5f547cd4ca2b08b9ac4d28a4019b67dd585a2ab6986925ba6f63d0a969d7e7a246ac5bfd0bb23bb1691c4a6bbc8256da6
7
+ data.tar.gz: 0fe89c693ad63eb5ad815f1301530138cb0517d807130c45d28575b0334575df4dee83e50a32ab2a83dfac8b3f39f4f30a4218d1dc884ee638c2d05b5be40090
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  # The version of the cocoapods-core.
3
3
  #
4
- CORE_VERSION = '1.2.0.beta.1'.freeze unless defined? Pod::CORE_VERSION
4
+ CORE_VERSION = '1.2.0.beta.2'.freeze unless defined? Pod::CORE_VERSION
5
5
  end
@@ -193,6 +193,9 @@ module Pod
193
193
  if root?
194
194
  raise Informative, 'Cannot set inheritance for the root target definition.'
195
195
  end
196
+ if abstract?
197
+ raise Informative, 'Cannot set inheritance for abstract target definition.'
198
+ end
196
199
  set_hash_value('inheritance', inheritance)
197
200
  end
198
201
 
@@ -25,6 +25,10 @@ module Pod
25
25
  #
26
26
  attr_reader :parent
27
27
 
28
+ # @return [Integer] the cached hash value for this spec.
29
+ #
30
+ attr_reader :hash_value
31
+
28
32
  # @param [Specification] parent @see parent
29
33
  #
30
34
  # @param [String] name
@@ -35,6 +39,7 @@ module Pod
35
39
  @subspecs = []
36
40
  @consumers = {}
37
41
  @parent = parent
42
+ @hash_value = nil
38
43
  attributes_hash['name'] = name
39
44
 
40
45
  yield self if block_given?
@@ -80,7 +85,10 @@ module Pod
80
85
  # @return [Fixnum] The hash value.
81
86
  #
82
87
  def hash
83
- (name.hash * 53) ^ version.hash
88
+ if @hash_value.nil?
89
+ @hash_value = (name.hash * 53) ^ version.hash
90
+ end
91
+ @hash_value
84
92
  end
85
93
 
86
94
  # @return [String] A string suitable for representing the specification in
@@ -582,6 +590,35 @@ module Pod
582
590
  @defined_in_file = file
583
591
  end
584
592
 
593
+ # Sets the name of the `podspec`.
594
+ #
595
+ # @param [String] name
596
+ # the `podspec` name.
597
+ #
598
+ # @return [void]
599
+ #
600
+ # @visibility private
601
+ #
602
+ def name=(name)
603
+ @hash_value = nil
604
+ attributes_hash['name'] = name
605
+ end
606
+
607
+ # Sets the version of the `podspec`.
608
+ #
609
+ # @param [String] version
610
+ # the `podspec` version.
611
+ #
612
+ # @return [void]
613
+ #
614
+ # @visibility private
615
+ #
616
+ def version=(version)
617
+ @hash_value = nil
618
+ attributes_hash['version'] = version
619
+ @version = nil
620
+ end
621
+
585
622
  # @!group Validation
586
623
 
587
624
  # Validates the cocoapods_version in the specification against the current version of Core.
@@ -30,12 +30,14 @@ module Pod
30
30
  # 4. 0.9
31
31
  #
32
32
  class Version < Pod::Vendor::Gem::Version
33
- # Override the constants defined by the superclass to add Semantic
34
- # Versioning prerelease support (with a dash). E.g.: 1.0.0-alpha1
33
+ # Override the constants defined by the superclass to add:
34
+ # - Semantic Versioning prerelease support (with a dash). E.g.: 1.0.0-alpha1
35
+ # - Semantic Versioning metadata support (with a +) E.g: 1.0.0+96ef7ed
35
36
  #
36
37
  # For more info, see: http://semver.org
37
38
  #
38
- VERSION_PATTERN = '[0-9]+(\.[0-9a-zA-Z\-]+)*'
39
+ METADATA_PATTERN = '(\+[0-9a-zA-Z\-\.]+)'
40
+ VERSION_PATTERN = "[0-9]+(\\.[0-9a-zA-Z\\-]+)*#{METADATA_PATTERN}?"
39
41
  ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})*\s*\z/
40
42
 
41
43
  # @param [String,Version] version
@@ -86,7 +88,7 @@ module Pod
86
88
 
87
89
  # @!group Semantic Versioning
88
90
 
89
- SEMVER_PATTERN = '[0-9]+(\.[0-9]+(\.[0-9]+(-[0-9A-Za-z\-\.]+)?)?)?'
91
+ SEMVER_PATTERN = "[0-9]+(\\.[0-9]+(\\.[0-9]+(-[0-9A-Za-z\\-\\.]+)?#{METADATA_PATTERN}?)?)?"
90
92
  ANCHORED_SEMANTIC_VERSION_PATTERN = /\A\s*(#{SEMVER_PATTERN})*\s*\z/
91
93
 
92
94
  # @return [Bool] Whether the version conforms to the Semantic Versioning
@@ -182,6 +184,19 @@ module Pod
182
184
 
183
185
  protected
184
186
 
187
+ # This overrides the Gem::Version implementation of `_segments` to drop the
188
+ # metadata from comparisons as per http://semver.org/#spec-item-10
189
+ #
190
+ def _segments
191
+ # segments is lazy so it can pick up version values that come from
192
+ # old marshaled versions, which don't go through marshal_load.
193
+ # since this version object is cached in @@all, its @segments should be frozen
194
+
195
+ @segments ||= @version.sub(/#{METADATA_PATTERN}$/, '').scan(/[0-9]+|[a-z]+/i).map do |s|
196
+ /^\d+$/ =~ s ? s.to_i : s
197
+ end.freeze
198
+ end
199
+
185
200
  def numeric_segments
186
201
  segments.take_while { |s| s.is_a?(Numeric) }.reverse_each.drop_while { |s| s == 0 }.reverse
187
202
  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.2.0.beta.1
4
+ version: 1.2.0.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
@@ -9,68 +9,68 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-10-27 00:00:00.000000000 Z
12
+ date: 2016-12-17 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
+ - - "<"
22
22
  - !ruby/object:Gem::Version
23
23
  version: '5'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - '>='
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
30
  version: 4.0.2
31
- - - <
31
+ - - "<"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '5'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: nap
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.0'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: fuzzy_match
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.0.4
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 2.0.4
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: bacon
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.1'
69
69
  type: :development
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.1'
76
76
  description: |-
@@ -136,17 +136,17 @@ require_paths:
136
136
  - lib
137
137
  required_ruby_version: !ruby/object:Gem::Requirement
138
138
  requirements:
139
- - - '>='
139
+ - - ">="
140
140
  - !ruby/object:Gem::Version
141
141
  version: 2.0.0
142
142
  required_rubygems_version: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - '>='
144
+ - - ">="
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0'
147
147
  requirements: []
148
148
  rubyforge_project:
149
- rubygems_version: 2.6.7
149
+ rubygems_version: 2.4.5.1
150
150
  signing_key:
151
151
  specification_version: 3
152
152
  summary: The models of CocoaPods