dependabot-maven 0.186.1 → 0.187.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e1a2783c11d5d8604b71ca5b61ae195a9301643612473feba9f36c088d791b1
4
- data.tar.gz: 81b870922031db076a242e4f12b51985c4ecc2357cf87fa7c63ab1ae8635acea
3
+ metadata.gz: 3e4a577221aad5a220aac8de3764283bec0f886a6b815a927152747f26cc4c5b
4
+ data.tar.gz: f620d6868318bf81a7ca22457f156188b7d3e9e8aca5ac920114bcd0f6741db0
5
5
  SHA512:
6
- metadata.gz: c9312ba524cde77bab1d5993857371d10cbd4f1fb3a92eee035577655b70e6bcf496ea5f19003ff87e5e4983c418ec880c9a58bfeefaac2aa55ae97e3efb9102
7
- data.tar.gz: 51fbad4d09cfd030c51e31bac82788c4d1126e7ff0988a6093b6de1378bdd68ec85884c478fe0a7c72228a2bc1d61495966a4597ecdcebb003cd1dff1a874676
6
+ metadata.gz: 92c8af63d0d1977d0cb91dcc8c49d962c36d03af91a32961f9bb6106998d24e6e6208d6cd5479156e1e295edcc061754f6defe07aa31a322590cb8f9e99069ac
7
+ data.tar.gz: 3f186435480485bf3bddb03881b0929f00e35a61224bd4f3fde2e0937d989295e3f8cee0a02c8dd7cd3255d233c4829986b0a3e6cdf44f23bc4d6f31fc2810c6
@@ -113,6 +113,11 @@ module Dependabot
113
113
  @maven_responses[url] ||= Excon.get(
114
114
  url,
115
115
  idempotent: true,
116
+ # We attempt to find dependencies in private repos before failing over to the CENTRAL_REPO_URL,
117
+ # but this can burn a lot of a job's time against slow servers due to our `read_timeout` being 20 seconds.
118
+ #
119
+ # In order to avoid the overall job timing out, we only make one retry attempt
120
+ retry_limit: 1,
116
121
  **SharedHelpers.excon_defaults
117
122
  )
118
123
  next unless @maven_responses[url].status == 200
@@ -23,8 +23,9 @@ module Dependabot
23
23
 
24
24
  def update_possible?
25
25
  return false unless target_version
26
+ return @update_possible if defined?(@update_possible)
26
27
 
27
- @update_possible ||=
28
+ @update_possible =
28
29
  dependencies_using_property.all? do |dep|
29
30
  next false if includes_property_reference?(updated_version(dep))
30
31
 
@@ -25,6 +25,7 @@ module Dependabot
25
25
  @raise_on_ignored = raise_on_ignored
26
26
  @security_advisories = security_advisories
27
27
  @forbidden_urls = []
28
+ @dependency_metadata = {}
28
29
  end
29
30
 
30
31
  def latest_version_details
@@ -154,25 +155,28 @@ module Dependabot
154
155
  end
155
156
 
156
157
  def dependency_metadata(repository_details)
157
- @dependency_metadata ||= {}
158
- @dependency_metadata[repository_details.hash] ||=
159
- begin
160
- response = Excon.get(
161
- dependency_metadata_url(repository_details.fetch("url")),
162
- idempotent: true,
163
- **Dependabot::SharedHelpers.excon_defaults(headers: repository_details.fetch("auth_headers"))
164
- )
165
- check_response(response, repository_details.fetch("url"))
158
+ repository_key = repository_details.hash
159
+ return @dependency_metadata[repository_key] if @dependency_metadata.key?(repository_key)
166
160
 
167
- Nokogiri::XML(response.body)
168
- rescue URI::InvalidURIError
169
- Nokogiri::XML("")
170
- rescue Excon::Error::Socket, Excon::Error::Timeout,
171
- Excon::Error::TooManyRedirects
172
- raise if central_repo_urls.include?(repository_details["url"])
161
+ @dependency_metadata[repository_key] = fetch_dependency_metadata(repository_details)
162
+ end
173
163
 
174
- Nokogiri::XML("")
175
- end
164
+ def fetch_dependency_metadata(repository_details)
165
+ response = Excon.get(
166
+ dependency_metadata_url(repository_details.fetch("url")),
167
+ idempotent: true,
168
+ **Dependabot::SharedHelpers.excon_defaults(headers: repository_details.fetch("auth_headers"))
169
+ )
170
+ check_response(response, repository_details.fetch("url"))
171
+
172
+ Nokogiri::XML(response.body)
173
+ rescue URI::InvalidURIError
174
+ Nokogiri::XML("")
175
+ rescue Excon::Error::Socket, Excon::Error::Timeout,
176
+ Excon::Error::TooManyRedirects
177
+ raise if central_repo_urls.include?(repository_details["url"])
178
+
179
+ Nokogiri::XML("")
176
180
  end
177
181
 
178
182
  def check_response(response, repository_url)
@@ -184,7 +188,7 @@ module Dependabot
184
188
  end
185
189
 
186
190
  def repositories
187
- return @repositories if @repositories
191
+ return @repositories if defined?(@repositories)
188
192
 
189
193
  details = pom_repository_details + credentials_repository_details
190
194
 
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.186.1
4
+ version: 0.187.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-05-10 00:00:00.000000000 Z
11
+ date: 2022-05-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.186.1
19
+ version: 0.187.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.186.1
26
+ version: 0.187.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debase
29
29
  requirement: !ruby/object:Gem::Requirement