dependabot-nuget 0.242.1 → 0.244.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/.editorconfig +37 -28
  3. data/helpers/lib/NuGetUpdater/.gitignore +1 -0
  4. data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.CommandLine/AssemblyMetadataExtractor.cs +2 -1
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Program.cs +2 -2
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +178 -176
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/JsonBuildFile.cs +2 -1
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/PackagesConfigBuildFile.cs +1 -0
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/ProjectBuildFile.cs +5 -4
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/CompatabilityChecker.cs +1 -0
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/FrameworkCompatibilityService.cs +10 -5
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/SupportedFrameworks.cs +16 -12
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectManager.cs +18 -17
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectResolver.cs +7 -7
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/DotNetToolsJsonUpdater.cs +13 -20
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/GlobalJsonUpdater.cs +9 -3
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackagesConfigUpdater.cs +32 -16
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/SdkPackageUpdater.cs +44 -24
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +32 -13
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/WebApplicationTargetsConditionPatcher.cs +47 -0
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/XmlFilePreAndPostProcessor.cs +55 -0
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/JsonHelper.cs +12 -9
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +78 -54
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs +16 -3
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ProcessExtensions.cs +6 -6
  26. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/XmlExtensions.cs +11 -0
  27. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/ProjectBuildFileTests.cs +18 -9
  28. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/FrameworkChecker/CompatibilityCheckerFacts.cs +2 -2
  29. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/FrameworkChecker/FrameworkCompatibilityServiceFacts.cs +7 -7
  30. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/FrameworkChecker/SupportedFrameworkFacts.cs +1 -1
  31. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs +9 -9
  32. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorker.DirsProj.cs +228 -75
  33. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs +22 -9
  34. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs +140 -104
  35. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs +25 -25
  36. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Mixed.cs +8 -9
  37. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +198 -22
  38. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Sdk.cs +401 -399
  39. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/JsonHelperTests.cs +17 -15
  40. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +114 -45
  41. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterTests.cs +103 -87
  42. data/lib/dependabot/nuget/file_parser/project_file_parser.rb +109 -39
  43. data/lib/dependabot/nuget/file_parser.rb +23 -4
  44. data/lib/dependabot/nuget/file_updater.rb +44 -7
  45. data/lib/dependabot/nuget/native_helpers.rb +27 -8
  46. data/lib/dependabot/nuget/nuget_client.rb +66 -23
  47. data/lib/dependabot/nuget/nuget_config_credential_helpers.rb +7 -3
  48. data/lib/dependabot/nuget/update_checker/compatibility_checker.rb +63 -59
  49. data/lib/dependabot/nuget/update_checker/dependency_finder.rb +7 -5
  50. data/lib/dependabot/nuget/update_checker/nupkg_fetcher.rb +1 -1
  51. data/lib/dependabot/nuget/update_checker/nuspec_fetcher.rb +22 -17
  52. data/lib/dependabot/nuget/update_checker/property_updater.rb +7 -4
  53. data/lib/dependabot/nuget/update_checker/repository_finder.rb +292 -270
  54. data/lib/dependabot/nuget/update_checker/tfm_comparer.rb +11 -13
  55. data/lib/dependabot/nuget/update_checker/tfm_finder.rb +82 -82
  56. data/lib/dependabot/nuget/update_checker/version_finder.rb +9 -5
  57. data/lib/dependabot/nuget/update_checker.rb +6 -3
  58. data/lib/dependabot/nuget/version.rb +18 -7
  59. data/lib/dependabot/nuget.rb +0 -2
  60. metadata +7 -5
@@ -23,7 +23,7 @@ public partial class UpdateWorkerTests
23
23
  <PropertyGroup>
24
24
  <TargetFramework>netstandard2.0</TargetFramework>
25
25
  </PropertyGroup>
26
-
26
+
27
27
  <ItemGroup>
28
28
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
29
29
  </ItemGroup>
@@ -41,29 +41,65 @@ public partial class UpdateWorkerTests
41
41
  <PropertyGroup>
42
42
  <TargetFramework>netstandard2.0</TargetFramework>
43
43
  </PropertyGroup>
44
-
44
+
45
45
  <ItemGroup>
46
46
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
47
47
  </ItemGroup>
48
48
  </Project>
49
49
  """,
50
- additionalFiles: new[]
51
- {
50
+ additionalFiles:
51
+ [
52
52
  (".config/dotnet-tools.json", """
