Skip to content

Commit c1d3899

Browse files
committed
Fix OutputFileNamesWithoutVersion
1 parent 0343ad1 commit c1d3899

4 files changed

Lines changed: 139 additions & 104 deletions

File tree

src/NuGet.Core/NuGet.Build.Tasks.Pack/GetPackOutputItemsTask.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public class GetPackOutputItemsTask : Microsoft.Build.Utilities.Task
3939

4040
public string SymbolPackageFormat { get; set; }
4141

42+
public bool OutputFileNamesWithoutVersion { get; set; }
43+
4244
/// <summary>
4345
/// Output items
4446
/// </summary>
@@ -71,17 +73,17 @@ public override bool Execute()
7173
}
7274

7375
var symbolPackageFormat = PackArgs.GetSymbolPackageFormat(MSBuildStringUtility.TrimAndGetNullForEmpty(SymbolPackageFormat));
74-
var nupkgFileName = PackCommandRunner.GetOutputFileName(packageId, version, isNupkg: true, symbols: false, symbolPackageFormat: symbolPackageFormat);
75-
var nuspecFileName = PackCommandRunner.GetOutputFileName(packageId, version, isNupkg: false, symbols: false, symbolPackageFormat: symbolPackageFormat);
76+
var nupkgFileName = PackCommandRunner.GetOutputFileName(packageId, version, isNupkg: true, symbols: false, symbolPackageFormat: symbolPackageFormat, excludeVersion: OutputFileNamesWithoutVersion);
77+
var nuspecFileName = PackCommandRunner.GetOutputFileName(packageId, version, isNupkg: false, symbols: false, symbolPackageFormat: symbolPackageFormat, excludeVersion: OutputFileNamesWithoutVersion);
7678

7779
var outputs = new List<ITaskItem>();
7880
outputs.Add(new TaskItem(Path.Combine(PackageOutputPath, nupkgFileName)));
7981
outputs.Add(new TaskItem(Path.Combine(NuspecOutputPath, nuspecFileName)));
8082

8183
if (IncludeSource || IncludeSymbols)
8284
{
83-
var nupkgSymbolsFileName = PackCommandRunner.GetOutputFileName(packageId, version, isNupkg: true, symbols: true, symbolPackageFormat: symbolPackageFormat);
84-
var nuspecSymbolsFileName = PackCommandRunner.GetOutputFileName(packageId, version, isNupkg: false, symbols: true, symbolPackageFormat: symbolPackageFormat);
85+
var nupkgSymbolsFileName = PackCommandRunner.GetOutputFileName(packageId, version, isNupkg: true, symbols: true, symbolPackageFormat: symbolPackageFormat, excludeVersion: OutputFileNamesWithoutVersion);
86+
var nuspecSymbolsFileName = PackCommandRunner.GetOutputFileName(packageId, version, isNupkg: false, symbols: true, symbolPackageFormat: symbolPackageFormat, excludeVersion: OutputFileNamesWithoutVersion);
8587

8688
outputs.Add(new TaskItem(Path.Combine(PackageOutputPath, nupkgSymbolsFileName)));
8789
outputs.Add(new TaskItem(Path.Combine(NuspecOutputPath, nuspecSymbolsFileName)));

src/NuGet.Core/NuGet.Build.Tasks.Pack/PackTaskLogic.cs

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1086,24 +1086,25 @@ private static IDictionary<string, string> ParsePropertiesAsDictionary(string[]
10861086

10871087
internal static void SetPackArgsPropertiesFromNuspecProperties(PackArgs packArgs, string[] nuspecProperties, string nuspecInputFilePath)
10881088
{
1089-
if (!string.IsNullOrWhiteSpace(nuspecInputFilePath))
1089+
if (string.IsNullOrWhiteSpace(nuspecInputFilePath) || nuspecProperties == null || !nuspecProperties.Any())
10901090
{
1091-
if (nuspecProperties != null && nuspecProperties.Any())
1091+
return;
1092+
}
1093+
1094+
packArgs.Properties.AddRange(ParsePropertiesAsDictionary(nuspecProperties));
1095+
if (packArgs.Properties.TryGetValue("version", out var packageVersion))
1096+
{
1097+
if (!NuGetVersion.TryParse(packageVersion, out var version))
10921098
{
1093-
packArgs.Properties.AddRange(ParsePropertiesAsDictionary(nuspecProperties));
1094-
if (packArgs.Properties.TryGetValue("version", out var packageVersion))
1095-
{
1096-
if (!NuGetVersion.TryParse(packageVersion, out var version))
1097-
{
1098-
throw new ArgumentException(string.Format(
1099-
CultureInfo.CurrentCulture,
1100-
Strings.InvalidPackageVersion,
1101-
packageVersion));
1102-
}
1103-
packArgs.Version = version.ToNormalizedString();
1104-
}
1099+
throw new ArgumentException(string.Format(
1100+
CultureInfo.CurrentCulture,
1101+
Strings.InvalidPackageVersion,
1102+
packageVersion));
11051103
}
1104+
packArgs.Version = version.ToNormalizedString();
11061105
}
1106+
1107+
11071108
}
11081109

11091110
private HashSet<string> InitOutputExtensions(IEnumerable<string> outputExtensions)

src/NuGet.Core/NuGet.Build.Tasks/NuGet.Build.Tasks.Pack.targets

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,13 @@ Copyright (c) .NET Foundation. All rights reserved.
112112
PackageOutputPath="$(PackageOutputAbsolutePath)"
113113
NuspecOutputPath="$(NuspecOutputAbsolutePath)"
114114
NuspecInputFilePath="$(NuspecFile)"
115-
NuspecProperties="$(NuspecProperties)"
115+
NuspecProperties="$(NuspecProperties)"
116116
PackageId="$(PackageId)"
117117
PackageVersion="$(PackageVersion)"
118118
IncludeSymbols="$(IncludeSymbols)"
119119
IncludeSource="$(IncludeSource)"
120-
SymbolPackageFormat="$(SymbolPackageFormat)">
121-
120+
SymbolPackageFormat="$(SymbolPackageFormat)"
121+
OutputFileNamesWithoutVersion="$(OutputFileNamesWithoutVersion)">
122122
<Output
123123
TaskParameter="OutputPackItems"
124124
ItemName="_OutputPackItems" />

0 commit comments

Comments
 (0)