dependabot-go_modules 0.242.0 → 0.243.0

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
  SHA256:
3
- metadata.gz: 399860365300c7e10dba87138d8ea2c622fce1089e738fe0f1d3f7c249ffafa7
4
- data.tar.gz: ece1f61a65bd977d2d36ec1ab54de22a0544274ef20c6e3b04fbce03abeb6284
3
+ metadata.gz: 744d85db0b916488bd45277710d63f2843664dfd6a7134280508dbf47d4e6a1f
4
+ data.tar.gz: e24005d1821ccdafd273d9af42aae6ae2b2eb141c9baa804b213a2e29f78eed0
5
5
  SHA512:
6
- metadata.gz: 31a17c4a025c5e6736384b38280653c026e2cf6d86ff594e9c25d6b1e9d8a5086a5af67fca7fd1f5df2915174f08e86369d0ff6677ec96c2886b34aec1fd3501
7
- data.tar.gz: b6f27b2180b081926930b005951efb5ca5b6220f0f0a563f95716dc9a396a2c78f5d8f12bd7c9008dac1c57875256999aa4cf7c68fc5b8fca4bd74909b6c9faa
6
+ metadata.gz: 567bd5baf8ffa1edc4f66fdf0f72735761469fa4b497042565582c71296961299e79fa91d536410ef6a4107b02f78f56b4b060ec1faedecf8378540175b96ab8
7
+ data.tar.gz: e955c9a518ce0494cf51960230516602bd0759a6765bf690f1bb340e1df354a7930301d19d6d0ad3e9c5d07927360e1ec1d514dd571846f378cad237f83e47c0
@@ -12,6 +12,8 @@ require "dependabot/utils"
12
12
  module Dependabot
13
13
  module GoModules
14
14
  class Version < Dependabot::Version
15
+ extend T::Sig
16
+
15
17
  VERSION_PATTERN = '[0-9]+[0-9a-zA-Z]*(?>\.[0-9a-zA-Z]+)*' \
16
18
  '(-[0-9A-Za-z-]+(\.[0-9a-zA-Z-]+)*)?' \
17
19
  '(\+incompatible)?'
@@ -28,6 +30,7 @@ module Dependabot
28
30
  @version_string = version.to_s.gsub(/^v/, "")
29
31
  version = version.gsub(/^v/, "") if version.is_a?(String)
30
32
  version = version.to_s.split("+").first if version.to_s.include?("+")
33
+ version, @prerelease = version.to_s.split("-") if version.to_s.include?("-")
31
34
 
32
35
  super
33
36
  end
@@ -39,6 +42,73 @@ module Dependabot
39
42
  def to_s
40
43
  @version_string
41
44
  end
45
+
46
+ def <=>(other)
47
+ result = super(other)
48
+ return if result.nil?
49
+ return result unless result.zero?
50
+
51
+ other = self.class.new(other) unless other.is_a?(Version)
52
+ compare_prerelease(@prerelease || "", T.unsafe(other).prerelease || "")
53
+ end
54
+
55
+ protected
56
+
57
+ attr_reader :prerelease
58
+
59
+ private
60
+
61
+ # This matches Go's semver behavior
62
+ # see https://github.com/golang/mod/blob/fa1ba4269bda724bb9f01ec381fbbaf031e45833/semver/semver.go#L333
63
+ # rubocop:disable Metrics/CyclomaticComplexity
64
+ # rubocop:disable Metrics/PerceivedComplexity
65
+ def compare_prerelease(left, right)
66
+ return 0 if left == right
67
+ return 1 if left == ""
68
+ return -1 if right == ""
69
+
70
+ while left != "" && right != ""
71
+ left = left[1..-1] if left.start_with?(".", "-")
72
+ right = right[1..-1] if right.start_with?(".", "-")
73
+
74
+ dx, left = next_ident(left)
75
+ dy, right = next_ident(right)
76
+ next unless dx != dy
77
+
78
+ ix = num?(dx)
79
+ iy = num?(dy)
80
+ if ix != iy
81
+ return -1 if ix
82
+
83
+ return 1
84
+ end
85
+ if ix
86
+ return -1 if dx.length < dy.length
87
+ return 1 if dx.length > dy.length
88
+ end
89
+ return -1 if dx < dy
90
+
91
+ return 1
92
+
93
+ end
94
+ return -1 if left == ""
95
+
96
+ 1
97
+ end
98
+ # rubocop:enable Metrics/CyclomaticComplexity
99
+ # rubocop:enable Metrics/PerceivedComplexity
100
+
101
+ def next_ident(data)
102
+ i = 0
103
+ i += 1 while i < data.length && data[i] != "."
104
+ [data[0..i], data[i..-1]]
105
+ end
106
+
107
+ def num?(data)
108
+ i = 0
109
+ i += 1 while i < data.length && data[i] >= "0" && data[i] <= "9"
110
+ i == data.length
111
+ end
42
112
  end
43
113
  end
44
114
  end
@@ -18,6 +18,3 @@ Dependabot::PullRequestCreator::Labeler
18
18
  require "dependabot/dependency"
19
19
  Dependabot::Dependency
20
20
  .register_production_check("go_modules", ->(_) { true })
21
-
22
- require "dependabot/utils"
23
- Dependabot::Utils.register_always_clone("go_modules")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-go_modules
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.242.0
4
+ version: 0.243.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-22 00:00:00.000000000 Z
11
+ date: 2024-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dependabot-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.242.0
19
+ version: 0.243.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.242.0
26
+ version: 0.243.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -253,7 +253,7 @@ licenses:
253
253
  - Nonstandard
254
254
  metadata:
255
255
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
256
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.242.0
256
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.243.0
257
257
  post_install_message:
258
258
  rdoc_options: []
259
259
  require_paths: