dependabot-maven 0.215.0 → 0.216.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: 565c1abcfc97b2e7785967f04d732dbfa8136d668e843320df5ec7e8e1ddbdbf
4
- data.tar.gz: 4042ef798a199b012305616a8a085e28c69ec24173449992333ac9541bdf00db
3
+ metadata.gz: 898d484d74c6be04f0a0f1287361309f9a3d7ef5f894b584025af9e22bd6f3e0
4
+ data.tar.gz: cf629e5c3da134a26e9db1cb12f89fa227d59f4876ac1210c01ecbd82adcfc34
5
5
  SHA512:
6
- metadata.gz: 34dfd8dbe543e4a1521942cdc8a403d7dc0938cd1b0863c82a756e5cdcf810a700e4ac83b11f56de06fbf0874d347fba52533d186e11c951816b712fafa05b4a
7
- data.tar.gz: f99a58593d3b2854380d88b82c7959611498a2cb55570b3635a28b5d33a7ffa854430e5fe91cb2fb3e0dcb63f67bcd9913d3ac8a277c976f7f992d3a61410cd9
6
+ metadata.gz: f0b15ce696fd8b01de8ef4d328d0d64872f3db4d7e0b785bd73276c23a83a1b68623e9450b9b85407173db0959050e93adff0b63b16c3d15e09ec7ba9a203ce9
7
+ data.tar.gz: 7064c5b7c0b887d9b4098b659e7671ca634aa3002403f4605a292bd64e53f7397004a016943c45f118c7afa5516ac2a9b8879ed88c94a3c2ecbff54691f21195
@@ -11,7 +11,7 @@ module Dependabot
11
11
  "profile > modules > module"
12
12
 
13
13
  def self.required_files_in?(filenames)
14
- (%w(pom.xml) - filenames).empty?
14
+ filenames.include?("pom.xml")
15
15
  end
16
16
 
17
17
  def self.required_files_message
@@ -58,7 +58,7 @@ module Dependabot
58
58
  end
59
59
 
60
60
  def recursively_fetch_child_poms(pom, fetched_filenames:)
61
- base_path = pom.name.gsub(/pom\.xml$/, "")
61
+ base_path = File.dirname(pom.name)
62
62
  doc = Nokogiri::XML(pom.content)
63
63
 
64
64
  doc.css(MODULE_SELECTOR).flat_map do |module_node|
@@ -66,7 +66,7 @@ module Dependabot
66
66
  name_parts = [
67
67
  base_path,
68
68
  relative_path,
69
- relative_path.end_with?("pom.xml") ? nil : "pom.xml"
69
+ relative_path.end_with?(".xml") ? nil : "pom.xml"
70
70
  ].compact.reject(&:empty?)
71
71
  path = Pathname.new(File.join(*name_parts)).cleanpath.to_path
72
72
 
@@ -92,22 +92,18 @@ module Dependabot
92
92
  def recursively_fetch_relative_path_parents(pom, fetched_filenames:)
93
93
  path = parent_path_for_pom(pom)
94
94
 
95
- if fetched_filenames.include?(path) ||
96
- fetched_filenames.include?(path.gsub("pom.xml", "pom_parent.xml"))
97
- return []
98
- end
95
+ return [] if path.nil? || fetched_filenames.include?(path)
99
96
 
100
97
  full_path_parts =
101
98
  [directory.gsub(%r{^/}, ""), path].reject(&:empty?).compact
102
99
 
103
- full_path = Pathname.new(File.join(*full_path_parts)).
104
- cleanpath.to_path
100
+ full_path = Pathname.new(File.join(*full_path_parts)).cleanpath.to_path
105
101
 
106
102
  return [] if full_path.start_with?("..")
107
103
 
108
104
  parent_pom = fetch_file_from_host(path)
109
- parent_pom.support_file = true
110
- parent_pom.name = parent_pom.name.gsub("pom.xml", "pom_parent.xml")
105
+
106
+ return [] unless fetched_pom_is_parent(pom, parent_pom)
111
107
 
