Skip to content

Commit 235af9c

Browse files
committed
[FIX] Save package files with lowercase versions
1 parent b738f3c commit 235af9c

File tree

7 files changed

+19
-19
lines changed

7 files changed

+19
-19
lines changed

src/Cli/dotnet/NugetPackageDownloader/NuGetPackageDownloader.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ public async Task<string> DownloadPackageAsync(PackageId packageId,
107107

108108
string nupkgPath = downloadFolder == null || !downloadFolder.HasValue
109109
? Path.Combine(_packageInstallDir.Value, packageId.ToString(),
110-
resolvedPackageVersion.ToNormalizedString(),
111-
$"{packageId}.{resolvedPackageVersion.ToNormalizedString()}.nupkg")
110+
resolvedPackageVersion.ToNormalizedString().ToLowerInvariant(),
111+
$"{packageId}.{resolvedPackageVersion.ToNormalizedString().ToLowerInvariant()}.nupkg")
112112
: Path.Combine(downloadFolder.Value.Value,
113-
$"{packageId}.{resolvedPackageVersion.ToNormalizedString()}.nupkg");
113+
$"{packageId}.{resolvedPackageVersion.ToNormalizedString().ToLowerInvariant()}.nupkg");
114114

115115
Directory.CreateDirectory(Path.GetDirectoryName(nupkgPath));
116116
using FileStream destinationStream = File.Create(nupkgPath);
@@ -282,8 +282,8 @@ await GetPackageMetadataAsync(packageId.ToString(), packageVersion, packagesSour
282282
}
283283

284284
private string GetNupkgUrl(string baseUri, PackageId id, NuGetVersion version) =>
285-
baseUri + id.ToString() + "/" + version.ToNormalizedString() + "/" + id.ToString() +
286-
"." + version.ToNormalizedString() + ".nupkg";
285+
baseUri + id.ToString() + "/" + version.ToNormalizedString().ToLowerInvariant() + "/" + id.ToString() +
286+
"." + version.ToNormalizedString().ToLowerInvariant() + ".nupkg";
287287

288288
internal IEnumerable<FilePath> FindAllFilesNeedExecutablePermission(IEnumerable<string> files,
289289
string targetPath)

src/Cli/dotnet/ToolPackage/ToolPackageDownloader.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,11 @@ public IToolPackage InstallPackage(PackageLocation packageLocation, PackageId pa
107107
}
108108
NuGetVersion packageVersion = nugetPackageDownloader.GetBestPackageVersionAsync(packageId, versionRange, packageSourceLocation).GetAwaiter().GetResult();
109109

110-
rollbackDirectory = isGlobalTool ? toolDownloadDir.Value: Path.Combine(toolDownloadDir.Value, packageId.ToString(), packageVersion.ToString());
110+
rollbackDirectory = isGlobalTool ? toolDownloadDir.Value: Path.Combine(toolDownloadDir.Value, packageId.ToString(), packageVersion.ToNormalizedString().ToLowerInvariant());
111111

112112
if (isGlobalTool)
113113
{
114-
NuGetv3LocalRepository nugetPackageRootDirectory = new(Path.Combine(_toolPackageStore.GetRootPackageDirectory(packageId).ToString().Trim('"'), packageVersion.ToString()));
114+
NuGetv3LocalRepository nugetPackageRootDirectory = new(Path.Combine(_toolPackageStore.GetRootPackageDirectory(packageId).ToString().Trim('"'), packageVersion.ToNormalizedString().ToLowerInvariant()));
115115
var globalPackage = nugetPackageRootDirectory.FindPackage(packageId.ToString(), packageVersion);
116116

117117
if (globalPackage != null)
@@ -295,7 +295,7 @@ private static async Task<NuGetVersion> DownloadAndExtractPackage(
295295
}
296296

297297
// Extract the package
298-
var nupkgDir = Path.Combine(packagesRootPath, packageId.ToString(), version.ToString());
298+
var nupkgDir = Path.Combine(packagesRootPath, packageId.ToString(), version.ToNormalizedString().ToLowerInvariant());
299299
await nugetPackageDownloader.ExtractPackageAsync(packagePath, new DirectoryPath(nupkgDir));
300300

301301
return version;

src/Cli/dotnet/ToolPackage/ToolPackageInstance.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public ToolPackageInstance(PackageId id,
7474
_lockFile =
7575
new Lazy<LockFile>(
7676
() => new LockFileFormat().Read(assetsJsonParentDirectory.WithFile(AssetsFileName).Value));
77-
var toolsPackagePath = Path.Combine(PackageDirectory.Value, Id.ToString(), Version.ToNormalizedString(), "tools");
77+
var toolsPackagePath = Path.Combine(PackageDirectory.Value, Id.ToString(), Version.ToNormalizedString().ToLowerInvariant(), "tools");
7878
Frameworks = Directory.GetDirectories(toolsPackagePath)
7979
.Select(path => NuGetFramework.ParseFolder(Path.GetFileName(path)));
8080
}
@@ -116,7 +116,7 @@ private FilePath LockFileRelativePathToFullFilePath(string lockFileRelativePath,
116116
return PackageDirectory
117117
.WithSubDirectories(
118118
Id.ToString(),
119-
library.Version.ToNormalizedString())
119+
library.Version.ToNormalizedString().ToLowerInvariant())
120120
.WithFile(lockFileRelativePath);
121121
}
122122