53
- {
54
- "version": 1,
55
- "isRoot": true,
56
- "tools": {
57
- "dotnetsay": {
58
- "version": "2.1.3",
59
- "commands": [
60
- "dotnetsay"
61
- ]
53
+ {
54
+ "version": 1,
55
+ "isRoot": true,
56
+ "tools": {
57
+ "dotnetsay": {
58
+ "version": "2.1.3",
59
+ "commands": [
60
+ "dotnetsay"
61
+ ]
62
+ }
63
+ }
64
+ }
65
+ """)
66
+ ]);
67
+ }
68
+
69
+ [Fact]
70
+ public async Task NoChangeWhenDotNetToolsJsonInUnexpectedLocation()
71
+ {
72
+ await TestNoChangeforProject("Microsoft.BotSay", "1.0.0", "1.1.0",
73
+ // initial
74
+ projectFilePath: "src/project/project.csproj",
75
+ projectContents: """
76
+ <Project Sdk="Microsoft.NET.Sdk">
77
+ <PropertyGroup>
78
+ <TargetFramework>netstandard2.0</TargetFramework>
79
+ </PropertyGroup>
80
+
81
+ <ItemGroup>
82
+ <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
83
+ </ItemGroup>
84
+ </Project>
85
+ """,
86
+ additionalFiles:
87
+ [
88
+ ("eng/.config/dotnet-tools.json", """
89
+ {
90
+ "version": 1,
91
+ "isRoot": true,
92
+ "tools": {
93
+ "dotnetsay": {
94
+ "version": "2.1.3",
95
+ "commands": [
96
+ "dotnetsay"
97
+ ]
98
+ }
62
99
  }
63
100
  }
64
- }
65
- """)
66
- });
101
+ """)
102
+ ]);
67
103
  }
68
104
 
69
105
  [Fact]
@@ -76,70 +112,70 @@ public partial class UpdateWorkerTests
76
112
  <PropertyGroup>
77
113
  <TargetFramework>netstandard2.0</TargetFramework>
78
114
  </PropertyGroup>
79
-
115
+
80
116
  <ItemGroup>
81
117
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
82
118
  </ItemGroup>
83
119
  </Project>
84
120
  """,
85
- additionalFiles: new[]
86
- {
121
+ additionalFiles:
122
+ [
87
123
  (".config/dotnet-tools.json", """
88
- {
89
- "version": 1,
90
- "isRoot": true,
91
- "tools": {
92
- "microsoft.botsay": {
93
- "version": "1.0.0",
94
- "commands": [
95
- "botsay"
96
- ]
97
- },
98
- "dotnetsay": {
99
- "version": "2.1.3",
100
- "commands": [
101
- "dotnetsay"
102
- ]
124
+ {
125
+ "version": 1,
126
+ "isRoot": true,
127
+ "tools": {
128
+ "microsoft.botsay": {
129
+ "version": "1.0.0",
130
+ "commands": [
131
+ "botsay"
132
+ ]
133
+ },
134
+ "dotnetsay": {
135
+ "version": "2.1.3",
136
+ "commands": [
137
+ "dotnetsay"
138
+ ]
139
+ }
103
140
  }
104
141
  }
105
- }
106
- """)
107
- },
142
+ """)
143
+ ],
108
144
  // expected
109
145
  expectedProjectContents: """
110
146
  <Project Sdk="Microsoft.NET.Sdk">
111
147
  <PropertyGroup>
112
148
  <TargetFramework>netstandard2.0</TargetFramework>
113
149
  </PropertyGroup>
114
-
150
+
115
151
  <ItemGroup>
116
152
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
117
153
  </ItemGroup>
118
154
  </Project>
119
155
  """,
120
- additionalFilesExpected: new[]
121
- {
156
+ additionalFilesExpected:
157
+ [
122
158
  (".config/dotnet-tools.json", """
123
- {
124
- "version": 1,
125
- "isRoot": true,
126
- "tools": {
127
- "microsoft.botsay": {
128
- "version": "1.1.0",
129
- "commands": [
130
- "botsay"
131
- ]
132
- },
133
- "dotnetsay": {
134
- "version": "2.1.3",
135
- "commands": [
136
- "dotnetsay"
137
- ]
159
+ {
160
+ "version": 1,
161
+ "isRoot": true,
162
+ "tools": {
163
+ "microsoft.botsay": {
164
+ "version": "1.1.0",
165
+ "commands": [
166
+ "botsay"
167
+ ]
168
+ },
169
+ "dotnetsay": {
170
+ "version": "2.1.3",
171
+ "commands": [
172
+ "dotnetsay"
173
+ ]
174
+ }
138
175
  }
139
176
  }
140
- }
141
- """)
142
- });
177
+ """)
178
+ ]);
143
179
  }
144
180
 
145
181
  [Fact]
@@ -152,74 +188,74 @@ public partial class UpdateWorkerTests
152
188
  <PropertyGroup>
153
189
  <TargetFramework>netstandard2.0</TargetFramework>
154
190
  </PropertyGroup>
155
-
191
+
156
192
  <ItemGroup>
157
193
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
158
194
  </ItemGroup>
159
195
  </Project>
160
196
  """,
