dependabot-nuget 0.240.0 → 0.242.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/helpers/build +45 -0
- data/helpers/lib/NuGetUpdater/.editorconfig +364 -0
- data/helpers/lib/NuGetUpdater/.gitignore +5 -0
- data/helpers/lib/NuGetUpdater/Directory.Build.props +10 -0
- data/helpers/lib/NuGetUpdater/Directory.Common.props +16 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/Directory.Build.props +14 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/Directory.Build.targets +7 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/Directory.Packages.props +29 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Build.Tasks/NuGet.Build.Tasks.csproj +27 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.CommandLine/AssemblyMetadataExtractor.cs +203 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.CommandLine/NuGet.CommandLine.csproj +33 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Commands/NuGet.Commands.csproj +26 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Common/NuGet.Common.csproj +21 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Config +6 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Configuration/NuGet.Configuration.csproj +24 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Credentials/NuGet.Credentials.csproj +20 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.DependencyResolver.Core/NuGet.DependencyResolver.Core.csproj +22 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Frameworks/NuGet.Frameworks.csproj +17 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.LibraryModel/NuGet.LibraryModel.csproj +17 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.PackageManagement/NuGet.PackageManagement.csproj +27 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Packaging/NuGet.Packaging.csproj +28 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.ProjectModel/NuGet.ProjectModel.csproj +20 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Protocol/NuGet.Protocol.csproj +21 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Resolver/NuGet.Resolver.csproj +20 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Versioning/NuGet.Versioning.csproj +17 -0
- data/helpers/lib/NuGetUpdater/NuGetProjects/README.md +1 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/FrameworkCheckCommand.cs +35 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/UpdateCommand.cs +43 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/NuGetUpdater.Cli.csproj +20 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Program.cs +31 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.FrameworkCheck.cs +42 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +323 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/NuGetUpdater.Cli.Test.csproj +24 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Dependency.cs +3 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencyType.cs +12 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/BuildFile.cs +97 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/DotNetToolsJsonBuildFile.cs +23 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/GlobalJsonBuildFile.cs +36 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/JsonBuildFile.cs +47 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/PackagesConfigBuildFile.cs +31 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/ProjectBuildFile.cs +94 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/XmlBuildFile.cs +14 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/CompatabilityChecker.cs +39 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/FrameworkCompatibilityService.cs +73 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/SupportedFrameworks.cs +146 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/NuGetUpdater.Core.csproj +27 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectManager.cs +316 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectResolver.cs +87 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/ConfigurationFile.cs +3 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/DotNetToolsJsonUpdater.cs +66 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/GlobalJsonUpdater.cs +48 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackagesConfigUpdater.cs +172 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/SdkPackageUpdater.cs +498 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdateResult.cs +7 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +105 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/JsonHelper.cs +222 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/Logger.cs +24 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +460 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/NuGetHelper.cs +15 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs +69 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ProcessExtensions.cs +83 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/XmlExtensions.cs +124 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/DotNetToolsJsonBuildFileTests.cs +53 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/GlobalJsonBuildFileTests.cs +80 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/PackagesConfigBuildFileTests.cs +63 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/ProjectBuildFileTests.cs +154 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/FrameworkChecker/CompatibilityCheckerFacts.cs +64 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/FrameworkChecker/FrameworkCompatibilityServiceFacts.cs +122 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/FrameworkChecker/SupportedFrameworkFacts.cs +68 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/NuGetUpdater.Core.Test.csproj +23 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TemporaryDirectory.cs +36 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestExtensions.cs +15 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs +79 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorker.DirsProj.cs +201 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs +147 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs +225 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs +217 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Mixed.cs +94 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +938 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Sdk.cs +2177 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/JsonHelperTests.cs +239 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +598 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs +179 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterTests.cs +238 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.sln +152 -0
- data/helpers/lib/NuGetUpdater/xunit.runner.json +4 -0
- data/lib/dependabot/nuget/metadata_finder.rb +4 -4
- metadata +91 -5
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs
ADDED
@@ -0,0 +1,179 @@
|
|
1
|
+
using System.IO;
|
2
|
+
using System.Linq;
|
3
|
+
using System.Threading.Tasks;
|
4
|
+
|
5
|
+
using Xunit;
|
6
|
+
|
7
|
+
namespace NuGetUpdater.Core.Test.Utilities
|
8
|
+
{
|
9
|
+
public class SdkPackageUpdaterHelperTests
|
10
|
+
{
|
11
|
+
[Fact]
|
12
|
+
public async Task DirectoryBuildFilesAreOnlyPulledInFromParentDirectories()
|
13
|
+
{
|
14
|
+
using var temporaryDirectory = TemporaryDirectory.CreateWithContents(
|
15
|
+
("src/SomeProject.csproj", """
|
16
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
17
|
+
<Import Project="..\props\Versions.props" />
|
18
|
+
</Project>
|
19
|
+
"""),
|
20
|
+
("src/Directory.Build.targets", """
|
21
|
+
<Project>
|
22
|
+
</Project>
|
23
|
+
"""),
|
24
|
+
("props/Versions.props", """
|
25
|
+
<Project>
|
26
|
+
</Project>
|
27
|
+
"""),
|
28
|
+
("Directory.Build.props", """
|
29
|
+
<Project>
|
30
|
+
</Project>
|
31
|
+
"""),
|
32
|
+
("test/Directory.Build.props", """
|
33
|
+
<Project>
|
34
|
+
<!-- this file should not be loaded -->
|
35
|
+
</Project>
|
36
|
+
""")
|
37
|
+
);
|
38
|
+
var actualBuildFilePaths = await LoadBuildFilesFromTemp(temporaryDirectory, "src/SomeProject.csproj");
|
39
|
+
var expectedBuildFilePaths = new[]
|
40
|
+
{
|
41
|
+
"src/SomeProject.csproj",
|
42
|
+
"Directory.Build.props",
|
43
|
+
"props/Versions.props",
|
44
|
+
"src/Directory.Build.targets",
|
45
|
+
};
|
46
|
+
Assert.Equal(expectedBuildFilePaths, actualBuildFilePaths);
|
47
|
+
}
|
48
|
+
|
49
|
+
[Theory]
|
50
|
+
[InlineData("", "")] // everything at root
|
51
|
+
[InlineData("src/", "src/")] // everything in subdirectory
|
52
|
+
[InlineData("src/", "")] // project in subdirectory, global.json at root
|
53
|
+
public async Task BuildFileEnumerationWorksEvenWithNonSupportedSdkInGlobalJson(string projectSubpath, string globalJsonSubpath)
|
54
|
+
{
|
55
|
+
using var temporaryDirectory = TemporaryDirectory.CreateWithContents(
|
56
|
+
($"{projectSubpath}SomeProject.csproj", """
|
57
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
58
|
+
</Project>
|
59
|
+
"""),
|
60
|
+
($"{projectSubpath}Directory.Build.props", """
|
61
|
+
<Project>
|
62
|
+
</Project>
|
63
|
+
"""),
|
64
|
+
($"{globalJsonSubpath}global.json", """
|
65
|
+
{
|
66
|
+
"sdk": {
|
67
|
+
"version": "99.99.99"
|
68
|
+
}
|
69
|
+
}
|
70
|
+
""")
|
71
|
+
);
|
72
|
+
var actualBuildFilePaths = await LoadBuildFilesFromTemp(temporaryDirectory, $"{projectSubpath}/SomeProject.csproj");
|
73
|
+
var expectedBuildFilePaths = new[]
|
74
|
+
{
|
75
|
+
$"{projectSubpath}SomeProject.csproj",
|
76
|
+
$"{projectSubpath}Directory.Build.props",
|
77
|
+
};
|
78
|
+
Assert.Equal(expectedBuildFilePaths, actualBuildFilePaths);
|
79
|
+
Assert.True(File.Exists($"{temporaryDirectory.DirectoryPath}/{globalJsonSubpath}global.json"), "global.json was not restored");
|
80
|
+
}
|
81
|
+
|
82
|
+
[Fact]
|
83
|
+
public async Task BuildFileEnumerationWithNonStandardMSBuildSdkAndNonSupportedSdkVersionInGlobalJson()
|
84
|
+
{
|
85
|
+
using var temporaryDirectory = TemporaryDirectory.CreateWithContents(
|
86
|
+
("global.json", """
|
87
|
+
{
|
88
|
+
"sdk": {
|
89
|
+
"version": "99.99.99"
|
90
|
+
},
|
91
|
+
"msbuild-sdks": {
|
92
|
+
"Microsoft.Build.NoTargets": "3.7.0"
|
93
|
+
}
|
94
|
+
}
|
95
|
+
"""),
|
96
|
+
("SomeProject.csproj", """
|
97
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
98
|
+
<Import Project="NoTargets.props" />
|
99
|
+
</Project>
|
100
|
+
"""),
|
101
|
+
("NoTargets.props", """
|
102
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
103
|
+
<Import Project="Versions.props" />
|
104
|
+
</Project>
|
105
|
+
"""),
|
106
|
+
("Versions.props", """
|
107
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
108
|
+
</Project>
|
109
|
+
""")
|
110
|
+
);
|
111
|
+
var actualBuildFilePaths = await LoadBuildFilesFromTemp(temporaryDirectory, "SomeProject.csproj");
|
112
|
+
var expectedBuildFilePaths = new[]
|
113
|
+
{
|
114
|
+
"SomeProject.csproj",
|
115
|
+
"NoTargets.props",
|
116
|
+
"Versions.props",
|
117
|
+
};
|
118
|
+
Assert.Equal(expectedBuildFilePaths, actualBuildFilePaths);
|
119
|
+
var globalJsonContent = await File.ReadAllTextAsync($"{temporaryDirectory.DirectoryPath}/global.json");
|
120
|
+
Assert.Contains("99.99.99", globalJsonContent); // ensure global.json was restored
|
121
|
+
}
|
122
|
+
|
123
|
+
[Fact]
|
124
|
+
public async Task BuildFileEnumerationWithUnsuccessfulImport()
|
125
|
+
{
|
126
|
+
using var temporaryDirectory = TemporaryDirectory.CreateWithContents(
|
127
|
+
("Directory.Build.props", """
|
128
|
+
<Project>
|
129
|
+
<Import Project="file-that-does-not-exist.targets" />
|
130
|
+
</Project>
|
131
|
+
"""),
|
132
|
+
("NonBuildingProject.csproj", """
|
133
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
134
|
+
</Project>
|
135
|
+
""")
|
136
|
+
);
|
137
|
+
var actualBuildFilePaths = await LoadBuildFilesFromTemp(temporaryDirectory, "NonBuildingProject.csproj");
|
138
|
+
var expectedBuildFilePaths = new[]
|
139
|
+
{
|
140
|
+
"NonBuildingProject.csproj",
|
141
|
+
"Directory.Build.props",
|
142
|
+
};
|
143
|
+
Assert.Equal(expectedBuildFilePaths, actualBuildFilePaths);
|
144
|
+
}
|
145
|
+
|
146
|
+
[Fact]
|
147
|
+
public async Task BuildFileEnumerationWithGlobalJsonWithComments()
|
148
|
+
{
|
149
|
+
using var temporaryDirectory = TemporaryDirectory.CreateWithContents(
|
150
|
+
("global.json", """
|
151
|
+
{
|
152
|
+
// this is a comment
|
153
|
+
"msbuild-sdks": {
|
154
|
+
// this is a deep comment
|
155
|
+
"Microsoft.Build.NoTargets": "3.7.0"
|
156
|
+
}
|
157
|
+
}
|
158
|
+
"""),
|
159
|
+
("NonBuildingProject.csproj", """
|
160
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
161
|
+
</Project>
|
162
|
+
""")
|
163
|
+
);
|
164
|
+
var actualBuildFilePaths = await LoadBuildFilesFromTemp(temporaryDirectory, "NonBuildingProject.csproj");
|
165
|
+
var expectedBuildFilePaths = new[]
|
166
|
+
{
|
167
|
+
"NonBuildingProject.csproj",
|
168
|
+
};
|
169
|
+
Assert.Equal(expectedBuildFilePaths, actualBuildFilePaths);
|
170
|
+
}
|
171
|
+
|
172
|
+
private static async Task<string[]> LoadBuildFilesFromTemp(TemporaryDirectory temporaryDirectory, string relativeProjectPath)
|
173
|
+
{
|
174
|
+
var buildFiles = await MSBuildHelper.LoadBuildFiles(temporaryDirectory.DirectoryPath, $"{temporaryDirectory.DirectoryPath}/{relativeProjectPath}");
|
175
|
+
var buildFilePaths = buildFiles.Select(f => f.RepoRelativePath.NormalizePathToUnix()).ToArray();
|
176
|
+
return buildFilePaths;
|
177
|
+
}
|
178
|
+
}
|
179
|
+
}
|
@@ -0,0 +1,238 @@
|
|
1
|
+
using System.Collections.Generic;
|
2
|
+
using System.IO;
|
3
|
+
using System.Linq;
|
4
|
+
using System.Threading.Tasks;
|
5
|
+
|
6
|
+
using Xunit;
|
7
|
+
|
8
|
+
namespace NuGetUpdater.Core.Test.Utilities;
|
9
|
+
|
10
|
+
public class SdkPackageUpdaterTests
|
11
|
+
{
|
12
|
+
[Theory]
|
13
|
+
[MemberData(nameof(GetDependencyUpdates))]
|
14
|
+
public async Task UpdateDependency_UpdatesDependencies((string Path, string Contents)[] startingContents, (string Path, string Contents)[] expectedContents,
|
15
|
+
string dependencyName, string previousVersion, string newDependencyVersion, bool isTransitive)
|
16
|
+
{
|
17
|
+
// Arrange
|
18
|
+
using var directory = TemporaryDirectory.CreateWithContents(startingContents);
|
19
|
+
var projectPath = Path.Combine(directory.DirectoryPath, startingContents.First().Path);
|
20
|
+
var logger = new Logger(verbose: false);
|
21
|
+
|
22
|
+
// Act
|
23
|
+
await SdkPackageUpdater.UpdateDependencyAsync(directory.DirectoryPath, projectPath, dependencyName, previousVersion, newDependencyVersion, isTransitive, logger);
|
24
|
+
|
25
|
+
// Assert
|
26
|
+
AssertContentsEqual(expectedContents, directory);
|
27
|
+
}
|
28
|
+
|
29
|
+
public static IEnumerable<object[]> GetDependencyUpdates()
|
30
|
+
{
|
31
|
+
// Simple case
|
32
|
+
yield return new object[]
|
33
|
+
{
|
34
|
+
new []
|
35
|
+
{
|
36
|
+
(Path: "src/Project.csproj", Content: """
|
37
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
38
|
+
<PropertyGroup>
|
39
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
40
|
+
</PropertyGroup>
|
41
|
+
<ItemGroup>
|
42
|
+
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
|
43
|
+
</ItemGroup>
|
44
|
+
</Project>
|
45
|
+
""")
|
46
|
+
}, // starting contents
|
47
|
+
new []
|
48
|
+
{
|
49
|
+
(Path: "src/Project.csproj", Content: """
|
50
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
51
|
+
<PropertyGroup>
|
52
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
53
|
+
</PropertyGroup>
|
54
|
+
<ItemGroup>
|
55
|
+
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
56
|
+
</ItemGroup>
|
57
|
+
</Project>
|
58
|
+
""")
|
59
|
+
}, // expected contents
|
60
|
+
"Newtonsoft.Json", "12.0.1", "13.0.1", false // isTransitive
|
61
|
+
};
|
62
|
+
|
63
|
+
// Dependency package has version constraint
|
64
|
+
yield return new object[]
|
65
|
+
{
|
66
|
+
new[]
|
67
|
+
{
|
68
|
+
(Path: "src/Project/Project.csproj", Content: """
|
69
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
70
|
+
<PropertyGroup>
|
71
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
72
|
+
</PropertyGroup>
|
73
|
+
<ItemGroup>
|
74
|
+
<PackageReference Include="AWSSDK.S3" Version="3.3.17.3" />
|
75
|
+
<PackageReference Include="AWSSDK.Core" Version="3.3.21.19" />
|
76
|
+
</ItemGroup>
|
77
|
+
</Project>
|
78
|
+
"""),
|
79
|
+
}, // starting contents
|
80
|
+
new[]
|
81
|
+
{
|
82
|
+
// If a dependency has a version constraint outside of our new-version, we don't update anything
|
83
|
+
(Path: "src/Project/Project.csproj", Content: """
|
84
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
85
|
+
<PropertyGroup>
|
86
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
87
|
+
</PropertyGroup>
|
88
|
+
<ItemGroup>
|
89
|
+
<PackageReference Include="AWSSDK.S3" Version="3.3.17.3" />
|
90
|
+
<PackageReference Include="AWSSDK.Core" Version="3.3.21.19" />
|
91
|
+
</ItemGroup>
|
92
|
+
</Project>
|
93
|
+
"""),
|
94
|
+
},// expected contents
|
95
|
+
"AWSSDK.Core", "3.3.21.19", "3.7.300.20", false // isTransitive
|
96
|
+
};
|
97
|
+
|
98
|
+
// Dependency project has version constraint
|
99
|
+
yield return new object[]
|
100
|
+
{
|
101
|
+
new[]
|
102
|
+
{
|
103
|
+
(Path: "src/Project2/Project2.csproj", Content: """
|
104
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
105
|
+
<PropertyGroup>
|
106
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
107
|
+
</PropertyGroup>
|
108
|
+
<ItemGroup>
|
109
|
+
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
|
110
|
+
<ProjectReference Include="../Project/Project.csproj" />
|
111
|
+
</ItemGroup>
|
112
|
+
</Project>
|
113
|
+
"""),
|
114
|
+
(Path: "src/Project/Project.csproj", Content: """
|
115
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
116
|
+
<PropertyGroup>
|
117
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
118
|
+
</PropertyGroup>
|
119
|
+
<ItemGroup>
|
120
|
+
<PackageReference Include="Newtonsoft.Json" Version="[12.0.1, 13.0.0)" />
|
121
|
+
</ItemGroup>
|
122
|
+
</Project>
|
123
|
+
"""),
|
124
|
+
}, // starting contents
|
125
|
+
new[]
|
126
|
+
{
|
127
|
+
(Path: "src/Project2/Project2.csproj", Content: """
|
128
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
129
|
+
<PropertyGroup>
|
130
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
131
|
+
</PropertyGroup>
|
132
|
+
<ItemGroup>
|
133
|
+
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
134
|
+
<ProjectReference Include="../Project/Project.csproj" />
|
135
|
+
</ItemGroup>
|
136
|
+
</Project>
|
137
|
+
"""), // starting contents
|
138
|
+
(Path: "src/Project/Project.csproj", Content: """
|
139
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
140
|
+
<PropertyGroup>
|
141
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
142
|
+
</PropertyGroup>
|
143
|
+
<ItemGroup>
|
144
|
+
<PackageReference Include="Newtonsoft.Json" Version="[12.0.1, 13.0.0)" />
|
145
|
+
</ItemGroup>
|
146
|
+
</Project>
|
147
|
+
"""),
|
148
|
+
},// expected contents
|
149
|
+
"Newtonsoft.Json", "12.0.1", "13.0.1", false // isTransitive
|
150
|
+
};
|
151
|
+
|
152
|
+
// Multiple references
|
153
|
+
yield return new object[]
|
154
|
+
{
|
155
|
+
new []
|
156
|
+
{
|
157
|
+
(Path: "src/Project.csproj", Content: """
|
158
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
159
|
+
<PropertyGroup>
|
160
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
161
|
+
</PropertyGroup>
|
162
|
+
<ItemGroup>
|
163
|
+
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
|
164
|
+
<PackageReference Include="Newtonsoft.Json">
|
165
|
+
<Version>12.0.1</Version>
|
166
|
+
</PackageReference>
|
167
|
+
</ItemGroup>
|
168
|
+
</Project>
|
169
|
+
""")
|
170
|
+
}, // starting contents
|
171
|
+
new []
|
172
|
+
{
|
173
|
+
(Path: "src/Project.csproj", Content: """
|
174
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
175
|
+
<PropertyGroup>
|
176
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
177
|
+
</PropertyGroup>
|
178
|
+
<ItemGroup>
|
179
|
+
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
180
|
+
<PackageReference Include="Newtonsoft.Json">
|
181
|
+
<Version>13.0.1</Version>
|
182
|
+
</PackageReference>
|
183
|
+
</ItemGroup>
|
184
|
+
</Project>
|
185
|
+
""")
|
186
|
+
}, // expected contents
|
187
|
+
"Newtonsoft.Json", "12.0.1", "13.0.1", false // isTransitive
|
188
|
+
};
|
189
|
+
|
190
|
+
// PackageReference with Version as child element
|
191
|
+
yield return new object[]
|
192
|
+
{
|
193
|
+
new []
|
194
|
+
{
|
195
|
+
(Path: "src/Project.csproj", Content: """
|
196
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
197
|
+
<PropertyGroup>
|
198
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
199
|
+
</PropertyGroup>
|
200
|
+
<ItemGroup>
|
201
|
+
<PackageReference Include="Newtonsoft.Json">
|
202
|
+
<Version>12.0.1</Version>
|
203
|
+
</PackageReference>
|
204
|
+
</ItemGroup>
|
205
|
+
</Project>
|
206
|
+
""")
|
207
|
+
}, // starting contents
|
208
|
+
new []
|
209
|
+
{
|
210
|
+
(Path: "src/Project.csproj", Content: """
|
211
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
212
|
+
<PropertyGroup>
|
213
|
+
<TargetFramework>netstandard2.0</TargetFramework>
|
214
|
+
</PropertyGroup>
|
215
|
+
<ItemGroup>
|
216
|
+
<PackageReference Include="Newtonsoft.Json">
|
217
|
+
<Version>13.0.1</Version>
|
218
|
+
</PackageReference>
|
219
|
+
</ItemGroup>
|
220
|
+
</Project>
|
221
|
+
""")
|
222
|
+
}, // expected contents
|
223
|
+
"Newtonsoft.Json", "12.0.1", "13.0.1", false // isTransitive
|
224
|
+
};
|
225
|
+
}
|
226
|
+
|
227
|
+
private static void AssertContentsEqual((string Path, string Contents)[] expectedContents, TemporaryDirectory directory)
|
228
|
+
{
|
229
|
+
var actualFiles = Directory.GetFiles(directory.DirectoryPath, "*", SearchOption.AllDirectories);
|
230
|
+
Assert.Equal(expectedContents.Length, actualFiles.Length);
|
231
|
+
foreach (var (path, contents) in expectedContents)
|
232
|
+
{
|
233
|
+
var fullPath = Path.Combine(directory.DirectoryPath, path);
|
234
|
+
Assert.True(File.Exists(fullPath));
|
235
|
+
Assert.Equal(contents, File.ReadAllText(fullPath));
|
236
|
+
}
|
237
|
+
}
|
238
|
+
}
|
@@ -0,0 +1,152 @@
|
|
1
|
+
|
2
|
+
Microsoft Visual Studio Solution File, Format Version 12.00
|
3
|
+
# Visual Studio Version 17
|
4
|
+
VisualStudioVersion = 17.5.33516.290
|
5
|
+
MinimumVisualStudioVersion = 10.0.40219.1
|
6
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGetUpdater.Cli", "NuGetUpdater.Cli\NuGetUpdater.Cli.csproj", "{DA55A30A-048A-4D8A-A3EC-4F2CF4B294B8}"
|
7
|
+
EndProject
|
8
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGetUpdater.Core", "NuGetUpdater.Core\NuGetUpdater.Core.csproj", "{82DFC908-9EA6-4339-B459-04D8B356E508}"
|
9
|
+
EndProject
|
10
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGetUpdater.Core.Test", "NuGetUpdater.Core.Test\NuGetUpdater.Core.Test.csproj", "{AE3E29CD-0F66-4A66-93C1-440D701BD4F7}"
|
11
|
+
EndProject
|
12
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.CommandLine", "NuGetProjects\NuGet.CommandLine\NuGet.CommandLine.csproj", "{8F8EF09F-DB34-46F0-8EFC-B72CA498C198}"
|
13
|
+
EndProject
|
14
|
+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NuGet", "NuGet", "{1095100B-0857-4132-A4CF-D54C4124DED9}"
|
15
|
+
EndProject
|
16
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Build.Tasks", "NuGetProjects\NuGet.Build.Tasks\NuGet.Build.Tasks.csproj", "{C54058D4-6E8F-42B3-A35E-734CC10AC152}"
|
17
|
+
EndProject
|
18
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Commands", "NuGetProjects\NuGet.Commands\NuGet.Commands.csproj", "{FFE5164F-999F-4F09-8607-10613C51712C}"
|
19
|
+
EndProject
|
20
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Common", "NuGetProjects\NuGet.Common\NuGet.Common.csproj", "{6D050FD3-E1F4-4DDE-8313-879A86849DA8}"
|
21
|
+
EndProject
|
22
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Configuration", "NuGetProjects\NuGet.Configuration\NuGet.Configuration.csproj", "{3EE95A8E-D907-4DFA-9CBF-00C497878C42}"
|
23
|
+
EndProject
|
24
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Credentials", "NuGetProjects\NuGet.Credentials\NuGet.Credentials.csproj", "{3F764153-B736-49A7-B1E5-97446823FB8C}"
|
25
|
+
EndProject
|
26
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.DependencyResolver.Core", "NuGetProjects\NuGet.DependencyResolver.Core\NuGet.DependencyResolver.Core.csproj", "{F3AAA86A-5540-49B7-8C9C-17B18D95ADCD}"
|
27
|
+
EndProject
|
28
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Frameworks", "NuGetProjects\NuGet.Frameworks\NuGet.Frameworks.csproj", "{A9F779D8-B6EA-481D-9EA6-59D2028FF9CB}"
|
29
|
+
EndProject
|
30
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.LibraryModel", "NuGetProjects\NuGet.LibraryModel\NuGet.LibraryModel.csproj", "{304FFB77-E4CC-4997-870D-A9D8E38E19A2}"
|
31
|
+
EndProject
|
32
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.PackageManagement", "NuGetProjects\NuGet.PackageManagement\NuGet.PackageManagement.csproj", "{0C21F9AE-B44F-4EA5-8811-6207A865BCC7}"
|
33
|
+
EndProject
|
34
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Packaging", "NuGetProjects\NuGet.Packaging\NuGet.Packaging.csproj", "{4442EA58-FBF0-4DCE-9D0E-895FF44590DB}"
|
35
|
+
EndProject
|
36
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.ProjectModel", "NuGetProjects\NuGet.ProjectModel\NuGet.ProjectModel.csproj", "{4DAC0531-794B-4E0E-8A62-48FA8CB4AA5C}"
|
37
|
+
EndProject
|
38
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Protocol", "NuGetProjects\NuGet.Protocol\NuGet.Protocol.csproj", "{0AEA8D0D-6FFE-46A3-B078-B08C409C1731}"
|
39
|
+
EndProject
|
40
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Resolver", "NuGetProjects\NuGet.Resolver\NuGet.Resolver.csproj", "{F3AAC7AB-DC59-4290-8BBF-59EF80BA6DB3}"
|
41
|
+
EndProject
|
42
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Versioning", "NuGetProjects\NuGet.Versioning\NuGet.Versioning.csproj", "{0DCEEE7C-C53C-446C-A3BC-D5C254A952F4}"
|
43
|
+
EndProject
|
44
|
+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGetUpdater.Cli.Test", "NuGetUpdater.Cli.Test\NuGetUpdater.Cli.Test.csproj", "{BDBEBF91-F5FD-4589-B4FB-B3DE3103B04B}"
|
45
|
+
EndProject
|
46
|
+
Global
|
47
|
+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
48
|
+
Debug|Any CPU = Debug|Any CPU
|
49
|
+
Release|Any CPU = Release|Any CPU
|
50
|
+
EndGlobalSection
|
51
|
+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
52
|
+
{DA55A30A-048A-4D8A-A3EC-4F2CF4B294B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
53
|
+
{DA55A30A-048A-4D8A-A3EC-4F2CF4B294B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
54
|
+
{DA55A30A-048A-4D8A-A3EC-4F2CF4B294B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
55
|
+
{DA55A30A-048A-4D8A-A3EC-4F2CF4B294B8}.Release|Any CPU.Build.0 = Release|Any CPU
|
56
|
+
{82DFC908-9EA6-4339-B459-04D8B356E508}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
57
|
+
{82DFC908-9EA6-4339-B459-04D8B356E508}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
58
|
+
{82DFC908-9EA6-4339-B459-04D8B356E508}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
59
|
+
{82DFC908-9EA6-4339-B459-04D8B356E508}.Release|Any CPU.Build.0 = Release|Any CPU
|
60
|
+
{AE3E29CD-0F66-4A66-93C1-440D701BD4F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
61
|
+
{AE3E29CD-0F66-4A66-93C1-440D701BD4F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
62
|
+
{AE3E29CD-0F66-4A66-93C1-440D701BD4F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
63
|
+
{AE3E29CD-0F66-4A66-93C1-440D701BD4F7}.Release|Any CPU.Build.0 = Release|Any CPU
|
64
|
+
{8F8EF09F-DB34-46F0-8EFC-B72CA498C198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
65
|
+
{8F8EF09F-DB34-46F0-8EFC-B72CA498C198}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
66
|
+
{8F8EF09F-DB34-46F0-8EFC-B72CA498C198}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
67
|
+
{8F8EF09F-DB34-46F0-8EFC-B72CA498C198}.Release|Any CPU.Build.0 = Release|Any CPU
|
68
|
+
{C54058D4-6E8F-42B3-A35E-734CC10AC152}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
69
|
+
{C54058D4-6E8F-42B3-A35E-734CC10AC152}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
70
|
+
{C54058D4-6E8F-42B3-A35E-734CC10AC152}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
71
|
+
{C54058D4-6E8F-42B3-A35E-734CC10AC152}.Release|Any CPU.Build.0 = Release|Any CPU
|
72
|
+
{FFE5164F-999F-4F09-8607-10613C51712C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
73
|
+
{FFE5164F-999F-4F09-8607-10613C51712C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
74
|
+
{FFE5164F-999F-4F09-8607-10613C51712C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
75
|
+
{FFE5164F-999F-4F09-8607-10613C51712C}.Release|Any CPU.Build.0 = Release|Any CPU
|
76
|
+
{6D050FD3-E1F4-4DDE-8313-879A86849DA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
77
|
+
{6D050FD3-E1F4-4DDE-8313-879A86849DA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
78
|
+
{6D050FD3-E1F4-4DDE-8313-879A86849DA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
79
|
+
{6D050FD3-E1F4-4DDE-8313-879A86849DA8}.Release|Any CPU.Build.0 = Release|Any CPU
|
80
|
+
{3EE95A8E-D907-4DFA-9CBF-00C497878C42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
81
|
+
{3EE95A8E-D907-4DFA-9CBF-00C497878C42}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
82
|
+
{3EE95A8E-D907-4DFA-9CBF-00C497878C42}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
83
|
+
{3EE95A8E-D907-4DFA-9CBF-00C497878C42}.Release|Any CPU.Build.0 = Release|Any CPU
|
84
|
+
{3F764153-B736-49A7-B1E5-97446823FB8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
85
|
+
{3F764153-B736-49A7-B1E5-97446823FB8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
86
|
+
{3F764153-B736-49A7-B1E5-97446823FB8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
87
|
+
{3F764153-B736-49A7-B1E5-97446823FB8C}.Release|Any CPU.Build.0 = Release|Any CPU
|
88
|
+
{F3AAA86A-5540-49B7-8C9C-17B18D95ADCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
89
|
+
{F3AAA86A-5540-49B7-8C9C-17B18D95ADCD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
90
|
+
{F3AAA86A-5540-49B7-8C9C-17B18D95ADCD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
91
|
+
{F3AAA86A-5540-49B7-8C9C-17B18D95ADCD}.Release|Any CPU.Build.0 = Release|Any CPU
|
92
|
+
{A9F779D8-B6EA-481D-9EA6-59D2028FF9CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
93
|
+
{A9F779D8-B6EA-481D-9EA6-59D2028FF9CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
94
|
+
{A9F779D8-B6EA-481D-9EA6-59D2028FF9CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
95
|
+
{A9F779D8-B6EA-481D-9EA6-59D2028FF9CB}.Release|Any CPU.Build.0 = Release|Any CPU
|
96
|
+
{304FFB77-E4CC-4997-870D-A9D8E38E19A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
97
|
+
{304FFB77-E4CC-4997-870D-A9D8E38E19A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
98
|
+
{304FFB77-E4CC-4997-870D-A9D8E38E19A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
99
|
+
{304FFB77-E4CC-4997-870D-A9D8E38E19A2}.Release|Any CPU.Build.0 = Release|Any CPU
|
100
|
+
{0C21F9AE-B44F-4EA5-8811-6207A865BCC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
101
|
+
{0C21F9AE-B44F-4EA5-8811-6207A865BCC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
102
|
+
{0C21F9AE-B44F-4EA5-8811-6207A865BCC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
103
|
+
{0C21F9AE-B44F-4EA5-8811-6207A865BCC7}.Release|Any CPU.Build.0 = Release|Any CPU
|
104
|
+
{4442EA58-FBF0-4DCE-9D0E-895FF44590DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
105
|
+
{4442EA58-FBF0-4DCE-9D0E-895FF44590DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
106
|
+
{4442EA58-FBF0-4DCE-9D0E-895FF44590DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
107
|
+
{4442EA58-FBF0-4DCE-9D0E-895FF44590DB}.Release|Any CPU.Build.0 = Release|Any CPU
|
108
|
+
{4DAC0531-794B-4E0E-8A62-48FA8CB4AA5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
109
|
+
{4DAC0531-794B-4E0E-8A62-48FA8CB4AA5C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
110
|
+
{4DAC0531-794B-4E0E-8A62-48FA8CB4AA5C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
111
|
+
{4DAC0531-794B-4E0E-8A62-48FA8CB4AA5C}.Release|Any CPU.Build.0 = Release|Any CPU
|
112
|
+
{0AEA8D0D-6FFE-46A3-B078-B08C409C1731}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
113
|
+
{0AEA8D0D-6FFE-46A3-B078-B08C409C1731}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
114
|
+
{0AEA8D0D-6FFE-46A3-B078-B08C409C1731}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
115
|
+
{0AEA8D0D-6FFE-46A3-B078-B08C409C1731}.Release|Any CPU.Build.0 = Release|Any CPU
|
116
|
+
{F3AAC7AB-DC59-4290-8BBF-59EF80BA6DB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
117
|
+
{F3AAC7AB-DC59-4290-8BBF-59EF80BA6DB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
118
|
+
{F3AAC7AB-DC59-4290-8BBF-59EF80BA6DB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
119
|
+
{F3AAC7AB-DC59-4290-8BBF-59EF80BA6DB3}.Release|Any CPU.Build.0 = Release|Any CPU
|
120
|
+
{0DCEEE7C-C53C-446C-A3BC-D5C254A952F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
121
|
+
{0DCEEE7C-C53C-446C-A3BC-D5C254A952F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
122
|
+
{0DCEEE7C-C53C-446C-A3BC-D5C254A952F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
123
|
+
{0DCEEE7C-C53C-446C-A3BC-D5C254A952F4}.Release|Any CPU.Build.0 = Release|Any CPU
|
124
|
+
{BDBEBF91-F5FD-4589-B4FB-B3DE3103B04B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
125
|
+
{BDBEBF91-F5FD-4589-B4FB-B3DE3103B04B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
126
|
+
{BDBEBF91-F5FD-4589-B4FB-B3DE3103B04B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
127
|
+
{BDBEBF91-F5FD-4589-B4FB-B3DE3103B04B}.Release|Any CPU.Build.0 = Release|Any CPU
|
128
|
+
EndGlobalSection
|
129
|
+
GlobalSection(SolutionProperties) = preSolution
|
130
|
+
HideSolutionNode = FALSE
|
131
|
+
EndGlobalSection
|
132
|
+
GlobalSection(NestedProjects) = preSolution
|
133
|
+
{8F8EF09F-DB34-46F0-8EFC-B72CA498C198} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
134
|
+
{C54058D4-6E8F-42B3-A35E-734CC10AC152} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
135
|
+
{FFE5164F-999F-4F09-8607-10613C51712C} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
136
|
+
{6D050FD3-E1F4-4DDE-8313-879A86849DA8} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
137
|
+
{3EE95A8E-D907-4DFA-9CBF-00C497878C42} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
138
|
+
{3F764153-B736-49A7-B1E5-97446823FB8C} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
139
|
+
{F3AAA86A-5540-49B7-8C9C-17B18D95ADCD} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
140
|
+
{A9F779D8-B6EA-481D-9EA6-59D2028FF9CB} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
141
|
+
{304FFB77-E4CC-4997-870D-A9D8E38E19A2} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
142
|
+
{0C21F9AE-B44F-4EA5-8811-6207A865BCC7} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
143
|
+
{4442EA58-FBF0-4DCE-9D0E-895FF44590DB} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
144
|
+
{4DAC0531-794B-4E0E-8A62-48FA8CB4AA5C} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
145
|
+
{0AEA8D0D-6FFE-46A3-B078-B08C409C1731} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
146
|
+
{F3AAC7AB-DC59-4290-8BBF-59EF80BA6DB3} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
147
|
+
{0DCEEE7C-C53C-446C-A3BC-D5C254A952F4} = {1095100B-0857-4132-A4CF-D54C4124DED9}
|
148
|
+
EndGlobalSection
|
149
|
+
GlobalSection(ExtensibilityGlobals) = postSolution
|
150
|
+
SolutionGuid = {3DAF2124-E0B2-45D5-9059-3E5516C2531C}
|
151
|
+
EndGlobalSection
|
152
|
+
EndGlobal
|
@@ -32,7 +32,7 @@ module Dependabot
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def src_repo_from_project
|
35
|
-
source = dependency.requirements.find { |r| r
|
35
|
+
source = dependency.requirements.find { |r| r.fetch(:source) }&.fetch(:source)
|
36
36
|
return unless source
|
37
37
|
|
38
38
|
# Query the service index e.g. https://nuget.pkg.github.com/ORG/index.json
|
@@ -123,14 +123,14 @@ module Dependabot
|
|
123
123
|
|
124
124
|
def dependency_nuspec_url
|
125
125
|
source = dependency.requirements
|
126
|
-
.find { |r| r
|
126
|
+
.find { |r| r.fetch(:source) }&.fetch(:source)
|
127
127
|
|
128
128
|
source.fetch(:nuspec_url) if source&.key?(:nuspec_url)
|
129
129
|
end
|
130
130
|
|
131
131
|
def dependency_source_url
|
132
132
|
source = dependency.requirements
|
133
|
-
.find { |r| r
|
133
|
+
.find { |r| r.fetch(:source) }&.fetch(:source)
|
134
134
|
|
135
135
|
return unless source
|
136
136
|
return source.fetch(:source_url) if source.key?(:source_url)
|
@@ -141,7 +141,7 @@ module Dependabot
|
|
141
141
|
# rubocop:disable Metrics/PerceivedComplexity
|
142
142
|
def auth_header
|
143
143
|
source = dependency.requirements
|
144
|
-
.find { |r| r
|
144
|
+
.find { |r| r.fetch(:source) }&.fetch(:source)
|
145
145
|
url = source&.fetch(:url, nil) || source&.fetch("url")
|
146
146
|
|
147
147
|
token = credentials
|