Ensure all packages are included in ArtifactInfo

This commit is contained in:
Nate McMaster 2018-02-01 10:24:07 -08:00
parent ebe17e29d4
commit 2233481d34
4 changed files with 60 additions and 10 deletions

View File

@ -55,7 +55,7 @@
Value="$(PackageVersion)" />
</Target>
<Target Name="GetFilesToPublish" DependsOnTargets="ResolveRepoInfo;GeneratePublishFiles">
<Target Name="GetFilesToPublish" DependsOnTargets="GetArtifactInfo;GeneratePublishFiles">
<PropertyGroup>
<BlobBasePath>Runtime/$(PackageVersion)/</BlobBasePath>
<AliasBlobBasePath>Runtime/$(SharedFxCliBlobChannel)/</AliasBlobBasePath>
@ -133,7 +133,12 @@
<Output TaskParameter="JoinResult" ItemName="PackagesToPublish" />
</RepoTasks.JoinItems>
<Message Text="@(FilesToPublish -> '%(FullPath) -> %(RelativeBlobPath)','%0A')" />
<ItemGroup>
<_MissingPackages Include="@(PackageArtifact)" />
<_MissingPackages Remove="%(PackagesToPublish.PackageId)" />
</ItemGroup>
<Error Text="Missing expected packages from PackagesToPublish: %0A - @(_MissingPackages, '%0A - ')" Condition="@(_MissingPackages->Count()) != 0" />
</Target>
<Target Name="_CheckFilesToPublish">

View File

@ -2,10 +2,28 @@
<Import Project="common.props" />
<Import Project="SharedFx.props" />
<PropertyGroup>
<GetArtifactInfoDependsOn>$(GetArtifactInfoDependsOn);GetMetapackageArtifactInfo</GetArtifactInfoDependsOn>
</PropertyGroup>
<PropertyGroup>
<SharedFxOutputPath>$([MSBuild]::NormalizeDirectory($(ArtifactsDir)))assets\Runtime\$(PackageVersion)\</SharedFxOutputPath>
</PropertyGroup>
<Target Name="GetMetapackageArtifactInfo">
<ItemGroup>
<_MetapackageProject Include="$(RepositoryRoot)src\Microsoft.AspNetCore.All\Microsoft.AspNetCore.All.csproj" />
<_MetapackageProject Include="$(RepositoryRoot)src\Microsoft.AspNetCore.App\Microsoft.AspNetCore.App.csproj" />
<_MetapackageProject Include="$(RepositoryRoot)src\Microsoft.AspNetCore.Analyzers\Microsoft.AspNetCore.Analyzers.csproj" />
</ItemGroup>
<MSBuild Projects="@(_MetapackageProject)"
Targets="GetArtifactInfo"
Properties="PackageOutputPath=$(BuildDir);BuildNumber=$(BuildNumber);DesignTimeBuild=true;IsFinalBuild=$(IsFinalBuild)">
<Output TaskParameter="TargetOutputs" ItemName="ArtifactInfo" />
</MSBuild>
</Target>
<Target Name="_BuildMetapackage" DependsOnTargets="ResolveRepoInfo">
<PropertyGroup>
<MetapackageSource>$(_MetapackageSrcRoot)$(MetapackageName)\</MetapackageSource>

View File

@ -1,24 +1,40 @@
<Project>
<PropertyGroup>
<TemplatingProjectRoot>$(MSBuildThisFileDirectory)..\modules\Templating\</TemplatingProjectRoot>
<GetArtifactInfoDependsOn>$(GetArtifactInfoDependsOn);GetTemplateArtifactInfo</GetArtifactInfoDependsOn>
</PropertyGroup>
<PropertyGroup>
<TemplateProjProperties>
RepositoryRoot=$(TemplatingProjectRoot);
BuildNumber=$(BuildNumber);
Configuration=$(Configuration);
IsFinalBuild=$(IsFinalBuild);
</TemplateProjProperties>
</PropertyGroup>
<Target Name="GetTemplateArtifactInfo">
<MSBuild Projects="$(MSBuildProjectFullPath)"
Targets="GetArtifactInfo"
Properties="$(TemplateProjProperties);DesignTimeBuild=true">
<Output TaskParameter="TargetOutputs" ItemName="ArtifactInfo" />
</MSBuild>
</Target>
<Target Name="BuildTemplates" DependsOnTargets="GeneratePropsFiles">
<PropertyGroup>
<TemplateProjProperties>
RepositoryRoot=$(TemplatingProjectRoot);
<_BuildTemplateProjProperties>
$(TemplateProjProperties);
SkipAspNetCoreRuntimeInstall=true;
DotNetRestoreSourcesPropsPath=$(GeneratedRestoreSourcesPropsPath);
DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath);
BuildNumber=$(BuildNumber);
Configuration=$(Configuration);
IsFinalBuild=$(IsFinalBuild);
SkipAspNetCoreRuntimeInstall=true;
</TemplateProjProperties>
SkipTests=true;
</_BuildTemplateProjProperties>
</PropertyGroup>
<MSBuild Projects="$(MSBuildProjectFullPath)"
Targets="CleanArtifacts;Build"
Properties="$(TemplateProjProperties);SkipTests=true" />
Properties="$(_BuildTemplateProjProperties)" />
<ItemGroup>
<TemplateArtifacts Include="$(TemplatingProjectRoot)artifacts\build\*" />

View File

@ -0,0 +1,11 @@
<Project>
<Target Name="GetArtifactInfo" Returns="@(ArtifactInfo)">
<ItemGroup>
<ArtifactInfo Include="$(PackageOutputPath)$(PackageId).$(PackageVersion).nupkg">
<ArtifactType>NuGetPackage</ArtifactType>
<PackageId>$(PackageId)</PackageId>
<Version>$(PackageVersion)</Version>
</ArtifactInfo>
</ItemGroup>
</Target>
</Project>