161
- additionalFiles: new[]
162
- {
197
+ additionalFiles:
198
+ [
163
199
  (".config/dotnet-tools.json", """
164
- {
165
- // this is a comment
166
- "version": 1,
167
- "isRoot": true,
168
- "tools": {
169
- "microsoft.botsay": {
170
- // this is a deep comment
171
- "version": "1.0.0",
172
- "commands": [
173
- "botsay"
174
- ]
175
- },
176
- "dotnetsay": {
177
- "version": "2.1.3",
178
- "commands": [
179
- "dotnetsay"
180
- ]
200
+ {
201
+ // this is a comment
202
+ "version": 1,
203
+ "isRoot": true,
204
+ "tools": {
205
+ "microsoft.botsay": {
206
+ // this is a deep comment
207
+ "version": "1.0.0",
208
+ "commands": [
209
+ "botsay"
210
+ ]
211
+ },
212
+ "dotnetsay": {
213
+ "version": "2.1.3",
214
+ "commands": [
215
+ "dotnetsay"
216
+ ]
217
+ }
181
218
  }
182
219
  }
183
- }
184
- """)
185
- },
220
+ """)
221
+ ],
186
222
  // expected
187
223
  expectedProjectContents: """
188
224
  <Project Sdk="Microsoft.NET.Sdk">
189
225
  <PropertyGroup>
190
226
  <TargetFramework>netstandard2.0</TargetFramework>
191
227
  </PropertyGroup>
192
-
228
+
193
229
  <ItemGroup>
194
230
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
195
231
  </ItemGroup>
196
232
  </Project>
197
233
  """,
198
- additionalFilesExpected: new[]
199
- {
234
+ additionalFilesExpected:
235
+ [
200
236
  (".config/dotnet-tools.json", """
201
- {
202
- // this is a comment
203
- "version": 1,
204
- "isRoot": true,
205
- "tools": {
206
- "microsoft.botsay": {
207
- // this is a deep comment
208
- "version": "1.1.0",
209
- "commands": [
210
- "botsay"
211
- ]
212
- },
213
- "dotnetsay": {
214
- "version": "2.1.3",
215
- "commands": [
216
- "dotnetsay"
217
- ]
237
+ {
238
+ // this is a comment
239
+ "version": 1,
240
+ "isRoot": true,
241
+ "tools": {
242
+ "microsoft.botsay": {
243
+ // this is a deep comment
244
+ "version": "1.1.0",
245
+ "commands": [
246
+ "botsay"
247
+ ]
248
+ },
249
+ "dotnetsay": {
250
+ "version": "2.1.3",
251
+ "commands": [
252
+ "dotnetsay"
253
+ ]
254
+ }
218
255
  }
219
256
  }
220
- }
221
- """)
222
- });
257
+ """)
258
+ ]);
223
259
  }
224
260
  }
225
261
  }
@@ -23,7 +23,7 @@ public partial class UpdateWorkerTests
23
23
  <PropertyGroup>
24
24
  <TargetFramework>netstandard2.0</TargetFramework>
25
25
  </PropertyGroup>
26
-
26
+
27
27
  <ItemGroup>
28
28
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
29
29
  </ItemGroup>
@@ -41,14 +41,14 @@ public partial class UpdateWorkerTests
41
41
  <PropertyGroup>
42
42
  <TargetFramework>netstandard2.0</TargetFramework>
43
43
  </PropertyGroup>
44
-
44
+
45
45
  <ItemGroup>
46
46
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
47
47
  </ItemGroup>
48
48
  </Project>
49
49
  """,
50
- additionalFiles: new[]
51
- {
50
+ additionalFiles:
51
+ [
52
52
  ("global.json", """
53
53
  {
54
54
  "sdk": {
@@ -57,7 +57,7 @@ public partial class UpdateWorkerTests
57
57
  }
58
58
  }
59
59
  """)
60
- });
60
+ ]);
61
61
  }
62
62
 
63
63
  [Fact]
@@ -71,14 +71,14 @@ public partial class UpdateWorkerTests
71
71
  <PropertyGroup>
72
72
  <TargetFramework>netstandard2.0</TargetFramework>
73
73
  </PropertyGroup>
74
-
74
+
75
75
  <ItemGroup>
76
76
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
77
77
  </ItemGroup>>
78
78
  </Project>
79
79
  """,
80
- additionalFiles: new[]
81
- {
80
+ additionalFiles:
81
+ [
82
82
  ("eng/global.json", """
83
83
  {
84
84
  "sdk": {
@@ -90,7 +90,7 @@ public partial class UpdateWorkerTests
90
90
  }
91
91
  }
92
92
  """)
93
- });
93
+ ]);
94
94
  }