@@ -198,7 +198,7 @@ private ToolConfiguration DeserializeToolConfiguration(LockFileTargetLibrary lib
198198
PackageDirectory
199199
.WithSubDirectories(
200200
Id.ToString(),
201-
library.Version.ToNormalizedString())
201+
library.Version.ToNormalizedString().ToLowerInvariant())
202202
.WithFile(dotnetToolSettings.Path);
203203

204204
var configuration = ToolConfigurationDeserializer.Deserialize(toolConfigurationPath.Value);

src/Cli/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ internal static class AddPackageParser
3838
var allowPrerelease = context.ParseResult.GetValue(PrereleaseOption);
3939
return QueryVersionsForPackage(packageId, context.WordToComplete, allowPrerelease, CancellationToken.None)
4040
.Result
41-
.Select(version => new CompletionItem(version.ToNormalizedString()));
41+
.Select(version => new CompletionItem(version.ToNormalizedString().ToLowerInvariant()));
4242
}
4343
else
4444
{

src/Tasks/Microsoft.NET.Build.Tasks.UnitTests/Mocks/MockPackageResolver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public string GetPackageDirectory(string packageId, NuGetVersion version)
2222
public string GetPackageDirectory(string packageId, NuGetVersion version, out string packageRoot)
2323
{
2424
packageRoot = _root;
25-
return Path.Combine(_root, packageId, version.ToNormalizedString(), "path");
25+
return Path.Combine(_root, packageId, version.ToNormalizedString().ToLowerInvariant(), "path");
2626
}
2727

2828
public string ResolvePackageAssetPath(LockFileTargetLibrary package, string relativePath) => Path.Combine(GetPackageDirectory(package.Name, package.Version), relativePath);

src/Tasks/Microsoft.NET.Build.Tasks/ResolvePackageAssets.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1442,7 +1442,7 @@ private void WritePackageDependenciesDesignTime()
14421442

14431443
foreach (var package in _lockFile.Libraries)
14441444
{
1445-
var packageVersion = package.Version.ToNormalizedString();
1445+
var packageVersion = package.Version.ToNormalizedString().ToLowerInvariant();
14461446
string packageId = $"{package.Name}/{packageVersion}";
14471447

14481448
// Find PackageDefinitions that match our allowed item specs
@@ -1508,7 +1508,7 @@ HashSet<string> GetPackageDependencies()
15081508
return results;
15091509
}
15101510

1511-
static string GetPackageId(LockFileTargetLibrary package) => $"{package.Name}/{package.Version.ToNormalizedString()}";
1511+
static string GetPackageId(LockFileTargetLibrary package) => $"{package.Name}/{package.Version.ToNormalizedString().ToLowerInvariant()}";
15121512

15131513
Dictionary<string, LogLevel> GetPackageDiagnosticLevels()
15141514
{

src/Tasks/Microsoft.NET.Build.Tasks/ResolvePackageDependencies.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ private void GetPackageAndFileDefinitions()
166166
foreach (var package in LockFile.Libraries)
167167
{
168168
var packageName = package.Name;
169-
var packageVersion = package.Version.ToNormalizedString();
169+
var packageVersion = package.Version.ToNormalizedString().ToLowerInvariant();
170170
string packageId = $"{packageName}/{packageVersion}";
171171
var item = new TaskItem(packageId);
172172
item.SetMetadata(MetadataKeys.Name, packageName);
@@ -288,7 +288,7 @@ private void GetPackageAndFileDependencies(LockFileTarget target)
288288

289289
foreach (var package in target.Libraries)
290290
{
291-
string packageId = $"{package.Name}/{package.Version.ToNormalizedString()}";
291+
string packageId = $"{package.Name}/{package.Version.ToNormalizedString().ToLowerInvariant()}";
292292

293293
if (_projectFileDependencies.Contains(package.Name))
294294
{
@@ -313,7 +313,7 @@ private void GetPackageDependencies(
313313
Dictionary<string, string> resolvedPackageVersions,
314314
HashSet<string> transitiveProjectRefs)
315315
{
316-
string packageId = $"{package.Name}/{package.Version.ToNormalizedString()}";
316+
string packageId = $"{package.Name}/{package.Version.ToNormalizedString().ToLowerInvariant()}";
317317
string frameworkAlias = _targetNameToAliasMap[targetName];
318318
foreach (var deps in package.Dependencies)
319319
{
@@ -339,7 +339,7 @@ private void GetPackageDependencies(
339339

340340
private void GetFileDependencies(LockFileTargetLibrary package, string targetName)
341341
{
342-
string packageId = $"{package.Name}/{package.Version.ToNormalizedString()}";
342+
string packageId = $"{package.Name}/{package.Version.ToNormalizedString().ToLowerInvariant()}";
343343
string frameworkAlias = _targetNameToAliasMap[targetName];
344344

345345
// for each type of file group

0 commit comments

Comments
 (0)