112
108
  [
113
109
  parent_pom,
@@ -124,17 +120,41 @@ module Dependabot
124
120
  doc = Nokogiri::XML(pom.content)
125
121
  doc.remove_namespaces!
126
122
 
123
+ return unless doc.at_xpath("/project/parent")
124
+
127
125
  relative_parent_path =
128
126
  doc.at_xpath("/project/parent/relativePath")&.content&.strip || ".."
129
127
 
130
128
  name_parts = [
131
- pom.name.gsub(/pom\.xml$/, "").gsub(/pom_parent\.xml$/, ""),
129
+ File.dirname(pom.name),
132
130
  relative_parent_path,
133
- relative_parent_path.end_with?("pom.xml") ? nil : "pom.xml"
131
+ relative_parent_path.end_with?(".xml") ? nil : "pom.xml"
134
132
  ].compact.reject(&:empty?)
135
133
 
136
134
  Pathname.new(File.join(*name_parts)).cleanpath.to_path
137
135
  end
136
+
137
+ def fetched_pom_is_parent(pom, parent_pom)
138
+ pom_doc = Nokogiri::XML(pom.content).remove_namespaces!
139
+ pom_artifact_id, pom_group_id, pom_version = fetch_pom_unique_ids(pom_doc, true)
140
+
141
+ parent_doc = Nokogiri::XML(parent_pom.content).remove_namespaces!
142
+ parent_artifact_id, parent_group_id, parent_version = fetch_pom_unique_ids(parent_doc, false)
143
+
144
+ if parent_group_id.nil?
145
+ [parent_artifact_id, parent_version] == [pom_artifact_id, pom_version]
146
+ else
147
+ [parent_group_id, parent_artifact_id, parent_version] == [pom_group_id, pom_artifact_id, pom_version]
148
+ end
149
+ end
150
+
151
+ def fetch_pom_unique_ids(doc, check_parent_node)
152
+ parent = check_parent_node ? "/parent" : ""
153
+ group_id = doc.at_xpath("/project#{parent}/groupId")&.content&.strip
154
+ artifact_id = doc.at_xpath("/project#{parent}/artifactId")&.content&.strip
155
+ version = doc.at_xpath("/project#{parent}/version")&.content&.strip
156
+ [artifact_id, group_id, version]
157
+ end
138
158
  end
139
159
  end
140
160
  end
@@ -36,8 +36,8 @@ module Dependabot
36
36
  loop do
37
37
  candidate_node =
38
38
  doc.at_xpath("/project/#{nm}") ||
39
- doc.at_xpath("/project/properties/#{nm}") ||
40
- doc.at_xpath("/project/profiles/profile/properties/#{nm}")
39
+ doc.at_xpath("/project/properties/#{property_name}") ||
40
+ doc.at_xpath("/project/profiles/profile/properties/#{property_name}")
41
41
  break candidate_node if candidate_node
42
42
  break unless nm.match?(DOT_SEPARATOR_REGEX)
43
43
 
@@ -23,7 +23,8 @@ module Dependabot
23
23
  # - Any extensions
24
24
  DEPENDENCY_SELECTOR = "project > parent, " \
25
25
  "dependencies > dependency, " \
26
- "extensions > extension"
26
+ "extensions > extension, " \
27
+ "annotationProcessorPaths > path"
27
28
  PLUGIN_SELECTOR = "plugins > plugin"
28
29
  EXTENSION_SELECTOR = "extensions > extension"
29
30
 
@@ -271,9 +272,10 @@ module Dependabot
271
272
  end
272
273
 
273
274
  def pomfiles
274
- # NOTE: this (correctly) excludes any parent POMs that were downloaded
275
275
  @pomfiles ||=
276
- dependency_files.select { |f| f.name.end_with?("pom.xml") }
276
+ dependency_files.select do |f|
277
+ f.name.end_with?(".xml") && !f.name.end_with?("extensions.xml")
278
+ end
277
279
  end
278
280
 
279
281
  def extensionfiles
@@ -11,7 +11,8 @@ module Dependabot
11
11
  class DeclarationFinder
12
12
  DECLARATION_REGEX =
13
13
  %r{<parent>.*?</parent>|<dependency>.*?</dependency>|
14
- <plugin>.*?(?:<plugin>.*?</plugin>.*)?</plugin>|<extension>.*?</extension>}mx
14
+ <plugin>.*?(?:<plugin>.*?</plugin>.*)?</plugin>|<extension>.*?</extension>|
15
+ <path>.*?</path>}mx
15
16
 
16
17
  attr_reader :dependency, :declaring_requirement, :dependency_files
17
18
 
@@ -13,6 +13,7 @@ module Dependabot
13
13
  def self.updated_files_regex
14
14
  [
15
15
  /^pom\.xml$/, %r{/pom\.xml$},
16
+ /.*\.xml$/, %r{/.*\.xml$},
16
17
  /^extensions.\.xml$/, %r{/extensions\.xml$}
17
18
  ]
18
19
  end
@@ -31,11 +32,10 @@ module Dependabot
31
32
  )
32
33
  end
33
34
 
34
- updated_files.select! { |f| f.name.end_with?("pom.xml", "extensions.xml") }
35
+ updated_files.select! { |f| f.name.end_with?(".xml") }
35
36
  updated_files.reject! { |f| dependency_files.include?(f) }
36
37
 
37
38
  raise "No files changed!" if updated_files.none?
38
- raise "Updated a supporting POM!" if updated_files.any? { |f| f.name.end_with?("pom_parent.xml") }
39
39
 
