dependabot-cargo 0.82.1 → 0.82.2

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: 70383e6f0f039c05ffd136c6f4f09f89241b15cfb6428eee093faf75b642c3ec
4
- data.tar.gz: 929e65012f03c4c95e0c7b64d9a7786ae5bf93ad5c4509bca0c080d2120a92a2
3
+ metadata.gz: 5a28aa65af3425860af8ab7292ab32c26d4510eba3d7f3ee842ea5a21d4eeb1e
4
+ data.tar.gz: db336bb7961fdf086371efc40cb29d4a26159722dd8746c567cc08bc90214092
5
5
  SHA512:
6
- metadata.gz: ac492a9d951bbec40aefdf775229834e784b29099b48d3b290d3d32fbe21460103a221eb6358cda623893668fb6db2407cfabb2151febab008aac69154f6bb36
7
- data.tar.gz: 297afa0d8ab14c32eaf7df1ac38e14dc9951d3dc61315aaddb41bcd3f1b6a24380afc90e37218fb3aa2f6916c5e4a9dab7e11f3328073a027f9e26abf0729262
6
+ metadata.gz: b9e8ea8308a68cb6214dbe46ecca2ca3e885723329f41096dd5044a2cc302411430cd29a8d614396ab7ede9dc67956673072ae3a2596d69ee311cd86bd8bdf40
7
+ data.tar.gz: aedbad0d25ac02ddedfb105257369669005fc38f935049fa882441bb797877fc2350cccc962f5baeb02e852a014afd9c642e7d7fab0aeab98a6deb5ea7f8e7b3
@@ -27,41 +27,53 @@ module Dependabot
27
27
  fetched_files << cargo_toml
28
28
  fetched_files << cargo_lock if cargo_lock
29
29
  fetched_files << rust_toolchain if rust_toolchain
30
- fetched_files += workspace_files
31
- fetched_files += path_dependency_files
32
- fetched_files
30
+ fetched_files += fetch_path_dependency_and_workspace_files
31
+ fetched_files.uniq
33
32
  end
34
33
 
35
- def workspace_files
36
- @workspace_files ||=
34
+ def fetch_path_dependency_and_workspace_files(files = nil)
35
+ fetched_files = files || [cargo_toml]
36
+
37
+ fetched_files += path_dependency_files(fetched_files)
38
+ fetched_files += fetched_files.flat_map { |f| workspace_files(f) }
39
+ fetched_files.uniq!
40
+
41
+ return fetched_files if fetched_files == files
42
+
43
+ fetch_path_dependency_and_workspace_files(fetched_files)
44
+ end
45
+
46
+ def workspace_files(cargo_toml)
47
+ @workspace_files ||= {}
48
+ @workspace_files[cargo_toml.name] ||=
37
49
  fetch_workspace_files(
38
50
  file: cargo_toml,
39
51
  previously_fetched_files: []
40
52
  )
41
53
  end
42
54
 
43
- def path_dependency_files
44
- @path_dependency_files ||=
45
- begin
46
- fetched_path_dependency_files = []
47
- [cargo_toml, *workspace_files].each do |file|
48
- fetched_path_dependency_files +=
49
- fetch_path_dependency_files(
50
- file: file,
51
- previously_fetched_files: [cargo_toml, *workspace_files] +
52
- fetched_path_dependency_files
53
- )
54
- end
55
+ def path_dependency_files(fetched_files)
56
+ @path_dependency_files ||= {}
57
+ fetched_path_dependency_files = []
58
+ fetched_files.each do |file|
59
+ @path_dependency_files[file.name] ||=
60
+ fetch_path_dependency_files(
61
+ file: file,
62
+ previously_fetched_files: fetched_files +
63
+ fetched_path_dependency_files
64
+ )
55
65
 
56
- fetched_path_dependency_files
57
- end
66
+ fetched_path_dependency_files += @path_dependency_files[file.name]
67
+ end
68
+
69
+ fetched_path_dependency_files
58
70
  end
59
71
 
60
72
  def fetch_workspace_files(file:, previously_fetched_files:)
61
73
  current_dir = file.name.split("/")[0..-2].join("/")
62
74
  current_dir = nil if current_dir == ""
63
75
 
64
- workspace_dependency_paths_from_file(file).flat_map do |path|
76
+ files = workspace_dependency_paths_from_file(file).flat_map do |path|
65
77
  path = File.join(current_dir, path) unless current_dir.nil?
66
78
  path = Pathname.new(path).cleanpath.to_path
67
79
 
@@ -77,6 +89,9 @@ module Dependabot
77
89
  )
78
90
  [fetched_file, *grandchild_requirement_files]
79
91
  end.compact
92
+
93
+ files.each { |f| f.support_file = file != cargo_toml }
94
+ files
80
95
  end
81
96
 
82
97
  def fetch_path_dependency_files(
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-cargo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.82.1
4
+ version: 0.82.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.82.1
19
+ version: 0.82.2
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.82.1
26
+ version: 0.82.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement