dependabot-common 0.107.38 → 0.107.39
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dependabot/clients/bitbucket.rb +1 -14
- data/lib/dependabot/clients/bitbucket_with_retries.rb +64 -0
- data/lib/dependabot/file_fetchers/base.rb +2 -2
- data/lib/dependabot/git_commit_checker.rb +2 -2
- data/lib/dependabot/metadata_finders/base/changelog_finder.rb +2 -2
- data/lib/dependabot/metadata_finders/base/commits_finder.rb +2 -2
- data/lib/dependabot/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56e7de376cfb9c603012064cfe624aae34c07b88f5b2325d0215d415cc4733a7
|
4
|
+
data.tar.gz: a515e1a0e6a524937300d5eb6cddeed921062d94af2713703e0759a2b2d641be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cceb9069a19f86d58fbd3f62325c6ec6260169f122f7049b9646f61ddfdeb37cdbac32304000a8dee278952e1feae13b6f85d549b3f9a41f34ccaf4f8f636334
|
7
|
+
data.tar.gz: 8410db69a173af78bd381e59b0034e1979b87bbe84cdc43a3130a895b8d5ab3c59b81f217c5904037db24b6e8e42020fed5541fc4c55070f3ce678c73b536bc3
|
@@ -10,24 +10,11 @@ module Dependabot
|
|
10
10
|
class Unauthorized < StandardError; end
|
11
11
|
class Forbidden < StandardError; end
|
12
12
|
|
13
|
-
#######################
|
14
|
-
# Constructor methods #
|
15
|
-
#######################
|
16
|
-
|
17
|
-
def self.for_bitbucket_dot_org(credentials:)
|
18
|
-
credential =
|
19
|
-
credentials.
|
20
|
-
select { |cred| cred["type"] == "git_source" }.
|
21
|
-
find { |cred| cred["host"] == "bitbucket.org" }
|
22
|
-
|
23
|
-
new(credential)
|
24
|
-
end
|
25
|
-
|
26
13
|
##########
|
27
14
|
# Client #
|
28
15
|
##########
|
29
16
|
|
30
|
-
def initialize(credentials)
|
17
|
+
def initialize(credentials:)
|
31
18
|
@credentials = credentials
|
32
19
|
end
|
33
20
|
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "bitbucket"
|
4
|
+
|
5
|
+
module Dependabot
|
6
|
+
module Clients
|
7
|
+
class BitbucketWithRetries
|
8
|
+
RETRYABLE_ERRORS = [
|
9
|
+
Excon::Error::Timeout,
|
10
|
+
Excon::Error::Socket
|
11
|
+
].freeze
|
12
|
+
|
13
|
+
#######################
|
14
|
+
# Constructor methods #
|
15
|
+
#######################
|
16
|
+
|
17
|
+
def self.for_bitbucket_dot_org(credentials:)
|
18
|
+
credential =
|
19
|
+
credentials.
|
20
|
+
select { |cred| cred["type"] == "git_source" }.
|
21
|
+
find { |cred| cred["host"] == "bitbucket.org" }
|
22
|
+
|
23
|
+
new(credentials: credential)
|
24
|
+
end
|
25
|
+
|
26
|
+
############
|
27
|
+
# Proxying #
|
28
|
+
############
|
29
|
+
|
30
|
+
def initialize(max_retries: 3, **args)
|
31
|
+
@max_retries = max_retries || 3
|
32
|
+
@client = Bitbucket.new(args)
|
33
|
+
end
|
34
|
+
|
35
|
+
def method_missing(method_name, *args, &block)
|
36
|
+
retry_connection_failures do
|
37
|
+
if @client.respond_to?(method_name)
|
38
|
+
mutatable_args = args.map(&:dup)
|
39
|
+
@client.public_send(method_name, *mutatable_args, &block)
|
40
|
+
else
|
41
|
+
super
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def respond_to_missing?(method_name, include_private = false)
|
47
|
+
@client.respond_to?(method_name) || super
|
48
|
+
end
|
49
|
+
|
50
|
+
# rubocop:disable Naming/RescuedExceptionsVariableName
|
51
|
+
def retry_connection_failures
|
52
|
+
retry_attempt = 0
|
53
|
+
|
54
|
+
begin
|
55
|
+
yield
|
56
|
+
rescue *RETRYABLE_ERRORS
|
57
|
+
retry_attempt += 1
|
58
|
+
retry_attempt <= @max_retries ? retry : raise
|
59
|
+
end
|
60
|
+
end
|
61
|
+
# rubocop:enable Naming/RescuedExceptionsVariableName
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -4,7 +4,7 @@ require "dependabot/dependency_file"
|
|
4
4
|
require "dependabot/source"
|
5
5
|
require "dependabot/errors"
|
6
6
|
require "dependabot/clients/github_with_retries"
|
7
|
-
require "dependabot/clients/
|
7
|
+
require "dependabot/clients/bitbucket_with_retries"
|
8
8
|
require "dependabot/clients/gitlab_with_retries"
|
9
9
|
require "dependabot/shared_helpers"
|
10
10
|
|
@@ -399,7 +399,7 @@ module Dependabot
|
|
399
399
|
# TODO: When self-hosted Bitbucket is supported this should use
|
400
400
|
# `Bitbucket.for_source`
|
401
401
|
@bitbucket_client ||=
|
402
|
-
Dependabot::Clients::
|
402
|
+
Dependabot::Clients::BitbucketWithRetries.
|
403
403
|
for_bitbucket_dot_org(credentials: credentials)
|
404
404
|
end
|
405
405
|
end
|
@@ -4,7 +4,7 @@ require "excon"
|
|
4
4
|
require "gitlab"
|
5
5
|
require "dependabot/clients/github_with_retries"
|
6
6
|
require "dependabot/clients/gitlab_with_retries"
|
7
|
-
require "dependabot/clients/
|
7
|
+
require "dependabot/clients/bitbucket_with_retries"
|
8
8
|
require "dependabot/metadata_finders"
|
9
9
|
require "dependabot/errors"
|
10
10
|
require "dependabot/utils"
|
@@ -198,7 +198,7 @@ module Dependabot
|
|
198
198
|
"#{listing_source_repo}/commits/?"\
|
199
199
|
"include=#{ref2}&exclude=#{ref1}"
|
200
200
|
|
201
|
-
client = Clients::
|
201
|
+
client = Clients::BitbucketWithRetries.
|
202
202
|
for_bitbucket_dot_org(credentials: credentials)
|
203
203
|
|
204
204
|
response = client.get(url)
|
@@ -5,7 +5,7 @@ require "pandoc-ruby"
|
|
5
5
|
|
6
6
|
require "dependabot/clients/github_with_retries"
|
7
7
|
require "dependabot/clients/gitlab_with_retries"
|
8
|
-
require "dependabot/clients/
|
8
|
+
require "dependabot/clients/bitbucket_with_retries"
|
9
9
|
require "dependabot/shared_helpers"
|
10
10
|
require "dependabot/metadata_finders/base"
|
11
11
|
|
@@ -358,7 +358,7 @@ module Dependabot
|
|
358
358
|
end
|
359
359
|
|
360
360
|
def bitbucket_client
|
361
|
-
@bitbucket_client ||= Dependabot::Clients::
|
361
|
+
@bitbucket_client ||= Dependabot::Clients::BitbucketWithRetries.
|
362
362
|
for_bitbucket_dot_org(credentials: credentials)
|
363
363
|
end
|
364
364
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require "dependabot/clients/github_with_retries"
|
4
4
|
require "dependabot/clients/gitlab_with_retries"
|
5
|
-
require "dependabot/clients/
|
5
|
+
require "dependabot/clients/bitbucket_with_retries"
|
6
6
|
require "dependabot/shared_helpers"
|
7
7
|
require "dependabot/git_metadata_fetcher"
|
8
8
|
require "dependabot/git_commit_checker"
|
@@ -298,7 +298,7 @@ module Dependabot
|
|
298
298
|
end
|
299
299
|
|
300
300
|
def bitbucket_client
|
301
|
-
@bitbucket_client ||= Dependabot::Clients::
|
301
|
+
@bitbucket_client ||= Dependabot::Clients::BitbucketWithRetries.
|
302
302
|
for_bitbucket_dot_org(credentials: credentials)
|
303
303
|
end
|
304
304
|
|
data/lib/dependabot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.107.
|
4
|
+
version: 0.107.39
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dependabot
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-ecr
|
@@ -312,6 +312,7 @@ files:
|
|
312
312
|
- bin/git-credential-store-immutable
|
313
313
|
- lib/dependabot.rb
|
314
314
|
- lib/dependabot/clients/bitbucket.rb
|
315
|
+
- lib/dependabot/clients/bitbucket_with_retries.rb
|
315
316
|
- lib/dependabot/clients/github_with_retries.rb
|
316
317
|
- lib/dependabot/clients/gitlab_with_retries.rb
|
317
318
|
- lib/dependabot/dependency.rb
|