95
95
 
96
96
  [Fact]
@@ -104,14 +104,14 @@ public partial class UpdateWorkerTests
104
104
  <PropertyGroup>
105
105
  <TargetFramework>netstandard2.0</TargetFramework>
106
106
  </PropertyGroup>
107
-
107
+
108
108
  <ItemGroup>
109
109
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
110
110
  </ItemGroup>
111
111
  </Project>
112
112
  """,
113
- additionalFiles: new[]
114
- {
113
+ additionalFiles:
114
+ [
115
115
  ("src/global.json", """
116
116
  {
117
117
  "sdk": {
@@ -123,21 +123,21 @@ public partial class UpdateWorkerTests
123
123
  }
124
124
  }
125
125
  """)
126
- },
126
+ ],
127
127
  // expected
128
128
  expectedProjectContents: """
129
129
  <Project Sdk="Microsoft.NET.Sdk">
130
130
  <PropertyGroup>
131
131
  <TargetFramework>netstandard2.0</TargetFramework>
132
132
  </PropertyGroup>
133
-
133
+
134
134
  <ItemGroup>
135
135
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
136
136
  </ItemGroup>
137
137
  </Project>
138
138
  """,
139
- additionalFilesExpected: new[]
140
- {
139
+ additionalFilesExpected:
140
+ [
141
141
  ("src/global.json", """
142
142
  {
143
143
  "sdk": {
@@ -149,7 +149,7 @@ public partial class UpdateWorkerTests
149
149
  }
150
150
  }
151
151
  """)
152
- });
152
+ ]);
153
153
  }
154
154
 
155
155
  [Fact]
@@ -162,14 +162,14 @@ public partial class UpdateWorkerTests
162
162
  <PropertyGroup>
163
163
  <TargetFramework>netstandard2.0</TargetFramework>
164
164
  </PropertyGroup>
165
-
165
+
166
166
  <ItemGroup>
167
167
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
168
168
  </ItemGroup>
169
169
  </Project>
170
170
  """,
171
- additionalFiles: new[]
172
- {
171
+ additionalFiles:
172
+ [
173
173
  ("global.json", """
174
174
  {
175
175
  // this is a comment
@@ -183,21 +183,21 @@ public partial class UpdateWorkerTests
183
183
  }
184
184
  }
185
185
  """)
186
- },
186
+ ],
187
187
  // expected
188
188
  expectedProjectContents: """
189
189
  <Project Sdk="Microsoft.NET.Sdk">
190
190
  <PropertyGroup>
191
191
  <TargetFramework>netstandard2.0</TargetFramework>
192
192
  </PropertyGroup>
193
-
193
+
194
194
  <ItemGroup>
195
195
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
196
196
  </ItemGroup>
197
197
  </Project>
198
198
  """,
199
- additionalFilesExpected: new[]
200
- {
199
+ additionalFilesExpected:
200
+ [
201
201
  ("global.json", """
202
202
  {
203
203
  // this is a comment
@@ -211,7 +211,7 @@ public partial class UpdateWorkerTests
211
211
  }
212
212
  }
213
213
  """)
214
- });
214
+ ]);
215
215
  }
216
216
  }
217
217
  }
@@ -1,4 +1,3 @@
1
- using System.Collections.Generic;
2
1
  using System.Threading.Tasks;
3
2
 
4
3
  using Xunit;
@@ -38,8 +37,8 @@ public partial class UpdateWorkerTests
38
37
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
39
38
  </Project>
40
39
  """,
41
- additionalFiles: new[]
42
- {
40
+ additionalFiles:
41
+ [
43
42
  ("packages.config", """
44
43
  <?xml version="1.0" encoding="utf-8"?>
45
44
  <packages>
@@ -52,8 +51,8 @@ public partial class UpdateWorkerTests
52
51
  <PackageReference Include="Newtonsoft.Json" Version="7.0.1" />
53
52
  </ItemGroup>
54
53
  </Project>
55
- """),
56
- },
54
+ """)
55
+ ],
57
56
  // expected
58
57
  expectedProjectContents: """
59
58
  <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
@@ -73,8 +72,8 @@ public partial class UpdateWorkerTests
73
72
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
74
73
  </Project>
75
74
  """,
76
- additionalFilesExpected: new[]
77
- {
75
+ additionalFilesExpected:
76
+ [
78
77
  ("packages.config", """
79
78
  <?xml version="1.0" encoding="utf-8"?>
80
79
  <packages>
@@ -87,8 +86,8 @@ public partial class UpdateWorkerTests
87
86
  <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
88
87
  </ItemGroup>
89
88
  </Project>
90
- """),
91
- });
89
+ """)
90
+ ]);
92
91
  }
93
92
  }
94
93
  }