Explicitly specify metapackage version

This commit is contained in:
John Luo 2017-10-11 17:04:09 -07:00
parent 9aeefd3fd5
commit a48a3be6d7
2 changed files with 12 additions and 6 deletions

View File

@ -22,7 +22,8 @@
BuildArtifacts="@(ArtifactInfo)"
PackageArtifacts="@(PackageArtifact)"
ExternalDependencies="@(ExternalDependency)"
RemoveTimestamp="$(RemoveTimestamp)" />
RemoveTimestamp="$(RemoveTimestamp)"
MetapackageVersion="$(MetapackageVersion)" />
<PropertyGroup>
<FallbackStagingDir>$(_WorkRoot)obj\$(OutputPackageName)</FallbackStagingDir>
@ -69,10 +70,10 @@
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_BuildFallbackArchive"
Properties="DotNetRestoreSources=$(TimestampSource);OutputPackageName=$(TimestampOutputPackageName);RemoveTimestamp=false" />
Properties="DotNetRestoreSources=$(TimestampSource);OutputPackageName=$(TimestampOutputPackageName);RemoveTimestamp=false;MetapackageVersion=$(TimeStampVersion)" />
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_BuildFallbackArchive"
Properties="DotNetRestoreSources=$(TimestampFreeSource);OutputPackageName=$(TimestampFreeOutputPackageName);RemoveTimestamp=true" />
Properties="DotNetRestoreSources=$(TimestampFreeSource);OutputPackageName=$(TimestampFreeOutputPackageName);RemoveTimestamp=true;MetapackageVersion=$(TimeStampFreeVersion)" />
</Target>
</Project>

View File

@ -16,6 +16,9 @@ namespace RepoTasks
[Required]
public string ReferencePackagePath { get; set; }
[Required]
public string MetaPackageVersion { get; set; }
[Required]
public bool RemoveTimestamp { get; set; }
@ -52,9 +55,11 @@ namespace RepoTasks
foreach (var package in archiveArtifacts)
{
var packageName = package.ItemSpec;
var packageVersion = buildArtifacts
.Single(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase))
.PackageInfo.Version.ToString();
var packageVersion = string.Equals(packageName, "Microsoft.AspNetCore.All", StringComparison.OrdinalIgnoreCase) ?
MetaPackageVersion :
buildArtifacts
.Single(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase))
.PackageInfo.Version.ToString();
if (RemoveTimestamp)
{