Enable publishing in VMR (#18917)
Co-authored-by: Přemek Vysoký <premek.vysoky@microsoft.com> Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
This commit is contained in:
parent
3ee5304e71
commit
3384a8d60f
19 changed files with 2130 additions and 11 deletions
|
@ -135,7 +135,12 @@
|
|||
<IsStableBuild Condition="'$(DotNetFinalVersionKind)' == 'release'">true</IsStableBuild>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
Delete PushToAzureDevOpsArtifacts task and remove condition from PushToBuildStorage task
|
||||
after this repo picks up arcade with the following change: https://github.com/dotnet/arcade/pull/14559
|
||||
-->
|
||||
<PushToAzureDevOpsArtifacts
|
||||
Condition="'$(DotNetBuildOrchestrator)' != 'true'"
|
||||
AzureDevOpsCollectionUri="$(SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)"
|
||||
AzureDevOpsProject="$(SYSTEM_TEAMPROJECT)"
|
||||
AzureDevOpsBuildId="$(BUILD_BUILDID)"
|
||||
|
@ -154,5 +159,31 @@
|
|||
PublishFlatContainer="true"
|
||||
IsStableBuild="$(IsStableBuild)"
|
||||
PublishingVersion="3" />
|
||||
|
||||
<PushToBuildStorage
|
||||
Condition="'$(DotNetBuildOrchestrator)' == 'true'"
|
||||
AzureDevOpsCollectionUri="$(SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)"
|
||||
AzureDevOpsProject="$(SYSTEM_TEAMPROJECT)"
|
||||
AzureDevOpsBuildId="$(BUILD_BUILDID)"
|
||||
ItemsToPush="@(SdkAssetsToPushToBlobFeed);@(ChecksumsToPushToBlobFeed)"
|
||||
ItemsToSign="@(ItemsToSignPostBuild)"
|
||||
CertificatesSignInfo="@(CertificatesSignInfo)"
|
||||
StrongNameSignInfo="@(StrongNameSignInfo)"
|
||||
FileSignInfo="@(FileSignInfo)"
|
||||
FileExtensionSignInfo="@(FileExtensionSignInfo)"
|
||||
ManifestBuildData="@(ManifestBuildData)"
|
||||
ManifestRepoName="$(BUILD_REPOSITORY_NAME)"
|
||||
ManifestBranch="$(BUILD_SOURCEBRANCH)"
|
||||
ManifestBuildId="$(BUILD_BUILDNUMBER)"
|
||||
ManifestCommit="$(BUILD_SOURCEVERSION)"
|
||||
AssetManifestPath="$(InstallersAssetManifestFilePath)"
|
||||
PublishFlatContainer="true"
|
||||
IsStableBuild="$(IsStableBuild)"
|
||||
PublishingVersion="3"
|
||||
PushToLocalStorage="$(PushToLocalStorage)"
|
||||
AssetsLocalStorageDir="$(SourceBuiltAssetsDir)"
|
||||
ShippingPackagesLocalStorageDir="$(SourceBuiltShippingPackagesDir)"
|
||||
NonShippingPackagesLocalStorageDir="$(SourceBuiltNonShippingPackagesDir)"
|
||||
AssetManifestsLocalStorageDir="$(SourceBuiltAssetManifestsDir)" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
@ -173,7 +173,9 @@
|
|||
|
||||
<VSMSBuildSdkResolversDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'toolset', 'VSSdkResolvers'))</VSMSBuildSdkResolversDir>
|
||||
<IntermediateSymbolsRootDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'Symbols'))</IntermediateSymbolsRootDir>
|
||||
<AssetManifestsIntermediateDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'AssetManifests'))</AssetManifestsIntermediateDir>
|
||||
<ArtifactsAssetsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'assets', '$(Configuration)'))</ArtifactsAssetsDir>
|
||||
<ArtifactsAssetsSymbolsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsAssetsDir)', 'Symbols'))</ArtifactsAssetsSymbolsDir>
|
||||
|
||||
<PrebuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'prebuilt'))</PrebuiltPackagesPath>
|
||||
<PreviouslyRestoredPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'previouslyRestored'))</PreviouslyRestoredPackagesPath>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<SdkFilenamePrefix>dotnet-sdk-</SdkFilenamePrefix>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<SdkTarballItem Include="$(ArtifactsAssetsDir)$(SdkFilenamePrefix)*$(ArchiveExtension)" />
|
||||
<SdkTarballItem Include="$(ArtifactsAssetsDir)Sdk/**/$(SdkFilenamePrefix)*$(ArchiveExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!--
|
||||
|
|
|
@ -38,12 +38,14 @@
|
|||
<!-- Update nuget.config property to point to modified file that will be created/updated during build. -->
|
||||
<NuGetConfigFile Condition="'$(OriginalNuGetConfigFile)' != ''">$(BaseIntermediateOutputPath)$([System.IO.Path]::GetFileName('$(OriginalNuGetConfigFile)'))</NuGetConfigFile>
|
||||
|
||||
<RepoAssetManifestsDir>$([MSBuild]::NormalizeDirectory('$(AssetManifestsIntermediateDir)', '$(RepositoryName)'))</RepoAssetManifestsDir>
|
||||
|
||||
<SourceBuiltSdksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'source-built-sdks'))</SourceBuiltSdksDir>
|
||||
|
||||
<RepoArtifactsShippingPackagesDir Condition="'$(RepositoryName)' != 'source-build-reference-packages'">$([MSBuild]::NormalizeDirectory('$(ArtifactsShippingPackagesDir)', '$(RepositoryName)'))</RepoArtifactsShippingPackagesDir>
|
||||
<RepoArtifactsShippingPackagesDir Condition="'$(RepositoryName)' == 'source-build-reference-packages'">$(ReferencePackagesDir)</RepoArtifactsShippingPackagesDir>
|
||||
<RepoArtifactsNonShippingPackagesDir Condition="'$(RepositoryName)' != 'source-build-reference-packages'">$([MSBuild]::NormalizeDirectory('$(ArtifactsNonShippingPackagesDir)', '$(RepositoryName)'))</RepoArtifactsNonShippingPackagesDir>
|
||||
<RepoArtifactsNonShippingPackagesDir Condition="'$(RepositoryName)' == 'source-build-reference-packages'">$(ReferencePackagesDir)</RepoArtifactsNonShippingPackagesDir>
|
||||
|
||||
|
||||
<!-- Set the bootstrap version to the VMR's version if empty. (no bootstrap set). -->
|
||||
<ArcadeBootstrapVersion>$([MSBuild]::ValueOrDefault('$(ARCADE_BOOTSTRAP_VERSION)', '$(ArcadeSdkVersion)'))</ArcadeBootstrapVersion>
|
||||
|
@ -86,6 +88,11 @@
|
|||
<BuildArgs Condition="'$(NuGetConfigFile)' != ''">$(BuildArgs) /p:RestoreConfigFile=$(NuGetConfigFile)</BuildArgs>
|
||||
<!-- TODO rename this property https://github.com/dotnet/source-build/issues/4165 -->
|
||||
<BuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(BuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime)</BuildArgs>
|
||||
<!-- Pass locations for assets and packages -->
|
||||
<BuildArgs>$(BuildArgs) /p:SourceBuiltAssetsDir=$(ArtifactsAssetsDir)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:SourceBuiltShippingPackagesDir=$(RepoArtifactsShippingPackagesDir)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:SourceBuiltNonShippingPackagesDir=$(RepoArtifactsNonShippingPackagesDir)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:SourceBuiltAssetManifestsDir=$(RepoAssetManifestsDir)</BuildArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
<ProjectAssetsJsonArchiveFile>$(PackageReportDir)all-project-assets-json-files.zip</ProjectAssetsJsonArchiveFile>
|
||||
<ProdConManifestFile>$(PackageReportDir)prodcon-build.xml</ProdConManifestFile>
|
||||
<RepoManifestFile>$([MSBuild]::NormalizePath('$(ProjectDirectory)', 'artifacts', 'RepoManifest.xml'))</RepoManifestFile>
|
||||
<RepoAssetsSymbolsArchive>$(ArtifactsAssetsSymbolsDir)Symbols.$(RepositoryName)$(ArchiveExtension)</RepoAssetsSymbolsArchive>
|
||||
|
||||
<IntermediateSymbolsRepoDir>$(IntermediateSymbolsRootDir)$(RepositoryName)</IntermediateSymbolsRepoDir>
|
||||
</PropertyGroup>
|
||||
|
@ -408,9 +409,13 @@
|
|||
<Message Importance="High" Text="See '$(RepoConsoleLogFile)' for more information." Condition="Exists('$(RepoConsoleLogFile)') and '$(MinimalConsoleLogOutput)' == 'true'" />
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Remove this target after arcade changes for publishing have flown to installer repo.
|
||||
https://github.com/dotnet/source-build/issues/4207
|
||||
-->
|
||||
<Target Name="CopyRepoArtifacts"
|
||||
DependsOnTargets="RepoBuild"
|
||||
Condition="'$(IsUtilityProject)' != 'true'"
|
||||
Condition="'$(IsUtilityProject)' != 'true' and Exists('$(RepoManifestFile)')"
|
||||
Inputs="$(RepoManifestFile)"
|
||||
Outputs="$(BaseIntermediateOutputPath)CopyRepoArtifacts.complete">
|
||||
<Error Text="Repo manifest file doesn't exist." Condition="!Exists('$(RepoManifestFile)')" />
|
||||
|
@ -601,8 +606,18 @@
|
|||
</Touch>
|
||||
</Target>
|
||||
|
||||
<Target Name="DiscoverSymbolsArchiveFile"
|
||||
Condition="'$(DotNetBuildSourceOnly)' == 'true' and
|
||||
'$(IsUtilityProject)' != 'true' and
|
||||
Exists('$(RepoAssetsSymbolsArchive)')">
|
||||
|
||||
<ItemGroup>
|
||||
<RepoSymbolsArchive Include="$(RepoAssetsSymbolsArchive)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="ExtractSymbolsArchiveFile"
|
||||
DependsOnTargets="CopyRepoArtifacts"
|
||||
DependsOnTargets="CopyRepoArtifacts;DiscoverSymbolsArchiveFile"
|
||||
Condition="'$(DotNetBuildSourceOnly)' == 'true' and
|
||||
'$(IsUtilityProject)' != 'true' and
|
||||
'@(RepoSymbolsArchive)' != ''"
|
||||
|
@ -624,6 +639,7 @@
|
|||
CopyRepoArtifacts;
|
||||
CopyInnerBuildRestoredPackages;
|
||||
ExtractToolPackage;
|
||||
DiscoverSymbolsArchiveFile;
|
||||
ExtractSymbolsArchiveFile;
|
||||
CleanupRepo" />
|
||||
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
<!-- AspNetCore doesn't have a root build script but one under the eng folder. -->
|
||||
<BuildScript>$(ProjectDirectory)eng\build$(ShellExtension)</BuildScript>
|
||||
|
||||
<!-- BuildActions includes -publish which is not supported by the aspnetcore build script. -->
|
||||
<BuildActions>$(FlagParameterPrefix)restore $(FlagParameterPrefix)build $(FlagParameterPrefix)pack</BuildActions>
|
||||
<!-- On Windows, build all for the VB PoC -->
|
||||
<BuildActions Condition="'$(DotNetBuildSourceOnly)' != 'true' and '$(BuildOS)' == 'windows'">$(FlagParameterPrefix)restore $(FlagParameterPrefix)all $(FlagParameterPrefix)pack</BuildActions>
|
||||
|
||||
|
|
|
@ -137,4 +137,15 @@
|
|||
<Message Importance="High" Text="Packaged source-built artifacts to $(SourceBuiltTarballName)" />
|
||||
</Target>
|
||||
|
||||
<!-- Copy SDK archive to assets root. -->
|
||||
<Target Name="CopySdkArchive"
|
||||
AfterTargets="Build"
|
||||
DependsOnTargets="DetermineSourceBuiltSdkVersion">
|
||||
|
||||
<Copy SourceFiles="@(SdkTarballItem)"
|
||||
DestinationFolder="$(ArtifactsAssetsDir)"
|
||||
SkipUnchangedFiles="true"
|
||||
UseHardlinksIfPossible="true" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -31,7 +31,14 @@
|
|||
SourcePath="$(LocalNuGetPackageCacheDirectory)" />
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Remove this target after VMR picks up new arcade publishing changes: https://github.com/dotnet/arcade/pull/14559
|
||||
Tracking issue: https://github.com/dotnet/source-build/issues/4210
|
||||
|
||||
We only run this target if we're publishing using repo manifest.
|
||||
-->
|
||||
<Target Name="ClearPreviousSBRP"
|
||||
Condition="Exists('$(RepoManifestFile)')"
|
||||
BeforeTargets="CopyRepoArtifacts"
|
||||
DependsOnTargets="RepoBuild">
|
||||
<!-- Building SBRP: At this point the References directory contains the previously-source-built SBRPs,
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,87 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nikola Milosavljevic <nikolam@microsoft.com>
|
||||
Date: Thu, 7 Mar 2024 21:11:28 +0000
|
||||
Subject: [PATCH] Enable publishing in VMR
|
||||
|
||||
Backport: https://github.com/dotnet/aspnetcore/pull/54422
|
||||
---
|
||||
eng/Publishing.props | 10 +++++++++-
|
||||
eng/build.sh | 9 +++++++++
|
||||
2 files changed, 18 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/eng/Publishing.props b/eng/Publishing.props
|
||||
index 7edbb21d21..d00d8d91d2 100644
|
||||
--- a/eng/Publishing.props
|
||||
+++ b/eng/Publishing.props
|
||||
@@ -38,6 +38,8 @@
|
||||
<!-- Remove wixpacks if not doing post-build signing, since they are not needed -->
|
||||
<_InstallersToPublish Remove="@(WixPacksToPublish)" Condition="'$(PostBuildSign)' != 'true'" />
|
||||
<_ChecksumsToPublish Include="$(ArtifactsDir)installers\**\*.sha512" />
|
||||
+ <!-- Version file, for VMR build -->
|
||||
+ <_VersionFileToPublish Include="$(ArtifactsDir)installers\**\aspnetcore_base_runtime.version" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target
|
||||
@@ -64,7 +66,7 @@
|
||||
the nupkgs pushed. Do not do this if building from source, since we want the source build intermediate package
|
||||
to be published. Use ArcadeBuildFromSource as DotNetBuildFromSource is only set in the internal source build,
|
||||
and Build.proj is invoked from the wrapper build. -->
|
||||
- <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(ArcadeBuildFromSource)' != 'true'" />
|
||||
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
|
||||
|
||||
<ItemsToPushToBlobFeed Include="@(_ChecksumsToPublish)">
|
||||
<ManifestArtifactData>NonShipping=true</ManifestArtifactData>
|
||||
@@ -72,6 +74,12 @@
|
||||
<RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
|
||||
</ItemsToPushToBlobFeed>
|
||||
|
||||
+ <ItemsToPushToBlobFeed Include="@(_VersionFileToPublish)">
|
||||
+ <ManifestArtifactData>NonShipping=true</ManifestArtifactData>
|
||||
+ <PublishFlatContainer>true</PublishFlatContainer>
|
||||
+ <RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
|
||||
+ </ItemsToPushToBlobFeed>
|
||||
+
|
||||
<ItemsToPushToBlobFeed Include="@(_InstallersToPublish)" Condition="! $([System.String]::Copy('%(Filename)').ToLower().Contains('internal'))">
|
||||
<ManifestArtifactData>NonShipping=false</ManifestArtifactData>
|
||||
<PublishFlatContainer>true</PublishFlatContainer>
|
||||
diff --git a/eng/build.sh b/eng/build.sh
|
||||
index 51a2cd6ecd..cfc42f1ceb 100755
|
||||
--- a/eng/build.sh
|
||||
+++ b/eng/build.sh
|
||||
@@ -18,6 +18,7 @@ verbosity='minimal'
|
||||
run_restore=''
|
||||
run_build=true
|
||||
run_pack=false
|
||||
+run_publish=false
|
||||
run_tests=false
|
||||
build_all=false
|
||||
build_deps=true
|
||||
@@ -62,6 +63,7 @@ Options:
|
||||
--[no-]build Compile projects. (Implies --no-restore)
|
||||
--[no-]pack Produce packages.
|
||||
--[no-]test Run tests.
|
||||
+ --[no-]publish Run publish.
|
||||
|
||||
--projects A list of projects to build. (Must be an absolute path.)
|
||||
Globbing patterns are supported, such as \"$(pwd)/**/*.csproj\".
|
||||
@@ -152,6 +154,12 @@ while [[ $# -gt 0 ]]; do
|
||||
-no-pack|-nopack)
|
||||
run_pack=false
|
||||
;;
|
||||
+ -publish)
|
||||
+ run_publish=true
|
||||
+ ;;
|
||||
+ -no-publish|-nopublish)
|
||||
+ run_publish=false
|
||||
+ ;;
|
||||
-test|-t)
|
||||
run_tests=true
|
||||
;;
|
||||
@@ -286,6 +294,7 @@ if [ "$run_build" = false ]; then
|
||||
msbuild_args[${#msbuild_args[*]}]="-p:NoBuild=true"
|
||||
fi
|
||||
msbuild_args[${#msbuild_args[*]}]="-p:Pack=$run_pack"
|
||||
+msbuild_args[${#msbuild_args[*]}]="-p:Publish=$run_publish"
|
||||
msbuild_args[${#msbuild_args[*]}]="-p:Test=$run_tests"
|
||||
|
||||
msbuild_args[${#msbuild_args[*]}]="-p:TargetArchitecture=$target_arch"
|
|
@ -0,0 +1,42 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nikola Milosavljevic <nikolam@microsoft.com>
|
||||
Date: Thu, 7 Mar 2024 21:41:56 +0000
|
||||
Subject: [PATCH] Enable publishing in VMR
|
||||
|
||||
Backport: https://github.com/dotnet/fsharp/pull/16838
|
||||
---
|
||||
eng/Publishing.props | 22 ++++++++++++++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/eng/Publishing.props b/eng/Publishing.props
|
||||
index 18483e92a..90a2b9cbf 100644
|
||||
--- a/eng/Publishing.props
|
||||
+++ b/eng/Publishing.props
|
||||
@@ -1,5 +1,27 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<PublishingVersion>3</PublishingVersion>
|
||||
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishPackages</PublishDependsOnTargets>
|
||||
</PropertyGroup>
|
||||
+
|
||||
+ <ItemGroup>
|
||||
+ <_PackagesToPublish Remove="@(_PackagesToPublish)" />
|
||||
+ <_PackagesToPublish Include="$(ArtifactsPackagesDir)**\*.nupkg" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <Target Name="_PublishPackages">
|
||||
+ <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. Do not do this if building from source, since we want the source build intermediate package
|
||||
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
|
||||
+ and Build.proj is invoked from the wrapper build. -->
|
||||
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
|
||||
+
|
||||
+ <ItemsToPushToBlobFeed Include="@(_PackagesToPublish)">
|
||||
+ <IsShipping>true</IsShipping>
|
||||
+ </ItemsToPushToBlobFeed>
|
||||
+ </ItemGroup>
|
||||
+ </Target>
|
||||
+
|
||||
</Project>
|
|
@ -0,0 +1,109 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nikola Milosavljevic <nikolam@microsoft.com>
|
||||
Date: Thu, 7 Mar 2024 21:20:16 +0000
|
||||
Subject: [PATCH] Enable publishing in VMR
|
||||
|
||||
Backport: https://github.com/NuGet/NuGet.Client/pull/5673
|
||||
---
|
||||
Directory.Packages.props | 1 +
|
||||
eng/Publishing.props | 31 ++++++++++++++++++++++++++
|
||||
eng/source-build/source-build.proj | 35 ++++++++++++++++++++++++++++++
|
||||
3 files changed, 67 insertions(+)
|
||||
create mode 100644 eng/Publishing.props
|
||||
|
||||
diff --git a/Directory.Packages.props b/Directory.Packages.props
|
||||
index 5de784200..789f9493f 100644
|
||||
--- a/Directory.Packages.props
|
||||
+++ b/Directory.Packages.props
|
||||
@@ -179,6 +179,7 @@
|
||||
<_allowBuildFromSourcePackage Include="Microsoft.Build.Utilities.Core" />
|
||||
<_allowBuildFromSourcePackage Include="Microsoft.Build" />
|
||||
<_allowBuildFromSourcePackage Include="Microsoft.CSharp" />
|
||||
+ <_allowBuildFromSourcePackage Include="Microsoft.DotNet.Build.Tasks.Feed" />
|
||||
<_allowBuildFromSourcePackage Include="Microsoft.Extensions.CommandLineUtils.Sources" />
|
||||
<_allowBuildFromSourcePackage Include="Microsoft.Extensions.FileProviders.Abstractions" />
|
||||
<_allowBuildFromSourcePackage Include="Microsoft.Extensions.FileSystemGlobbing" />
|
||||
diff --git a/eng/Publishing.props b/eng/Publishing.props
|
||||
new file mode 100644
|
||||
index 000000000..81f0204a7
|
||||
--- /dev/null
|
||||
+++ b/eng/Publishing.props
|
||||
@@ -0,0 +1,31 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<Project>
|
||||
+ <PropertyGroup>
|
||||
+ <PublishingVersion>3</PublishingVersion>
|
||||
+ <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
|
||||
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishPackages</PublishDependsOnTargets>
|
||||
+ </PropertyGroup>
|
||||
+
|
||||
+ <ItemGroup>
|
||||
+ <_PackagesToPublish Remove="@(_PackagesToPublish)" />
|
||||
+ <_PackagesToPublish Include="$(ArtifactsDir)nupkgs/*.nupkg" UploadPathSegment="nuget-client" Condition="'$(DotNetBuildFromSource)' == 'true'" />
|
||||
+ <_SymbolsPackages Include="$(ArtifactsDir)nupkgs/*.symbols.nupkg" />
|
||||
+ <_PackagesToPublish Remove="@(_SymbolsPackages)" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <Target Name="_PublishPackages">
|
||||
+ <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. Do not do this if building from source, since we want the source build intermediate package
|
||||
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
|
||||
+ and Build.proj is invoked from the wrapper build. -->
|
||||
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
|
||||
+
|
||||
+ <ItemsToPushToBlobFeed Include="@(_PackagesToPublish)">
|
||||
+ <IsShipping>true</IsShipping>
|
||||
+ </ItemsToPushToBlobFeed>
|
||||
+ </ItemGroup>
|
||||
+ </Target>
|
||||
+
|
||||
+</Project>
|
||||
\ No newline at end of file
|
||||
diff --git a/eng/source-build/source-build.proj b/eng/source-build/source-build.proj
|
||||
index 612811d81..3485a4212 100644
|
||||
--- a/eng/source-build/source-build.proj
|
||||
+++ b/eng/source-build/source-build.proj
|
||||
@@ -62,6 +62,41 @@
|
||||
Properties="Configuration=$(BuildConfiguration);DotNetBuildFromSource=true"
|
||||
Targets="PackXPlat" />
|
||||
|
||||
+ <ItemGroup>
|
||||
+ <_AfterSourceBuildProperties Include="_NETCORE_ENGINEERING_TELEMETRY=AfterSourceBuild" />
|
||||
+ <_AfterSourceBuildProperties Include="ArcadeBuildFromSource=true"/>
|
||||
+ <_AfterSourceBuildProperties Include="ArcadeInnerBuildFromSource=true"/>
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <MSbuild Projects="$(ArcadeDir)/SourceBuild/AfterSourceBuild.proj"
|
||||
+ Properties="@(_AfterSourceBuildProperties)"
|
||||
+ />
|
||||
+
|
||||
+ <ItemGroup>
|
||||
+ <_PublishProperties Include="_NETCORE_ENGINEERING_TELEMETRY=Publish" />
|
||||
+ <_PublishProperties Include="Configuration=$(Configuration)" />
|
||||
+ <_PublishProperties Include="ArcadeBuildFromSource=$(ArcadeBuildFromSource)" />
|
||||
+ <_PublishProperties Include="ArcadeInnerBuildFromSource=true" />
|
||||
+ <_PublishProperties Include="DotNetBuildFromSource=$(DotNetBuildFromSource)" />
|
||||
+ <_PublishProperties Include="DotNetBuildFromSourceFlavor=$(DotNetBuildFromSourceFlavor)" />
|
||||
+ <_PublishProperties Include="DotNetBuildInnerRepo=true" />
|
||||
+ <_PublishProperties Include="DotNetBuildOrchestrator=$(DotNetBuildOrchestrator)" />
|
||||
+ <_PublishProperties Include="DotNetBuildPhase=InnerRepo" />
|
||||
+ <_PublishProperties Include="DotNetBuildRepo=$(DotNetBuildRepo)" />
|
||||
+ <_PublishProperties Include="DotNetBuildSourceOnly=$(DotNetBuildSourceOnly)" />
|
||||
+ <_PublishProperties Include="DotNetPublishUsingPipelines=true" />
|
||||
+ <_PublishProperties Include="PublishToSymbolServer=false" />
|
||||
+ <_PublishProperties Include="AssetsLocalStorageDir=$(SourceBuiltAssetsDir)" />
|
||||
+ <_PublishProperties Include="ShippingPackagesLocalStorageDir=$(SourceBuiltShippingPackagesDir)" />
|
||||
+ <_PublishProperties Include="NonShippingPackagesLocalStorageDir=$(SourceBuiltNonShippingPackagesDir)" />
|
||||
+ <_PublishProperties Include="AssetManifestsLocalStorageDir=$(SourceBuiltAssetManifestsDir)" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <MSBuild Projects="$(ArcadeDir)Publish.proj"
|
||||
+ Properties="@(_PublishProperties)"
|
||||
+ Targets="Publish"
|
||||
+ Condition="'$(DotNetBuildOrchestrator)' == 'true'" />
|
||||
+
|
||||
</Target>
|
||||
|
||||
<Target Name="ApplySourceBuildPatchFiles">
|
|
@ -0,0 +1,50 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nikola Milosavljevic <nikolam@microsoft.com>
|
||||
Date: Thu, 7 Mar 2024 21:52:02 +0000
|
||||
Subject: [PATCH] Enable publishing in VMR
|
||||
|
||||
Backport: https://github.com/dotnet/roslyn-analyzers/pull/7233
|
||||
---
|
||||
eng/Publishing.props | 32 +++++++++++++++++++++++++++-----
|
||||
1 file changed, 27 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/eng/Publishing.props b/eng/Publishing.props
|
||||
index 579a1360d..c71638ecb 100644
|
||||
--- a/eng/Publishing.props
|
||||
+++ b/eng/Publishing.props
|
||||
@@ -1,7 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
- <PropertyGroup>
|
||||
- <PublishingVersion>3</PublishingVersion>
|
||||
- <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
|
||||
- </PropertyGroup>
|
||||
-</Project>
|
||||
+ <PropertyGroup>
|
||||
+ <PublishingVersion>3</PublishingVersion>
|
||||
+ <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
|
||||
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishPackages</PublishDependsOnTargets>
|
||||
+ </PropertyGroup>
|
||||
+
|
||||
+ <ItemGroup>
|
||||
+ <_PackagesToPublish Remove="@(_PackagesToPublish)" />
|
||||
+ <_PackagesToPublish Include="$(ArtifactsPackagesDir)**\*.nupkg" UploadPathSegment="Roslyn-analyzers" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <Target Name="_PublishPackages">
|
||||
+ <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. Do not do this if building from source, since we want the source build intermediate package
|
||||
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
|
||||
+ and Build.proj is invoked from the wrapper build. -->
|
||||
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
|
||||
+
|
||||
+ <ItemsToPushToBlobFeed Include="@(_PackagesToPublish)">
|
||||
+ <IsShipping>true</IsShipping>
|
||||
+ </ItemsToPushToBlobFeed>
|
||||
+ </ItemGroup>
|
||||
+ </Target>
|
||||
+
|
||||
+</Project>
|
||||
\ No newline at end of file
|
|
@ -0,0 +1,104 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nikola Milosavljevic <nikolam@microsoft.com>
|
||||
Date: Thu, 7 Mar 2024 21:59:41 +0000
|
||||
Subject: [PATCH] Enable publishing in VMR
|
||||
|
||||
Backport: https://github.com/dotnet/runtime/pull/99432
|
||||
---
|
||||
eng/DotNetBuild.props | 10 ++++++++
|
||||
eng/Publishing.props | 54 +++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 64 insertions(+)
|
||||
|
||||
diff --git a/eng/DotNetBuild.props b/eng/DotNetBuild.props
|
||||
index a6350c7fea9..c7ee305fecc 100644
|
||||
--- a/eng/DotNetBuild.props
|
||||
+++ b/eng/DotNetBuild.props
|
||||
@@ -45,6 +45,10 @@
|
||||
<!-- Properties that control source-only build configurations should be added to the repository and guarded with DotNetBuildSourceOnly conditions.
|
||||
This allows to build the repository using './build.sh <args> /p:DotNetBuildSourceOnly=true'.
|
||||
Properties that control flags from the VMR build, and the expected output for the VMR build should be added to this file. -->
|
||||
+
|
||||
+ <!-- Enable regular Arcade publishing in VMR build -->
|
||||
+ <InnerBuildArgs Condition="'$(DotNetBuildFromSourceFlavor)' == 'Product' or '$(DotNetBuildOrchestrator)' == 'true'">$(InnerBuildArgs) $(FlagParameterPrefix)restore $(FlagParameterPrefix)build $(FlagParameterPrefix)publish</InnerBuildArgs>
|
||||
+
|
||||
<InnerBuildArgs>$(InnerBuildArgs) $(FlagParameterPrefix)arch $(TargetArch)</InnerBuildArgs>
|
||||
<InnerBuildArgs Condition="'$(DotNetBuildSourceOnly)' != 'true'">$(InnerBuildArgs) $(FlagParameterPrefix)os $(TargetOS)</InnerBuildArgs>
|
||||
<InnerBuildArgs Condition="'$(TargetArch)' != '$(_hostArch)' and '$(ShortStack)' != 'true'">$(InnerBuildArgs) $(FlagParameterPrefix)cross</InnerBuildArgs>
|
||||
@@ -74,6 +78,12 @@
|
||||
<InnerBuildArgs Condition="'$(ContinuousIntegrationBuild)' != ''">$(InnerBuildArgs) /p:ContinuousIntegrationBuild=$(ContinuousIntegrationBuild)</InnerBuildArgs>
|
||||
<InnerBuildArgs Condition="'$(PortableBuild)' != ''">$(InnerBuildArgs) /p:PortableBuild=$(PortableBuild)</InnerBuildArgs>
|
||||
<InnerBuildArgs Condition="'$(RestoreConfigFile)' != ''">$(InnerBuildArgs) /p:RestoreConfigFile=$(RestoreConfigFile)</InnerBuildArgs>
|
||||
+
|
||||
+ <!-- Pass locations for assets and packages -->
|
||||
+ <InnerBuildArgs Condition="'$(SourceBuiltAssetsDir)' != ''">$(InnerBuildArgs) /p:SourceBuiltAssetsDir=$(SourceBuiltAssetsDir)</InnerBuildArgs>
|
||||
+ <InnerBuildArgs Condition="'$(SourceBuiltShippingPackagesDir)' != ''">$(InnerBuildArgs) /p:SourceBuiltShippingPackagesDir=$(SourceBuiltShippingPackagesDir)</InnerBuildArgs>
|
||||
+ <InnerBuildArgs Condition="'$(SourceBuiltNonShippingPackagesDir)' != ''">$(InnerBuildArgs) /p:SourceBuiltNonShippingPackagesDir=$(SourceBuiltNonShippingPackagesDir)</InnerBuildArgs>
|
||||
+ <InnerBuildArgs Condition="'$(SourceBuiltAssetManifestsDir)' != ''">$(InnerBuildArgs) /p:SourceBuiltAssetManifestsDir=$(SourceBuiltAssetManifestsDir)</InnerBuildArgs>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
diff --git a/eng/Publishing.props b/eng/Publishing.props
|
||||
index 8b796225f82..348da87600d 100644
|
||||
--- a/eng/Publishing.props
|
||||
+++ b/eng/Publishing.props
|
||||
@@ -2,6 +2,60 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
|
||||
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishInstallers</PublishDependsOnTargets>
|
||||
</PropertyGroup>
|
||||
|
||||
+ <ItemGroup>
|
||||
+ <_InstallersToPublish Remove="@(_InstallersToPublish)" />
|
||||
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.tar.gz" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.zip" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.deb" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.rpm" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.exe" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.msi" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <Target Name="_PublishInstallers">
|
||||
+
|
||||
+ <ItemGroup>
|
||||
+ <_SymbolsArchive Include="$(ArtifactsPackagesDir)**\Symbols.runtime.tar.gz" Condition="'$(DotNetBuildFromSource)' == 'true'" />
|
||||
+ <!-- Exclude Symbols archive as it is already included, with correct blob path, in Publish.proj. -->
|
||||
+ <_InstallersToPublish Remove="@(_SymbolsArchive)" Condition="'$(DotNetBuildFromSource)' == 'true'" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <!-- Discover the runtime package version from dotnet-runtime-<version-<Rid>.<Extension> archive. -->
|
||||
+ <PropertyGroup>
|
||||
+ <_RuntimeFilenamePrefix>dotnet-runtime-</_RuntimeFilenamePrefix>
|
||||
+ <_PackageRid>$(OutputRID)</_PackageRid>
|
||||
+ <!-- Use TargetRid if OutputRID isn't available, i.e. on Windows. -->
|
||||
+ <_PackageRid Condition="'$(_PackageRid)' == ''">$(TargetRid)</_PackageRid>
|
||||
+ </PropertyGroup>
|
||||
+ <ItemGroup>
|
||||
+ <_RuntimeArchiveItem Include="$(ArtifactsPackagesDir)**\$(_RuntimeFilenamePrefix)*$(_PackageRid)$(ArchiveExtension)" />
|
||||
+ <_RuntimeInternalArchiveItem Include="$(ArtifactsPackagesDir)**\dotnet-runtime-internal*$(_PackageRid)$(ArchiveExtension)" />
|
||||
+ <_RuntimeArchiveItem Remove="@(_RuntimeInternalArchiveItem)" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <!-- Extract runtime version from runtime archive filename. -->
|
||||
+ <PropertyGroup>
|
||||
+ <_RuntimeArchiveFilename>%(_RuntimeArchiveItem.Filename)%(_RuntimeArchiveItem.Extension)</_RuntimeArchiveFilename>
|
||||
+ <_RuntimeVersion>$(_RuntimeArchiveFilename.Replace('$(_RuntimeFilenamePrefix)','').Replace('-$(_PackageRid)$(ArchiveExtension)',''))</_RuntimeVersion>
|
||||
+ </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. Do not do this if building from source, since we want the source build intermediate package
|
||||
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
|
||||
+ and Build.proj is invoked from the wrapper build. -->
|
||||
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
|
||||
+
|
||||
+ <ItemsToPushToBlobFeed Include="@(_InstallersToPublish)">
|
||||
+ <ManifestArtifactData>NonShipping=false</ManifestArtifactData>
|
||||
+ <PublishFlatContainer>true</PublishFlatContainer>
|
||||
+ <RelativeBlobPath>%(_InstallersToPublish.UploadPathSegment)/$(_RuntimeVersion)/%(Filename)%(Extension)</RelativeBlobPath>
|
||||
+ </ItemsToPushToBlobFeed>
|
||||
+ </ItemGroup>
|
||||
+ </Target>
|
||||
+
|
||||
</Project>
|
|
@ -0,0 +1,83 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nikola Milosavljevic <nikolam@microsoft.com>
|
||||
Date: Tue, 12 Mar 2024 22:54:09 +0000
|
||||
Subject: [PATCH] Enable publishing in VMR
|
||||
|
||||
Backport: https://github.com/dotnet/sdk/pull/39311
|
||||
---
|
||||
eng/Publishing.props | 37 ++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 34 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/eng/Publishing.props b/eng/Publishing.props
|
||||
index 0e6e2ec2fb..e95cf5b80b 100644
|
||||
--- a/eng/Publishing.props
|
||||
+++ b/eng/Publishing.props
|
||||
@@ -15,7 +15,7 @@
|
||||
<SdkAssetManifestFileName>$(OS)-$(PlatformName)-SdkAssets.xml</SdkAssetManifestFileName>
|
||||
<SdkAssetsManifestFilePath>$(ArtifactsLogDir)AssetManifest\$(SdkAssetManifestFileName)</SdkAssetsManifestFilePath>
|
||||
|
||||
- <TempWorkingDirectory>$(ArtifactsDir)\..\AssetsTmpDir\$([System.Guid]::NewGuid())</TempWorkingDirectory>
|
||||
+ <TempWorkingDirectory>$(ArtifactsDir)\AssetsTmpDir\$([System.Guid]::NewGuid())</TempWorkingDirectory>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Pulled from arcade's publish.proj see https://github.com/dotnet/arcade/issues/5790 for
|
||||
@@ -78,7 +78,7 @@
|
||||
<ItemsToPushToBlobFeed Include="@(FSharpPackagesToPush)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
-
|
||||
+
|
||||
<!-- We use a separate target to publish this to blob storage so that we can push this to
|
||||
a relative path inside the blob storage. -->
|
||||
<Target Name="PublishToolsetAssets" DependsOnTargets="ReadToolsetVersion" BeforeTargets="Publish">
|
||||
@@ -98,11 +98,15 @@
|
||||
<IsStableBuild>false</IsStableBuild>
|
||||
<IsStableBuild Condition="'$(DotNetFinalVersionKind)' == 'release'">true</IsStableBuild>
|
||||
</PropertyGroup>
|
||||
-
|
||||
|
||||
<MakeDir Directories="$(TempWorkingDirectory)"/>
|
||||
|
||||
+ <!--
|
||||
+ Delete PushToAzureDevOpsArtifacts task and remove condition from PushToBuildStorage task
|
||||
+ after this repo picks up arcade with the following change: https://github.com/dotnet/arcade/pull/14559
|
||||
+ -->
|
||||
<PushToAzureDevOpsArtifacts
|
||||
+ Condition="'$(DotNetBuildOrchestrator)' != 'true'"
|
||||
AzureDevOpsCollectionUri="$(SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)"
|
||||
AzureDevOpsProject="$(SYSTEM_TEAMPROJECT)"
|
||||
AzureDevOpsBuildId="$(BUILD_BUILDID)"
|
||||
@@ -123,6 +127,33 @@
|
||||
PublishingVersion="3"
|
||||
IsStableBuild="$(IsStableBuild)" />
|
||||
|
||||
+ <PushToBuildStorage
|
||||
+ Condition="'$(DotNetBuildOrchestrator)' == 'true'"
|
||||
+ AzureDevOpsCollectionUri="$(SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)"
|
||||
+ AzureDevOpsProject="$(SYSTEM_TEAMPROJECT)"
|
||||
+ AzureDevOpsBuildId="$(BUILD_BUILDID)"
|
||||
+ ItemsToPush="@(ToolsetAssetsToPushToBlobFeed)"
|
||||
+ ItemsToSign="@(ItemsToSignPostBuild)"
|
||||
+ CertificatesSignInfo="@(CertificatesSignInfo)"
|
||||
+ StrongNameSignInfo="@(StrongNameSignInfo)"
|
||||
+ FileSignInfo="@(FileSignInfo)"
|
||||
+ FileExtensionSignInfo="@(FileExtensionSignInfo)"
|
||||
+ ManifestBuildData="@(ManifestBuildData)"
|
||||
+ ManifestRepoUri="$(BUILD_REPOSITORY_NAME)"
|
||||
+ ManifestBranch="$(BUILD_SOURCEBRANCH)"
|
||||
+ ManifestBuildId="$(BUILD_BUILDNUMBER)"
|
||||
+ ManifestCommit="$(BUILD_SOURCEVERSION)"
|
||||
+ PublishFlatContainer="true"
|
||||
+ AssetManifestPath="$(SdkAssetsManifestFilePath)"
|
||||
+ AssetsTemporaryDirectory="$(TempWorkingDirectory)"
|
||||
+ PublishingVersion="3"
|
||||
+ IsStableBuild="$(IsStableBuild)"
|
||||
+ PushToLocalStorage="$(PushToLocalStorage)"
|
||||
+ AssetsLocalStorageDir="$(SourceBuiltAssetsDir)"
|
||||
+ ShippingPackagesLocalStorageDir="$(SourceBuiltShippingPackagesDir)"
|
||||
+ NonShippingPackagesLocalStorageDir="$(SourceBuiltNonShippingPackagesDir)"
|
||||
+ AssetManifestsLocalStorageDir="$(SourceBuiltAssetManifestsDir)" />
|
||||
+
|
||||
<Copy
|
||||
SourceFiles="$(SdkAssetsManifestFilePath)"
|
||||
DestinationFolder="$(TempWorkingDirectory)\$(SdkAssetManifestFileName)" />
|
|
@ -0,0 +1,42 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nikola Milosavljevic <nikolam@microsoft.com>
|
||||
Date: Thu, 7 Mar 2024 22:10:43 +0000
|
||||
Subject: [PATCH] Enable publishing in VMR
|
||||
|
||||
Backport: https://github.com/dotnet/source-build-externals/pull/275
|
||||
---
|
||||
eng/Publishing.props | 22 ++++++++++++++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/eng/Publishing.props b/eng/Publishing.props
|
||||
index d3aa836..3629bb8 100644
|
||||
--- a/eng/Publishing.props
|
||||
+++ b/eng/Publishing.props
|
||||
@@ -2,5 +2,27 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<PublishingVersion>3</PublishingVersion>
|
||||
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishPackages</PublishDependsOnTargets>
|
||||
</PropertyGroup>
|
||||
+
|
||||
+ <ItemGroup>
|
||||
+ <_PackagesToPublish Remove="@(_PackagesToPublish)" />
|
||||
+ <_PackagesToPublish Include="$(ArtifactsPackagesDir)**\*.nupkg" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <Target Name="_PublishPackages">
|
||||
+ <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. Do not do this if building from source, since we want the source build intermediate package
|
||||
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
|
||||
+ and Build.proj is invoked from the wrapper build. -->
|
||||
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
|
||||
+
|
||||
+ <ItemsToPushToBlobFeed Include="@(_PackagesToPublish)">
|
||||
+ <IsShipping>true</IsShipping>
|
||||
+ </ItemsToPushToBlobFeed>
|
||||
+ </ItemGroup>
|
||||
+ </Target>
|
||||
+
|
||||
</Project>
|
|
@ -0,0 +1,45 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nikola Milosavljevic <nikolam@microsoft.com>
|
||||
Date: Thu, 7 Mar 2024 22:15:41 +0000
|
||||
Subject: [PATCH] Enable publishing in VMR
|
||||
|
||||
Backport: https://github.com/dotnet/symreader/pull/312
|
||||
---
|
||||
eng/Publishing.props | 28 ++++++++++++++++++++++++++++
|
||||
1 file changed, 28 insertions(+)
|
||||
create mode 100644 eng/Publishing.props
|
||||
|
||||
diff --git a/eng/Publishing.props b/eng/Publishing.props
|
||||
new file mode 100644
|
||||
index 0000000..3629bb8
|
||||
--- /dev/null
|
||||
+++ b/eng/Publishing.props
|
||||
@@ -0,0 +1,28 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<Project>
|
||||
+ <PropertyGroup>
|
||||
+ <PublishingVersion>3</PublishingVersion>
|
||||
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishPackages</PublishDependsOnTargets>
|
||||
+ </PropertyGroup>
|
||||
+
|
||||
+ <ItemGroup>
|
||||
+ <_PackagesToPublish Remove="@(_PackagesToPublish)" />
|
||||
+ <_PackagesToPublish Include="$(ArtifactsPackagesDir)**\*.nupkg" UploadPathSegment="Runtime" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <Target Name="_PublishPackages">
|
||||
+ <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. Do not do this if building from source, since we want the source build intermediate package
|
||||
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
|
||||
+ and Build.proj is invoked from the wrapper build. -->
|
||||
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
|
||||
+
|
||||
+ <ItemsToPushToBlobFeed Include="@(_PackagesToPublish)">
|
||||
+ <IsShipping>true</IsShipping>
|
||||
+ </ItemsToPushToBlobFeed>
|
||||
+ </ItemGroup>
|
||||
+ </Target>
|
||||
+
|
||||
+</Project>
|
|
@ -0,0 +1,57 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nikola Milosavljevic <nikolam@microsoft.com>
|
||||
Date: Thu, 7 Mar 2024 22:19:59 +0000
|
||||
Subject: [PATCH] Enable publishing in VMR
|
||||
|
||||
Backport: https://github.com/dotnet/windowsdesktop/pull/4215
|
||||
---
|
||||
eng/Publishing.props | 40 ++++++++++++++++++++++++++++++++++++----
|
||||
1 file changed, 36 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/eng/Publishing.props b/eng/Publishing.props
|
||||
index a2ad9884..0426da4f 100644
|
||||
--- a/eng/Publishing.props
|
||||
+++ b/eng/Publishing.props
|
||||
@@ -1,5 +1,37 @@
|
||||
<Project>
|
||||
- <PropertyGroup>
|
||||
- <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
|
||||
- </PropertyGroup>
|
||||
-</Project>
|
||||
\ No newline at end of file
|
||||
+
|
||||
+ <PropertyGroup>
|
||||
+ <ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
|
||||
+ <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishInstallers</PublishDependsOnTargets>
|
||||
+ </PropertyGroup>
|
||||
+
|
||||
+ <ItemGroup>
|
||||
+ <_InstallersToPublish Remove="@(_InstallersToPublish)" />
|
||||
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.zip" UploadPathSegment="WindowsDesktop" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.exe" UploadPathSegment="WindowsDesktop" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ <_InstallersToPublish Include="$(ArtifactsPackagesDir)**\*.msi" UploadPathSegment="WindowsDesktop" Condition="'$(DotNetBuildRepo)' == 'true'" />
|
||||
+ </ItemGroup>
|
||||
+
|
||||
+ <Target Name="_PublishInstallers">
|
||||
+
|
||||
+ <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. Do not do this if building from source, since we want the source build intermediate package
|
||||
+ to be published. Use DotNetBuildRepo as DotNetBuildFromSource is only set in the internal source build,
|
||||
+ and Build.proj is invoked from the wrapper build. -->
|
||||
+ <ItemsToPushToBlobFeed Remove="@(ItemsToPushToBlobFeed)" Condition="'$(OS)' != 'Windows_NT' and '$(PostBuildSign)' != 'true' and '$(DotNetBuildRepo)' != 'true'" />
|
||||
+
|
||||
+ <!--
|
||||
+ MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion is x64 version - there is no Rid-specific property.
|
||||
+ TODO: This will need to be updated to support arm64.
|
||||
+ -->
|
||||
+ <ItemsToPushToBlobFeed Include="@(_InstallersToPublish)">
|
||||
+ <ManifestArtifactData>NonShipping=false</ManifestArtifactData>
|
||||
+ <PublishFlatContainer>true</PublishFlatContainer>
|
||||
+ <RelativeBlobPath>%(_InstallersToPublish.UploadPathSegment)/$(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
|
||||
+ </ItemsToPushToBlobFeed>
|
||||
+ </ItemGroup>
|
||||
+ </Target>
|
||||
+
|
||||
+</Project>
|
|
@ -102,23 +102,18 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<!-- Generate the version specific URLs to the targeting packs, runtime packs, etc. -->
|
||||
<!-- VMR builds currently use a flat layout under the provided PublicBaseURL -->
|
||||
<PropertyGroup>
|
||||
<NetRuntimeRootUrl>$(PublicBaseURL)Runtime/$(NetRuntimeBlobVersion)</NetRuntimeRootUrl>
|
||||
<NetRuntimeRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' ">$(PublicBaseURL)</NetRuntimeRootUrl>
|
||||
|
||||
<NetStandardTargetingPackRootUrl>$(OfficialBaseURL)Runtime/$(NETStandardTargetingPackBlobVersion)</NetStandardTargetingPackRootUrl>
|
||||
|
||||
<AspNetCoreSharedFxRootUrl>$(PublicBaseURL)aspnetcore/Runtime/$(AspNetCoreBlobVersion)</AspNetCoreSharedFxRootUrl>
|
||||
<AspNetCoreSharedFxRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' and '$(DotNetBuildSourceOnly)' == 'true'">$(PublicBaseURL)</AspNetCoreSharedFxRootUrl>
|
||||
<!-- Aspnet is not currently built in the VMR. Remove this line when https://github.com/dotnet/source-build/issues/4022 is complete. -->
|
||||
<AspNetCoreSharedFxRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' and '$(DotNetBuildSourceOnly)' != 'true'">$(FallbackPublicBaseURL)aspnetcore/Runtime/$(AspNetCoreBlobVersion)</AspNetCoreSharedFxRootUrl>
|
||||
|
||||
<WinFormsAndWpfSharedFxRootUrl>$(PublicBaseURL)WindowsDesktop/$(WindowsDesktopBlobVersion)</WinFormsAndWpfSharedFxRootUrl>
|
||||
<WinFormsAndWpfSharedFxRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' ">$(PublicBaseURL)</WinFormsAndWpfSharedFxRootUrl>
|
||||
|
||||
<ToolsetArchiveRootUrl>$(PublicBaseURL)Sdk/$(MicrosoftDotnetToolsetInternalPackageVersion)</ToolsetArchiveRootUrl>
|
||||
<ToolsetArchiveRootUrl Condition=" '$(DotNetBuildOrchestrator)' == 'true' ">$(PublicBaseURL)</ToolsetArchiveRootUrl>
|
||||
|
||||
<NetRuntimeDownloadDirectory>$(IntermediateDirectory)/coreSetupDownload/$(MicrosoftNETCoreAppRuntimePackageVersion)</NetRuntimeDownloadDirectory>
|
||||
<CombinedSharedHostAndFrameworkArchive>$(NetRuntimeDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension)</CombinedSharedHostAndFrameworkArchive>
|
||||
|
|
Loading…
Reference in a new issue