123 lines
6.9 KiB
XML
123 lines
6.9 KiB
XML
<Project>
|
|
<PropertyGroup>
|
|
<PublishingVersion>3</PublishingVersion>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishInstallersAndChecksumsAndProductVersion</PublishDependsOnTargets>
|
|
|
|
<_UploadPathRoot>aspnetcore</_UploadPathRoot>
|
|
<ProductVersionFileName>productVersion.txt</ProductVersionFileName>
|
|
<RepoProductVersionFileName>$(_UploadPathRoot)-$(ProductVersionFileName)</RepoProductVersionFileName>
|
|
<ProductVersionFileLocation>$(ArtifactsShippingPackagesDir)$(ProductVersionFileName)</ProductVersionFileLocation>
|
|
<RepoProductVersionFileLocation>$(ArtifactsShippingPackagesDir)$(RepoProductVersionFileName)</RepoProductVersionFileLocation>
|
|
</PropertyGroup>
|
|
|
|
<!-- $(InstallersOutputPath), $(SymbolsOutputPath), and $(ChecksumExtensions) are not defined. Root Directory.Build.props is not imported. -->
|
|
<ItemGroup>
|
|
<!-- Include our "loose" PDBs when publishing symbols. -->
|
|
<FilesToPublishToSymbolServer Include="$(ArtifactsDir)symbols\**\*.pdb" />
|
|
|
|
<!-- Prepare for _PublishInstallersAndChecksums target. -->
|
|
<_InstallersToPublish Remove="@(_InstallersToPublish)" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)packages\**\*.jar" UploadPathSegment="jar" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)packages\**\*.pom" UploadPathSegment="jar" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)packages\**\*.tgz" UploadPathSegment="npm" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.deb" UploadPathSegment="Runtime" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.exe" UploadPathSegment="Runtime" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.msi" UploadPathSegment="Runtime" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.rpm" UploadPathSegment="Runtime" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.tar.gz" UploadPathSegment="Runtime" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.version" UploadPathSegment="Runtime"
|
|
Condition=" '$(PublishInstallerBaseVersion)' == 'true' " />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.wixlib" UploadPathSegment="Runtime" />
|
|
<_InstallersToPublish Include="$(ArtifactsDir)installers\**\*.zip" UploadPathSegment="Runtime" />
|
|
<_ChecksumsToPublish Include="$(ArtifactsDir)**\*.sha512" />
|
|
</ItemGroup>
|
|
|
|
<Target
|
|
Name="_PublishInstallersAndChecksumsAndProductVersion"
|
|
DependsOnTargets="_WriteProductVersionFile">
|
|
<!--
|
|
This target is defined in eng/targets/Packaging.targets and Npm.Common.targets and included in every C#, F#,
|
|
and npm project. We use SignalR.Npm.FunctionalTests.npmproj because it is non-shipping (we need a non-stable
|
|
version string to use as our publish location), non-packed (won't be shipped in the future), and it is _not_ a
|
|
C# or F# project. For now at least, C# and F# projects should not be referenced when using desktop msbuild.
|
|
-->
|
|
<MSBuild Projects="$(RepoRoot)src\SignalR\clients\ts\FunctionalTests\SignalR.Npm.FunctionalTests.npmproj"
|
|
Properties="DisableYarnCheck=true;ExcludeFromBuild=false"
|
|
Targets="_GetPackageVersionInfo"
|
|
SkipNonexistentProjects="false">
|
|
<Output TaskParameter="TargetOutputs" ItemName="_ResolvedPackageVersionInfo" />
|
|
</MSBuild>
|
|
|
|
<PropertyGroup>
|
|
<_PackageVersion>@(_ResolvedPackageVersionInfo->'%(PackageVersion)')</_PackageVersion>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Do not push .nupkg files from Linux and macOS builds. They'll be packed up separately and signed on Windows.
|
|
Do not remove if post build sign is true, as we avoid the xplat codesign jobs, and need to have
|
|
the nupkgs pushed. -->
|
|
<ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true'" />
|
|
<!-- Linux x64 is built in 3 stages: Build the base packages, layout, and archive. Then build deb and rpm installers.
|
|
The first and last segments will both publish the layout (they share artifacts). Only publish this during the first pass. -->
|
|
<_InstallersToPublish Remove="$(ArtifactsDir)installers\**\*.tar.gz" Condition="'$(BuildRuntimeArchive)' == 'false'" />
|
|
<_ChecksumsToPublish Remove="$(ArtifactsDir)installers\**\*.tar.gz.sha512" Condition="'$(BuildRuntimeArchive)' == 'false'" />
|
|
|
|
<ItemsToPushToBlobFeed Include="@(_ChecksumsToPublish)">
|
|
<PublishFlatContainer>true</PublishFlatContainer>
|
|
<RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
|
|
</ItemsToPushToBlobFeed>
|
|
|
|
<ItemsToPushToBlobFeed Include="@(_InstallersToPublish)">
|
|
<IsShipping>true</IsShipping>
|
|
<PublishFlatContainer>true</PublishFlatContainer>
|
|
<RelativeBlobPath>$(_UploadPathRoot)/%(_InstallersToPublish.UploadPathSegment)/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
|
|
</ItemsToPushToBlobFeed>
|
|
|
|
<ItemsToPushToBlobFeed Include="$(ProductVersionFileLocation)" Condition=" '$(PublishInstallerBaseVersion)' == 'true'">
|
|
<PublishFlatContainer>true</PublishFlatContainer>
|
|
<RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/$(ProductVersionFileName)</RelativeBlobPath>
|
|
</ItemsToPushToBlobFeed>
|
|
|
|
<ItemsToPushToBlobFeed Include="$(RepoProductVersionFileLocation)" Condition=" '$(PublishInstallerBaseVersion)' == 'true'">
|
|
<PublishFlatContainer>true</PublishFlatContainer>
|
|
<RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/$(RepoProductVersionFileName)</RelativeBlobPath>
|
|
</ItemsToPushToBlobFeed>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target
|
|
Name="_WriteProductVersionFile"
|
|
Condition=" '$(PublishInstallerBaseVersion)' == 'true'">
|
|
<!--
|
|
This target is defined in eng/targets/Packaging.targets and Npm.Common.targets and included in every C#, F#,
|
|
and npm project. We use Microsoft.AspNetCore.App.Runtime.csproj because it is shipping (we need a stable
|
|
version string to use for productVersion.txt).
|
|
-->
|
|
<MSBuild Projects="$(RepoRoot)src\Framework\App.Runtime\src\Microsoft.AspNetCore.App.Runtime.csproj"
|
|
Properties="DisableYarnCheck=true;ExcludeFromBuild=false"
|
|
Targets="_GetPackageVersionInfo"
|
|
SkipNonexistentProjects="false">
|
|
<Output TaskParameter="TargetOutputs" ItemName="_ResolvedProductVersionInfo" />
|
|
</MSBuild>
|
|
|
|
<PropertyGroup>
|
|
<_ProductVersion>@(_ResolvedProductVersionInfo->'%(PackageVersion)')</_ProductVersion>
|
|
</PropertyGroup>
|
|
|
|
<!-- Generate productVersion.txt containing the value of $(PackageVersion) -->
|
|
<WriteLinesToFile
|
|
File="$(ProductVersionFileLocation)"
|
|
Lines="$(_ProductVersion)"
|
|
Overwrite="true"
|
|
Encoding="ASCII" />
|
|
<WriteLinesToFile
|
|
File="$(RepoProductVersionFileLocation)"
|
|
Lines="$(_ProductVersion)"
|
|
Overwrite="true"
|
|
Encoding="ASCII" />
|
|
</Target>
|
|
</Project>
|