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

Sign up to get free protection for your applications and to get access to all the features.
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