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)" /> Value="$(PackageVersion)" />
</Target> </Target>
<Target Name="GetFilesToPublish" DependsOnTargets="ResolveRepoInfo;GeneratePublishFiles"> <Target Name="GetFilesToPublish" DependsOnTargets="GetArtifactInfo;GeneratePublishFiles">
<PropertyGroup> <PropertyGroup>
<BlobBasePath>Runtime/$(PackageVersion)/</BlobBasePath> <BlobBasePath>Runtime/$(PackageVersion)/</BlobBasePath>
<AliasBlobBasePath>Runtime/$(SharedFxCliBlobChannel)/</AliasBlobBasePath> <AliasBlobBasePath>Runtime/$(SharedFxCliBlobChannel)/</AliasBlobBasePath>
@ -133,7 +133,12 @@
<Output TaskParameter="JoinResult" ItemName="PackagesToPublish" /> <Output TaskParameter="JoinResult" ItemName="PackagesToPublish" />
</RepoTasks.JoinItems> </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>
<Target Name="_CheckFilesToPublish"> <Target Name="_CheckFilesToPublish">

View File

@ -2,10 +2,28 @@
<Import Project="common.props" /> <Import Project="common.props" />
<Import Project="SharedFx.props" /> <Import Project="SharedFx.props" />
<PropertyGroup>
<GetArtifactInfoDependsOn>$(GetArtifactInfoDependsOn);GetMetapackageArtifactInfo</GetArtifactInfoDependsOn>
</PropertyGroup>
<PropertyGroup> <PropertyGroup>
<SharedFxOutputPath>$([MSBuild]::NormalizeDirectory($(ArtifactsDir)))assets\Runtime\$(PackageVersion)\</SharedFxOutputPath> <SharedFxOutputPath>$([MSBuild]::NormalizeDirectory($(ArtifactsDir)))assets\Runtime\$(PackageVersion)\</SharedFxOutputPath>
</PropertyGroup> </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"> <Target Name="_BuildMetapackage" DependsOnTargets="ResolveRepoInfo">
<PropertyGroup> <PropertyGroup>
<MetapackageSource>$(_MetapackageSrcRoot)$(MetapackageName)\</MetapackageSource> <MetapackageSource>$(_MetapackageSrcRoot)$(MetapackageName)\</MetapackageSource>

View File

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