dotnet_runtime/src/installer/publish/publish-final.proj

84 lines
3.7 KiB
XML

<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<UsingTask TaskName="FinalizeBuild" AssemblyFile="$(InstallerTasksAssemblyPath)" />
<!--
Target wrapping UpdatePublishedVersions: ensures that ShippedNuGetPackage items are created and
disables versions repo update if no auth token is defined. Otherwise, not specifying an auth
token would cause an error.
-->
<Target Name="UpdateVersionsRepo"
Condition="'$(GitHubAuthToken)' != ''"
DependsOnTargets="
GetShippedNuGetPackages;
UpdatePublishedVersions" />
<Target Name="GetShippedNuGetPackages"
DependsOnTargets="FindDownloadedArtifacts">
<ItemGroup>
<!-- Nupkgs to include in dotnet/versions update. -->
<ShippedNuGetPackage Include="@(NupkgToPublishFile)" />
</ItemGroup>
<Message Importance="High" Text="Updating versions repo '$(VersionsRepoOwner)/$(VersionsRepo)' path '$(VersionsRepoPath)' with nupkgs:" />
<Message Importance="High" Text="%(NupkgToPublishFile.Filename)" />
</Target>
<PropertyGroup>
<FinalizeBuildInAzureDependsOn Condition="'$(DisableSourceLink)' != 'true'">InitializeSourceControlInformationFromSourceControlManager</FinalizeBuildInAzureDependsOn>
</PropertyGroup>
<Target Name="FinalizeBuildInAzure"
DependsOnTargets="GetProductVersions;$(FinalizeBuildInAzureDependsOn)">
<Error Condition="'$(AzureAccessToken)' == ''" Text="Missing required property 'AzureAccessToken'" />
<Error Condition="'$(AzureAccountName)' == ''" Text="Missing required property 'AzureAccountName'" />
<Error Condition="'$(ContainerName)' == ''" Text="Missing required property 'ContainerName'" />
<Message Importance="High" Text="Finalizing Build version $(ProductVersion) to channel $(Channel)" />
<FinalizeBuild
AccountName="$(AzureAccountName)"
AccountKey="$(AzureAccessToken)"
ContainerName="$(ContainerName)"
SemaphoreBlob="Runtime/$(Channel)/sharedFxPublishSemaphore"
Channel="$(Channel)"
Version="$(SharedFrameworkNugetVersion)"
SharedFrameworkNugetVersion="$(SharedFrameworkNugetVersion)"
SharedHostNuGetVersion="$(HostVersion)"
ProductVersion="$(ProductVersion)"
CommitHash="$([MSBuild]::ValueOrDefault('$(SourceRevisionId)', 'N/A'))"
FinalizeContainer="Runtime/$(SharedFrameworkNugetVersion)"
ForcePublish="true" />
<Error Condition="'$(ChecksumAzureAccessToken)' == ''" Text="Missing required property 'ChecksumAzureAccessToken'" />
<Error Condition="'$(ChecksumAzureAccountName)' == ''" Text="Missing required property 'ChecksumAzureAccountName'" />
<Error Condition="'$(ChecksumContainerName)' == ''" Text="Missing required property 'ChecksumContainerName'" />
<Message Importance="High" Text="Finalizing Checksums" />
<FinalizeBuild
AccountName="$(ChecksumAzureAccountName)"
AccountKey="$(ChecksumAzureAccessToken)"
ContainerName="$(ChecksumContainerName)"
SemaphoreBlob="Runtime/$(Channel)/checksumPublishSemaphore"
Channel="$(Channel)"
Version="$(SharedFrameworkNugetVersion)"
SharedFrameworkNugetVersion="$(SharedFrameworkNugetVersion)"
SharedHostNuGetVersion="$(HostVersion)"
ProductVersion="$(ProductVersion)"
CommitHash="$([MSBuild]::ValueOrDefault('$(SourceRevisionId)', 'N/A'))"
FinalizeContainer="Runtime/$(SharedFrameworkNugetVersion)"
ForcePublish="true" />
</Target>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<!-- Perform extra publish steps that Arcade doesn't support. -->
<Target Name="Build"
DependsOnTargets="
FinalizeBuildInAzure;
UpdateVersionsRepo">
<Message Importance="High" Text="Complete!" />
</Target>
</Project>