dependabot-maven 0.342.1 → 0.343.0
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/maven/file_fetcher.rb +10 -0
- data/lib/dependabot/maven/file_parser.rb +61 -22
- 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: 975d281cfd454c2d1524b8a77fced5b2040ff104cd0c0989d45acffe18988d4f
|
|
4
|
+
data.tar.gz: 91587156337eb764be0168703579558c50a134a6c15ce9e235d9318141bdfef9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 93ba3833938dfb35c0c937ce9859e55515b29b27e85b21643e3b2169a42cb0c85a120ad4e3bbccba57d4663edd8a14c295cf547ce82e3a51088f9cbea9c0454a
|
|
7
|
+
data.tar.gz: 7583568de4499b7c72d1d32a94149ecd0dcfa20573db44e96af07de58b399efe48e783d0079383271f046608d2913cc4cbc4927a3864f7685ec415f719092569
|
|
@@ -33,6 +33,7 @@ module Dependabot
|
|
|
33
33
|
fetched_files << pom
|
|
34
34
|
fetched_files += child_poms
|
|
35
35
|
fetched_files += relative_path_parents(fetched_files)
|
|
36
|
+
fetched_files += targetfiles
|
|
36
37
|
fetched_files << extensions if extensions
|
|
37
38
|
|
|
38
39
|
# Filter excluded files from final collection
|
|
@@ -55,6 +56,15 @@ module Dependabot
|
|
|
55
56
|
@extensions ||= T.let(fetch_file_if_present(".mvn/extensions.xml"), T.nilable(Dependabot::DependencyFile))
|
|
56
57
|
end
|
|
57
58
|
|
|
59
|
+
sig { returns(T::Array[DependencyFile]) }
|
|
60
|
+
def targetfiles
|
|
61
|
+
repo_contents(raise_errors: false)
|
|
62
|
+
.select { |f| f.type == "file" && f.name.end_with?(".target") }
|
|
63
|
+
.map { |f| fetch_file_from_host(f.name) }
|
|
64
|
+
rescue Dependabot::DirectoryNotFound, Octokit::NotFound
|
|
65
|
+
[]
|
|
66
|
+
end
|
|
67
|
+
|
|
58
68
|
sig { returns(T::Array[DependencyFile]) }
|
|
59
69
|
def child_poms
|
|
60
70
|
recursively_fetch_child_poms(T.must(pom), fetched_filenames: ["pom.xml"])
|
|
@@ -36,6 +36,7 @@ module Dependabot
|
|
|
36
36
|
"annotationProcessorPaths > path"
|
|
37
37
|
PLUGIN_SELECTOR = "plugins > plugin"
|
|
38
38
|
EXTENSION_SELECTOR = "extensions > extension"
|
|
39
|
+
TARGET_SELECTOR = "target > locations > location[type='Maven'] > dependencies > dependency"
|
|
39
40
|
PLUGIN_ARTIFACT_ITEMS_SELECTOR = "plugins > plugin > executions > execution > " \
|
|
40
41
|
"configuration > artifactItems > artifactItem"
|
|
41
42
|
|
|
@@ -44,31 +45,11 @@ module Dependabot
|
|
|
44
45
|
|
|
45
46
|
sig { override.returns(T::Array[Dependabot::Dependency]) }
|
|
46
47
|
def parse
|
|
47
|
-
dependency_set = DependencySet.new
|
|
48
|
-
|
|
49
|
-
dependencies = []
|
|
50
48
|
if Dependabot::Experiments.enabled?(:maven_transitive_dependencies)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
pomfiles.each { |pom| dependency_set += pomfile_dependencies(pom) }
|
|
54
|
-
extensionfiles.each { |extension| dependency_set += extensionfile_dependencies(extension) }
|
|
55
|
-
|
|
56
|
-
dependency_set.dependencies.each do |dep|
|
|
57
|
-
requirements = merge_requirements(dep.requirements)
|
|
58
|
-
dependencies << Dependabot::Dependency.new(
|
|
59
|
-
name: dep.name,
|
|
60
|
-
version: dep.version,
|
|
61
|
-
package_manager: "maven",
|
|
62
|
-
requirements: requirements
|
|
63
|
-
)
|
|
64
|
-
end
|
|
49
|
+
parse_with_transitive_dependencies
|
|
65
50
|
else
|
|
66
|
-
|
|
67
|
-
extensionfiles.each { |extension| dependency_set += extensionfile_dependencies(extension) }
|
|
68
|
-
dependencies = dependency_set.dependencies
|
|
51
|
+
parse_standard_dependencies
|
|
69
52
|
end
|
|
70
|
-
|
|
71
|
-
dependencies
|
|
72
53
|
end
|
|
73
54
|
|
|
74
55
|
sig { returns(Ecosystem) }
|
|
@@ -85,6 +66,36 @@ module Dependabot
|
|
|
85
66
|
|
|
86
67
|
private
|
|
87
68
|
|
|
69
|
+
sig { returns(T::Array[Dependabot::Dependency]) }
|
|
70
|
+
def parse_with_transitive_dependencies
|
|
71
|
+
dependency_set = DependencySet.new
|
|
72
|
+
dependency_set += MavenDependencyParser.build_dependency_set(pomfiles)
|
|
73
|
+
|
|
74
|
+
pomfiles.each { |pom| dependency_set += pomfile_dependencies(pom) }
|
|
75
|
+
extensionfiles.each { |extension| dependency_set += extensionfile_dependencies(extension) }
|
|
76
|
+
|
|
77
|
+
dependencies = []
|
|
78
|
+
dependency_set.dependencies.each do |dep|
|
|
79
|
+
requirements = merge_requirements(dep.requirements)
|
|
80
|
+
dependencies << Dependabot::Dependency.new(
|
|
81
|
+
name: dep.name,
|
|
82
|
+
version: dep.version,
|
|
83
|
+
package_manager: "maven",
|
|
84
|
+
requirements: requirements
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
dependencies
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
sig { returns(T::Array[Dependabot::Dependency]) }
|
|
91
|
+
def parse_standard_dependencies
|
|
92
|
+
dependency_set = DependencySet.new
|
|
93
|
+
pomfiles.each { |pom| dependency_set += pomfile_dependencies(pom) }
|
|
94
|
+
extensionfiles.each { |extension| dependency_set += extensionfile_dependencies(extension) }
|
|
95
|
+
targetfiles.each { |target| dependency_set += targetfile_dependencies(target) }
|
|
96
|
+
dependency_set.dependencies
|
|
97
|
+
end
|
|
98
|
+
|
|
88
99
|
sig { returns(Ecosystem::VersionManager) }
|
|
89
100
|
def package_manager
|
|
90
101
|
@package_manager ||= T.let(
|
|
@@ -150,6 +161,26 @@ module Dependabot
|
|
|
150
161
|
dependency_set
|
|
151
162
|
end
|
|
152
163
|
|
|
164
|
+
sig { params(target: Dependabot::DependencyFile).returns(DependencySet) }
|
|
165
|
+
def targetfile_dependencies(target)
|
|
166
|
+
dependency_set = DependencySet.new
|
|
167
|
+
|
|
168
|
+
errors = T.let([], T::Array[DependencyFileNotEvaluatable])
|
|
169
|
+
doc = Nokogiri::XML(target.content)
|
|
170
|
+
doc.remove_namespaces!
|
|
171
|
+
|
|
172
|
+
doc.css(TARGET_SELECTOR).each do |dependency_node|
|
|
173
|
+
dep = dependency_from_dependency_node(target, dependency_node)
|
|
174
|
+
dependency_set << dep if dep
|
|
175
|
+
rescue DependencyFileNotEvaluatable => e
|
|
176
|
+
errors << e
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
raise T.must(errors.first) if errors.any? && dependency_set.dependencies.none?
|
|
180
|
+
|
|
181
|
+
dependency_set
|
|
182
|
+
end
|
|
183
|
+
|
|
153
184
|
sig do
|
|
154
185
|
params(
|
|
155
186
|
pom: Dependabot::DependencyFile,
|
|
@@ -402,6 +433,14 @@ module Dependabot
|
|
|
402
433
|
)
|
|
403
434
|
end
|
|
404
435
|
|
|
436
|
+
sig { returns(T::Array[Dependabot::DependencyFile]) }
|
|
437
|
+
def targetfiles
|
|
438
|
+
@targetfiles ||= T.let(
|
|
439
|
+
dependency_files.select { |f| f.name.end_with?(".target") },
|
|
440
|
+
T.nilable(T::Array[Dependabot::DependencyFile])
|
|
441
|
+
)
|
|
442
|
+
end
|
|
443
|
+
|
|
405
444
|
sig { returns(T::Array[String]) }
|
|
406
445
|
def internal_dependency_names
|
|
407
446
|
@internal_dependency_names ||= T.let(
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dependabot-maven
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.343.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dependabot
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.
|
|
18
|
+
version: 0.343.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.
|
|
25
|
+
version: 0.343.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: rexml
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -285,7 +285,7 @@ licenses:
|
|
|
285
285
|
- MIT
|
|
286
286
|
metadata:
|
|
287
287
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
288
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
|
288
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.343.0
|
|
289
289
|
rdoc_options: []
|
|
290
290
|
require_paths:
|
|
291
291
|
- lib
|