dependabot-nuget 0.111.35 → 0.111.36
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/dependabot/nuget/file_fetcher.rb +12 -7
- data/lib/dependabot/nuget/file_parser.rb +4 -3
- data/lib/dependabot/nuget/update_checker/repository_finder.rb +6 -6
- data/lib/dependabot/nuget/update_checker/version_finder.rb +4 -4
- data/lib/dependabot/nuget/version.rb +42 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f16ae47a3670b1551bd50ae80988ee35f440335e15a8a1942bb86f14caffeb4d
|
4
|
+
data.tar.gz: f029c8c5044f20fc6bc530d3c08c8e289389a344b2c8de1eda7648beb38702b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b646d2c58d0b005e15dfdd7109be97bd9bdaf36ffdd194b5ca8320f22b675ce76dd787b2e16a29312e4a91292246c39fef3a64f8d1c3c4b925bd04944d221943
|
7
|
+
data.tar.gz: 0cc61846f5359bc57fc88f928c04e20873217d9a9972c29e7e3af9b906d4407a9f7429ef98661fb7e4431aab0a361ce718006c3d34e326c486825d77cde16363
|
@@ -30,7 +30,7 @@ module Dependabot
|
|
30
30
|
fetched_files += imported_property_files
|
31
31
|
|
32
32
|
fetched_files += packages_config_files
|
33
|
-
fetched_files
|
33
|
+
fetched_files += nuget_config_files
|
34
34
|
fetched_files << global_json if global_json
|
35
35
|
|
36
36
|
fetched_files = fetched_files.uniq
|
@@ -197,14 +197,19 @@ module Dependabot
|
|
197
197
|
end
|
198
198
|
end
|
199
199
|
|
200
|
-
def
|
201
|
-
@
|
202
|
-
|
203
|
-
|
200
|
+
def nuget_config_files
|
201
|
+
return @nuget_config_files if @nuget_config_files
|
202
|
+
|
203
|
+
candidate_paths =
|
204
|
+
[*project_files.map { |f| File.dirname(f.name) }, "."].uniq
|
205
|
+
|
206
|
+
@nuget_config_files ||=
|
207
|
+
candidate_paths.map do |dir|
|
208
|
+
file = repo_contents(dir: dir).
|
204
209
|
find { |f| f.name.casecmp("nuget.config").zero? }
|
205
|
-
file = fetch_file_from_host(file.name) if file
|
210
|
+
file = fetch_file_from_host(File.join(dir, file.name)) if file
|
206
211
|
file&.tap { |f| f.support_file = true }
|
207
|
-
end
|
212
|
+
end.compact
|
208
213
|
end
|
209
214
|
|
210
215
|
def global_json
|
@@ -75,11 +75,12 @@ module Dependabot
|
|
75
75
|
dependency_files -
|
76
76
|
project_files -
|
77
77
|
packages_config_files -
|
78
|
-
|
78
|
+
nuget_configs -
|
79
|
+
[global_json]
|
79
80
|
end
|
80
81
|
|
81
|
-
def
|
82
|
-
dependency_files.
|
82
|
+
def nuget_configs
|
83
|
+
dependency_files.select { |f| f.name.match?(/nuget\.config$/i) }
|
83
84
|
end
|
84
85
|
|
85
86
|
def global_json
|
@@ -12,10 +12,10 @@ module Dependabot
|
|
12
12
|
class RepositoryFinder
|
13
13
|
DEFAULT_REPOSITORY_URL = "https://api.nuget.org/v3/index.json"
|
14
14
|
|
15
|
-
def initialize(dependency:, credentials:,
|
15
|
+
def initialize(dependency:, credentials:, config_files: [])
|
16
16
|
@dependency = dependency
|
17
17
|
@credentials = credentials
|
18
|
-
@
|
18
|
+
@config_files = config_files
|
19
19
|
end
|
20
20
|
|
21
21
|
def dependency_urls
|
@@ -24,7 +24,7 @@ module Dependabot
|
|
24
24
|
|
25
25
|
private
|
26
26
|
|
27
|
-
attr_reader :dependency, :credentials, :
|
27
|
+
attr_reader :dependency, :credentials, :config_files
|
28
28
|
|
29
29
|
def find_dependency_urls
|
30
30
|
@find_dependency_urls ||=
|
@@ -143,10 +143,11 @@ module Dependabot
|
|
143
143
|
map { |c| { url: c.fetch("url"), token: c["token"] } }
|
144
144
|
end
|
145
145
|
|
146
|
-
# rubocop:disable Metrics/AbcSize
|
147
146
|
def config_file_repositories
|
148
|
-
|
147
|
+
config_files.flat_map { |file| repos_from_config_file(file) }
|
148
|
+
end
|
149
149
|
|
150
|
+
def repos_from_config_file(config_file)
|
150
151
|
doc = Nokogiri::XML(config_file.content)
|
151
152
|
doc.remove_namespaces!
|
152
153
|
sources =
|
@@ -173,7 +174,6 @@ module Dependabot
|
|
173
174
|
|
174
175
|
sources
|
175
176
|
end
|
176
|
-
# rubocop:enable Metrics/AbcSize
|
177
177
|
|
178
178
|
def default_repository_details
|
179
179
|
{
|
@@ -261,13 +261,13 @@ module Dependabot
|
|
261
261
|
RepositoryFinder.new(
|
262
262
|
dependency: dependency,
|
263
263
|
credentials: credentials,
|
264
|
-
|
264
|
+
config_files: nuget_configs
|
265
265
|
).dependency_urls
|
266
266
|
end
|
267
267
|
|
268
|
-
def
|
269
|
-
@
|
270
|
-
dependency_files.
|
268
|
+
def nuget_configs
|
269
|
+
@nuget_configs ||=
|
270
|
+
dependency_files.select { |f| f.name.match?(/nuget\.config$/i) }
|
271
271
|
end
|
272
272
|
|
273
273
|
def sanitized_name
|
@@ -40,9 +40,50 @@ module Dependabot
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def <=>(other)
|
43
|
-
version_comparison =
|
43
|
+
version_comparison = compare_release(other)
|
44
44
|
return version_comparison unless version_comparison.zero?
|
45
45
|
|
46
|
+
version_comparison = compare_prerelease_part(other)
|
47
|
+
return version_comparison unless version_comparison.zero?
|
48
|
+
|
49
|
+
compare_build_info(other)
|
50
|
+
end
|
51
|
+
|
52
|
+
def compare_release(other)
|
53
|
+
release_str = @version_string.split("-").first.split("+").first || ""
|
54
|
+
other_release_str = other.to_s.split("-").first.split("+").first || ""
|
55
|
+
|
56
|
+
Gem::Version.new(release_str).<=>(Gem::Version.new(other_release_str))
|
57
|
+
end
|
58
|
+
|
59
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
60
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
61
|
+
def compare_prerelease_part(other)
|
62
|
+
release_str = @version_string.split("-").first.split("+").first || ""
|
63
|
+
prerelease_string = @version_string.
|
64
|
+
sub(release_str, "").
|
65
|
+
sub("-", "").
|
66
|
+
split("+").
|
67
|
+
first
|
68
|
+
prerelease_string = nil if prerelease_string == ""
|
69
|
+
|
70
|
+
other_release_str = other.to_s.split("-").first.split("+").first || ""
|
71
|
+
other_prerelease_string = other.to_s.
|
72
|
+
sub(other_release_str, "").
|
73
|
+
sub("-", "").
|
74
|
+
split("+").
|
75
|
+
first
|
76
|
+
other_prerelease_string = nil if other_prerelease_string == ""
|
77
|
+
|
78
|
+
return -1 if prerelease_string && !other_prerelease_string
|
79
|
+
return 1 if !prerelease_string && other_prerelease_string
|
80
|
+
|
81
|
+
prerelease_string.<=>(other_prerelease_string)
|
82
|
+
end
|
83
|
+
# rubocop:enable Metrics/CyclomaticComplexity
|
84
|
+
# rubocop:enable Metrics/PerceivedComplexity
|
85
|
+
|
86
|
+
def compare_build_info(other)
|
46
87
|
return build_info.nil? ? 0 : 1 unless other.is_a?(Nuget::Version)
|
47
88
|
|
48
89
|
# Build information comparison
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-nuget
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.111.
|
4
|
+
version: 0.111.36
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dependabot
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-07-
|
11
|
+
date: 2019-07-27 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.111.
|
19
|
+
version: 0.111.36
|
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.111.
|
26
|
+
version: 0.111.36
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: byebug
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|