40
40
  updated_files
41
41
  end
@@ -42,7 +42,7 @@ module Dependabot
42
42
  any? { |f| dependency_artifact_id.end_with?(f.name) }
43
43
  rescue Dependabot::BranchNotFound
44
44
  # If we are attempting to find a branch, we should fail over to the default branch and retry once only
45
- if tmp_source.branch.present?
45
+ unless tmp_source.branch.to_s.empty?
46
46
  tmp_source.branch = nil
47
47
  retry
48
48
  end
@@ -58,7 +58,7 @@ module Dependabot
58
58
  repositories.map do |repository_details|
59
59
  url = repository_details.fetch("url")
60
60
  xml = dependency_metadata(repository_details)
61
- next [] if xml.blank?
61
+ next [] if xml.nil?
62
62
 
63
63
  break xml.css("versions > version").
64
64
  select { |node| version_class.correct?(node.content) }.
@@ -68,8 +68,7 @@ module Dependabot
68
68
  property_details(property_name: prop_name, callsite_pom: pom)&.
69
69
  fetch(:file)
70
70
 
71
- declaration_pom_name == "remote_pom.xml" ||
72
- declaration_pom_name&.end_with?("pom_parent.xml")
71
+ declaration_pom_name == "remote_pom.xml"
73
72
  end
74
73
  end
75
74
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "dependabot/version"
3
4
  require "dependabot/utils"
4
- require "rubygems_version_patch"
5
5
 
6
6
  # Java versions use dots and dashes when tokenising their versions.
7
7
  # Gem::Version converts a "-" to ".pre.", so we override the `to_s` method.
@@ -10,7 +10,7 @@ require "rubygems_version_patch"
10
10
 
11
11
  module Dependabot
12
12
  module Maven
13
- class Version < Gem::Version
13
+ class Version < Dependabot::Version
14
14
  NULL_VALUES = %w(0 final ga).freeze
15
15
  PREFIXED_TOKEN_HIERARCHY = {
16
16
  "." => { qualifier: 1, number: 4 },
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-maven
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.215.0
4
+ version: 0.216.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-07 00:00:00.000000000 Z
11
+ date: 2023-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dependabot-common
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.215.0
19
+ version: 0.216.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.215.0
26
+ version: 0.216.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debug
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.0
33
+ version: 1.7.1
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.0
40
+ version: 1.7.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: gpgme
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 4.0.0
61
+ version: 4.2.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 4.0.0
68
+ version: 4.2.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,70 +86,70 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '3.8'
89
+ version: '3.12'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '3.8'
96
+ version: '3.12'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec-its
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.2'
103
+ version: '1.3'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.2'
110
+ version: '1.3'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.39.0
117
+ version: 1.48.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.39.0
124
+ version: 1.48.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rubocop-performance
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 1.15.0
131
+ version: 1.17.1
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.15.0
138
+ version: 1.17.1
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: simplecov
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 0.21.0
145
+ version: 0.22.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 0.21.0
152
+ version: 0.22.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: simplecov-console
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -182,33 +182,34 @@ dependencies:
182
182
  name: vcr
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - '='
185
+ - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 6.1.0
187
+ version: '6.1'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - '='
192
+ - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 6.1.0
194
+ version: '6.1'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: webmock
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '3.4'
201
+ version: '3.18'
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '3.4'
209
- description: Automated dependency management for Ruby, JavaScript, Python, PHP, Elixir,
210
- Rust, Java, .NET, Elm and Go
211
- email: support@dependabot.com
208
+ version: '3.18'
209
+ description: Dependabot-Maven provides support for bumping Maven packages via Dependabot.
210
+ If you want support for multiple package managers, you probably want the meta-gem
211
+ dependabot-omnibus.
212
+ email: opensource@github.com
212
213
  executables: []
213
214
  extensions: []
214
215
  extra_rdoc_files: []
@@ -233,7 +234,9 @@ files:
233
234
  homepage: https://github.com/dependabot/dependabot-core
234
235
  licenses:
235
236
  - Nonstandard
236
- metadata: {}
237
+ metadata:
238
+ issue_tracker_uri: https://github.com/dependabot/dependabot-core/issues
239
+ changelog_uri: https://github.com/dependabot/dependabot-core/blob/main/CHANGELOG.md
237
240
  post_install_message:
238
241
  rdoc_options: []
239
242
  require_paths:
@@ -249,8 +252,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
249
252
  - !ruby/object:Gem::Version
250
253
  version: 3.1.0
251
254
  requirements: []
252
- rubygems_version: 3.3.7
255
+ rubygems_version: 3.3.26
253
256
  signing_key:
254
257
  specification_version: 4
255
- summary: Maven support for dependabot
258
+ summary: Provides Dependabot support for Maven
256
259
  test_files: []