dependabot-common 0.118.8 → 0.118.14

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: 3aa2fa4ee99aae2148aba335da32c724f150b7b444ce0da890b348951a92833c
4
- data.tar.gz: 0f51c1cf161b807edab14e3b0d025aa554122e103a206c39e6e1ecaf6f99b6d4
3
+ metadata.gz: 84fc6de52cc27e73d87e47a52eb9f0762d0d25b45c0e8cce770751df9cfbbc8c
4
+ data.tar.gz: 33d975df35aa3cd3813ee2ac0190b91359cec73a38826fb35e0bb8cf083b9d98
5
5
  SHA512:
6
- metadata.gz: e6da87803c67049bdca51fd5594a92eee652942c3fd51f868ca583856a78770b908285bc04008d6c23ff944b8565213727ff73e53c09a0931c98d28f93bdb021
7
- data.tar.gz: 9e155ad29f7c812a38e4fdb5925bf449e3bc4014d320344cab90466e2bd3e31936e02db7adb79838427d0116362d7e14f4b82e456783da92b4491372d877988f
6
+ metadata.gz: d230bcb964358475dfdfe08ba0be8166575c3c53579f6679e3049da2acd5e1c1dabac82fc828be64650f1a0740af6c72cefd8320a5b27e5be2b7a7e5ed754f40
7
+ data.tar.gz: a1dd576f083646595e238ef04924ccc2e0c208d8e15b356e4f7306655ea9bb59ba699929df0e2fb9038b83b2788d6c0a8dc7eb30de2caeea5c9394a5eff1f2dc
@@ -5,15 +5,23 @@ require "pathname"
5
5
  module Dependabot
6
6
  class DependencyFile
7
7
  attr_accessor :name, :content, :directory, :type, :support_file,
8
- :symlink_target
8
+ :symlink_target, :content_encoding, :deleted
9
+
10
+ class ContentEncoding
11
+ UTF_8 = "utf-8"
12
+ BASE64 = "base64"
13
+ end
9
14
 
10
15
  def initialize(name:, content:, directory: "/", type: "file",
11
- support_file: false, symlink_target: nil)
16
+ support_file: false, symlink_target: nil,
17
+ content_encoding: ContentEncoding::UTF_8, deleted: false)
12
18
  @name = name
13
19
  @content = content
14
20
  @directory = clean_directory(directory)
15
21
  @symlink_target = symlink_target
16
22
  @support_file = support_file
23
+ @content_encoding = content_encoding
24
+ @deleted = deleted
17
25
 
18
26
  # Type is used *very* sparingly. It lets the git_modules updater know that
19
27
  # a "file" is actually a submodule, and lets our Go updaters know which
@@ -34,7 +42,9 @@ module Dependabot
34
42
  "content" => content,
35
43
  "directory" => directory,
36
44
  "type" => type,
37
- "support_file" => support_file
45
+ "support_file" => support_file,
46
+ "content_encoding" => content_encoding,
47
+ "deleted" => deleted
38
48
  }
39
49
 
40
50
  details["symlink_target"] = symlink_target if symlink_target
@@ -65,6 +75,14 @@ module Dependabot
65
75
  @support_file
66
76
  end
67
77
 
78
+ def deleted?
79
+ @deleted
80
+ end
81
+
82
+ def binary?
83
+ content_encoding == ContentEncoding::BASE64
84
+ end
85
+
68
86
  private
69
87
 
70
88
  def clean_directory(directory)
@@ -170,12 +170,23 @@ module Dependabot
170
170
  sha: file.content
171
171
  }
172
172
  else
173
+ content = if file.binary?
174
+ sha = github_client_for_source.create_blob(
175
+ source.repo, file.content, "base64"
176
+ )
177
+ { sha: sha }
178
+ elsif file.deleted?
179
+ { sha: nil }
180
+ else
181
+ { content: file.content }
182
+ end
183
+
173
184
  {
174
- path: (file.symlink_target || file.path).sub(%r{^/}, ""),
185
+ path: (file.symlink_target ||
186
+ file.path).sub(%r{^/}, ""),
175
187
  mode: "100644",
176
- type: "blob",
177
- content: file.content
178
- }
188
+ type: "blob"
189
+ }.merge(content)
179
190
  end
180
191
  end
181
192
 
@@ -124,14 +124,7 @@ module Dependabot
124
124
 
125
125
  def create_tree
126
126
  file_trees = files.map do |file|
127
- if %w(file symlink).include?(file.type)
128
- {
129
- path: (file.symlink_target || file.path).sub(%r{^/}, ""),
130
- mode: "100644",
131
- type: "blob",
132
- content: file.content
133
- }
134
- elsif file.type == "submodule"
127
+ if file.type == "submodule"
135
128
  {
136
129
  path: file.path.sub(%r{^/}, ""),
137
130
  mode: "160000",
@@ -139,7 +132,23 @@ module Dependabot
139
132
  sha: file.content
140
133
  }
141
134
  else
142
- raise "Unknown file type #{file.type}"
135
+ content = if file.binary?
136
+ sha = github_client_for_source.create_blob(
137
+ source.repo, file.content, "base64"
138
+ )
139
+ { sha: sha }
140
+ elsif file.deleted?
141
+ { sha: nil }
142
+ else
143
+ { content: file.content }
144
+ end
145
+
146
+ {
147
+ path: (file.symlink_target ||
148
+ file.path).sub(%r{^/}, ""),
149
+ mode: "100644",
150
+ type: "blob"
151
+ }.merge(content)
143
152
  end
144
153
  end
145
154
 
@@ -129,7 +129,7 @@ module Dependabot
129
129
  {
130
130
  connect_timeout: 5,
131
131
  write_timeout: 5,
132
- read_timeout: 5,
132
+ read_timeout: 20,
133
133
  omit_default_port: true,
134
134
  middlewares: excon_middleware
135
135
  }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dependabot
4
- VERSION = "0.118.8"
4
+ VERSION = "0.118.14"
5
5
  end
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.118.8
4
+ version: 0.118.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-24 00:00:00.000000000 Z
11
+ date: 2020-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-codecommit
@@ -286,20 +286,6 @@ dependencies:
286
286
  - - "~>"
287
287
  - !ruby/object:Gem::Version
288
288
  version: '1.2'
289
- - !ruby/object:Gem::Dependency
290
- name: rspec_junit_formatter
291
- requirement: !ruby/object:Gem::Requirement
292
- requirements:
293
- - - "~>"
294
- - !ruby/object:Gem::Version
295
- version: '0.4'
296
- type: :development
297
- prerelease: false
298
- version_requirements: !ruby/object:Gem::Requirement
299
- requirements:
300
- - - "~>"
301
- - !ruby/object:Gem::Version
302
- version: '0.4'
303
289
  - !ruby/object:Gem::Dependency
304
290
  name: rubocop
305
291
  requirement: !ruby/object:Gem::Requirement
@@ -422,7 +408,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
422
408
  - !ruby/object:Gem::Version
423
409
  version: 2.7.3
424
410
  requirements: []
425
- rubygems_version: 3.0.3
411
+ rubygems_version: 3.1.2
426
412
  signing_key:
427
413
  specification_version: 4
428
414
  summary: Shared code used between Dependabot package managers