diff options
author | Viktor Hofer <viktor.hofer@microsoft.com> | 2020-12-31 13:20:46 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-31 13:20:46 +0300 |
commit | 752c927cf26a3c57190d46b3635de52cc49b203e (patch) | |
tree | ec1be33295834bf0897b8d254f2553b85f5fe6a4 | |
parent | 73b824d38e04001b09520637c33b3070a2606c5e (diff) |
Allow incremental servicing of packages and more packaging infra cleanup (#46447)
* More packaging cleanup
* Add incremental package servicing throughout the repo
* Update dependencies to 6.0.0-beta.20630.3
30 files changed, 79 insertions, 143 deletions
diff --git a/Directory.Build.props b/Directory.Build.props index 3d391c4b443..dad14cfa30c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -207,9 +207,9 @@ <!-- Packaging --> <PropertyGroup> <GitHubRepositoryName>runtime</GitHubRepositoryName> - <RepositoryUrl>git://github.com/dotnet/runtime</RepositoryUrl> - <ProjectUrl>https://github.com/dotnet/runtime</ProjectUrl> - <LicenseUrl>https://github.com/dotnet/runtime/blob/master/LICENSE.TXT</LicenseUrl> + <RepositoryUrl>git://github.com/dotnet/$(GitHubRepositoryName)</RepositoryUrl> + <ProjectUrl>https://github.com/dotnet/$(GitHubRepositoryName)</ProjectUrl> + <LicenseUrl>https://github.com/dotnet/$(GitHubRepositoryName)/blob/master/LICENSE.TXT</LicenseUrl> <RuntimeIdGraphDefinitionFile>$([MSBuild]::NormalizePath('$(LibrariesProjectRoot)', 'pkg', 'Microsoft.NETCore.Platforms', 'runtime.json'))</RuntimeIdGraphDefinitionFile> <LicenseFile>$(MSBuildThisFileDirectory)LICENSE.TXT</LicenseFile> <PackageLicenseExpression>MIT</PackageLicenseExpression> @@ -220,14 +220,19 @@ <!-- Keep it in sync with PRERELEASE in eng/native/configureplatform.cmake --> <IsPrerelease>true</IsPrerelease> <IsExperimentalAssembly>$(MSBuildProjectName.Contains('Experimental'))</IsExperimentalAssembly> + <IsPrivateAssembly>$(MSBuildProjectName.Contains('Private'))</IsPrivateAssembly> <!-- Experimental packages should not be stable --> - <SuppressFinalPackageVersion Condition="'$(SuppressFinalPackageVersion)' == '' and $(IsExperimentalAssembly)">true</SuppressFinalPackageVersion> + <SuppressFinalPackageVersion Condition="'$(SuppressFinalPackageVersion)' == '' and ($(IsExperimentalAssembly) or $(IsPrivateAssembly))">true</SuppressFinalPackageVersion> <IsShippingAssembly Condition="$(IsExperimentalAssembly)">false</IsShippingAssembly> <!-- We don't want Private packages to be shipped to NuGet.org --> <IsShippingPackage Condition="($(MSBuildProjectName.Contains('Private')) or $(IsExperimentalAssembly)) and '$(MSBuildProjectExtension)' == '.pkgproj'">false</IsShippingPackage> - <!-- Set IsPackable true for all pkgproj as Arcade unconditionally overrides the value. --> - <IsPackable Condition="'$(MSBuildProjectExtension)' == '.pkgproj'">true</IsPackable> + <!-- A package isn't generated (in traversal builds) if in servicing or in runtimelab. Intended to be overridden at project level. --> + <GeneratePackage Condition="'$(GeneratePackage)' == ''">true</GeneratePackage> + <GeneratePackage Condition="(('$(PreReleaseVersionLabel)' == 'servicing' or + '$(RepositoryName)' == 'runtimelab') and + '$(BuildAllProjects)' == 'true')">false</GeneratePackage> </PropertyGroup> + <!-- Language configuration --> <PropertyGroup> diff --git a/Directory.Build.targets b/Directory.Build.targets index 764d12bb822..e84ae45d03b 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,4 +1,4 @@ -<Project InitialTargets="ErrorForMissingPackageDescription"> +<Project InitialTargets="ErrorForMissingPackageDescription;_OverridePackDependsOn"> <PropertyGroup> <!-- For non-SDK projects that import this file and then import Microsoft.Common.targets, @@ -53,4 +53,13 @@ Condition="'$(IsPackable)' == 'true' and '$(PackageDescription)' == ''"> <Error Text="Required property 'PackageDescription' is missing for $(MSBuildProjectName)." /> </Target> + + <!-- <GeneratePackage /> controls if a package should be created by clearing out <PackDependsOn />. --> + <Target Name="_OverridePackDependsOn" + Condition="'$(IsPackable)' == 'true' and + '$(GeneratePackage)' != 'true'"> + <PropertyGroup> + <PackDependsOn /> + </PropertyGroup> + </Target> </Project>
\ No newline at end of file diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index eaa6e843fb4..0f984d249f9 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -6,7 +6,7 @@ </Dependency> </ProductDependencies> <ToolsetDependencies> - <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.20621.12"> + <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.20630.3"> <Uri>https://github.com/dotnet/arcade</Uri> <Sha>3ba79fbd73d6765b67d0f75ac9dac148d6bea346</Sha> </Dependency> @@ -38,7 +38,7 @@ <Uri>https://github.com/dotnet/arcade</Uri> <Sha>3ba79fbd73d6765b67d0f75ac9dac148d6bea346</Sha> </Dependency> - <Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.20621.12"> + <Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.20630.3"> <Uri>https://github.com/dotnet/arcade</Uri> <Sha>3ba79fbd73d6765b67d0f75ac9dac148d6bea346</Sha> </Dependency> diff --git a/eng/Versions.props b/eng/Versions.props index 3de3283befd..888a0119503 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -55,7 +55,7 @@ <MicrosoftDotNetXUnitExtensionsVersion>6.0.0-beta.20621.12</MicrosoftDotNetXUnitExtensionsVersion> <MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.20621.12</MicrosoftDotNetXUnitConsoleRunnerVersion> <MicrosoftDotNetBuildTasksArchivesVersion>6.0.0-beta.20621.12</MicrosoftDotNetBuildTasksArchivesVersion> - <MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.20621.12</MicrosoftDotNetBuildTasksPackagingVersion> + <MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.20630.3</MicrosoftDotNetBuildTasksPackagingVersion> <MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.20621.12</MicrosoftDotNetBuildTasksInstallersVersion> <MicrosoftDotNetRemoteExecutorVersion>6.0.0-beta.20621.12</MicrosoftDotNetRemoteExecutorVersion> <MicrosoftDotNetVersionToolsTasksVersion>6.0.0-beta.20621.12</MicrosoftDotNetVersionToolsTasksVersion> diff --git a/eng/packaging.props b/eng/packaging.props index 5a2eee17fe5..07c8426ec49 100644 --- a/eng/packaging.props +++ b/eng/packaging.props @@ -31,13 +31,6 @@ <PropertyGroup> <PkgProjPath>$(MSBuildProjectDirectory)\..\pkg\$(MSBuildProjectName).pkgproj</PkgProjPath> - <!-- Controls if packages for libraries should be created in (traversal) builds. --> - <PackAllLibraries Condition="'$(PackAllLibraries)' == '' and - ('$(PreReleaseVersionLabel)' != 'servicing' or - '$(BuildAllProjects)' != 'true')">true</PackAllLibraries> - <IsPackable Condition="('$(MSBuildProjectExtension)' == '.pkgproj' or - ('$(IsSourceProject)' == 'true' and Exists('$(PkgProjPath)'))) and - '$(PackAllLibraries)' == 'true'">true</IsPackable> </PropertyGroup> <Import Condition="Exists('$(PkgDir)baseline\baseline.props') and '$(MSBuildProjectExtension)' == '.pkgproj'" Project="$(PkgDir)baseline\baseline.props" /> diff --git a/eng/packaging.targets b/eng/packaging.targets index 30a8caa5cbc..1f19f57c98a 100644 --- a/eng/packaging.targets +++ b/eng/packaging.targets @@ -1,4 +1,4 @@ -<Project InitialTargets="_OverridePackDependsOn"> +<Project InitialTargets="_OverridePackDependsOnForCsProjToPkgProj"> <!-- There are some packages where we require only one ref for a specific framework to be present. In order to avoid problems with this package when targetting dektop with RAR we will make sure there are no exclude=compile references in the package. For more info, please check issues: @@ -27,12 +27,13 @@ '%(Dependency.Identity)' != '_._'" /> </Target> - <Target Name="_OverridePackDependsOn" - Condition="'$(IsSourceProject)' == 'true' and - '$(IsPackable)' == 'true' and + <!-- Point to the custom pack target which invokes the pkgproj from a source csproj. --> + <Target Name="_OverridePackDependsOnForCsProjToPkgProj" + Condition="'$(GeneratePackage)' == 'true' and + '$(IsSourceProject)' == 'true' and Exists('$(PkgProjPath)')"> <PropertyGroup> - <!-- Point to the custom pack target which invokes the pkgproj. --> + <IsPackable>true</IsPackable> <PackDependsOn>_BuildPkgProj</PackDependsOn> </PropertyGroup> </Target> diff --git a/global.json b/global.json index 83ebf476de6..a74a53a8bd6 100644 --- a/global.json +++ b/global.json @@ -13,7 +13,7 @@ }, "msbuild-sdks": { "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.20621.12", - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.20621.12", + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.20630.3", "Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "6.0.0-beta.20621.12", "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.20621.12", "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.20621.12", diff --git a/src/coreclr/.nuget/Directory.Build.props b/src/coreclr/.nuget/Directory.Build.props index 1e0b60ec47c..c8c468ebc60 100644 --- a/src/coreclr/.nuget/Directory.Build.props +++ b/src/coreclr/.nuget/Directory.Build.props @@ -1,17 +1,32 @@ -<?xml version="1.0" encoding="utf-8"?> <Project> - <!-- Packaging projects (.pkgproj) are non-SDK-style, so they need to directly import Directory.Build.props --> - <Import Project="../Directory.Build.props" /> - + <Import Project="..\Directory.Build.props" /> <Import Project="$(NuGetPackageRoot)\microsoft.dotnet.build.tasks.packaging\$(MicrosoftDotNetBuildTasksPackagingVersion)\build\Microsoft.DotNet.Build.Tasks.Packaging.props" /> - <Import Project="packaging.props" /> - <PropertyGroup> - <!-- defined in Packaging.targets, but we need this before targets are imported --> + <!-- Defined in Packaging.targets, but we need this before targets are imported --> + <PackagePlatform Condition="'$(PackagePlatform)' == ''">$(Platform)</PackagePlatform> + <PackagePlatform Condition="'$(PackagePlatform)' == 'amd64'">x64</PackagePlatform> + <MinOSForArch>win7</MinOSForArch> + <MinOSForArch Condition="'$(PackagePlatform)' == 'arm'">win8</MinOSForArch> + <MinOSForArch Condition="'$(PackagePlatform)' == 'arm64'">win10</MinOSForArch> <PackagePlatform>AnyCPU</PackagePlatform> + <PackageIndexFile>$(MSBuildThisFileDirectory)packageIndex.json</PackageIndexFile> + + <!-- coreclr doesn't currently use the index so don't force it to be in sync --> + <SkipIndexCheck>true</SkipIndexCheck> + + <!-- Central place to set the versions of all nuget packages produced in the repo --> + <PackageVersion Condition="'$(PackageVersion)' == ''">6.0.0</PackageVersion> + <StableVersion Condition="'$(StabilizePackageVersion)' == 'true' and '$(StableVersion)' == ''">$(PackageVersion)</StableVersion> + </PropertyGroup> + + <ItemGroup> + <PackageIndex Condition="'$(MSBuildProjectExtension)' == '.pkgproj'" Include="$(PackageIndexFile)" /> + </ItemGroup> + + <PropertyGroup> <!-- build the transport package which includes product and symbols in addition to standard packages This is a legacy setting as we tend to use symbol packages for symbol indexing and we don't use transport packages to flow dependencies anymore --> diff --git a/src/coreclr/.nuget/Directory.Build.targets b/src/coreclr/.nuget/Directory.Build.targets index eeab2931cf8..365d5ed7a9c 100644 --- a/src/coreclr/.nuget/Directory.Build.targets +++ b/src/coreclr/.nuget/Directory.Build.targets @@ -1,8 +1,5 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - - <Import Project="../Directory.Build.targets" /> - +<Project> + <Import Project="..\Directory.Build.targets" /> <Import Project="$(NuGetPackageRoot)\microsoft.dotnet.build.tasks.packaging\$(MicrosoftDotNetBuildTasksPackagingVersion)\build\Microsoft.DotNet.Build.Tasks.Packaging.targets" /> <!-- diff --git a/src/coreclr/.nuget/Microsoft.CrossOsDiag.Private.CoreCLR/Microsoft.CrossOsDiag.Private.CoreCLR.proj b/src/coreclr/.nuget/Microsoft.CrossOsDiag.Private.CoreCLR/Microsoft.CrossOsDiag.Private.CoreCLR.proj index 1b1eb74c02a..3d55714b489 100644 --- a/src/coreclr/.nuget/Microsoft.CrossOsDiag.Private.CoreCLR/Microsoft.CrossOsDiag.Private.CoreCLR.proj +++ b/src/coreclr/.nuget/Microsoft.CrossOsDiag.Private.CoreCLR/Microsoft.CrossOsDiag.Private.CoreCLR.proj @@ -1,17 +1,15 @@ -<Project> - <Import Sdk="Microsoft.Build.Traversal" Project="Sdk.props" /> - +<Project Sdk="Microsoft.Build.Traversal"> <PropertyGroup> <BuildIdentityPackage>false</BuildIdentityPackage> <SupportedRids>linux-x64;linux-musl-x64;linux-arm64;linux-musl-arm64;linux-arm;linux-musl-arm</SupportedRids> </PropertyGroup> - <Target Name="VerifyCrossDacProperties" BeforeTargets="Build"> + <Target Name="VerifyCrossDacProperties" BeforeTargets="Build;Pack"> <Error Condition="'$(CrossDacArtifactsDir)' == '' or !Exists('$(CrossDacArtifactsDir)')" Text="Packaging the Cross OS DAC requires property CrossDacArtifactsDir to to a path containing all cross OS DAC assets needed." /> </Target> - <Target Name="FilterSupportedCrossOsDacPackages" BeforeTargets="Build"> + <Target Name="FilterSupportedCrossOsDacPackages" BeforeTargets="Build;Pack"> <ItemGroup> <_projectsToBuild Include="@(Project)" Condition="$(SupportedRids.Contains('%(Project.PackageTargetRuntime)'))"> <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-x64'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux.x64.$(Configuration)/x64</AdditionalProperties> @@ -29,8 +27,4 @@ </Target> <Import Project="$([MSBuild]::GetPathOfFileAbove(versioning.targets))" /> - <Import Sdk="Microsoft.Build.Traversal" Project="Sdk.targets" /> - - <!-- Ordering matters! Overwriting the Pack target which should just invoke Build. --> - <Target Name="Pack" DependsOnTargets="Build" /> </Project> diff --git a/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/sdk/Sdk.props b/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/sdk/Sdk.props index d539c1d84bf..95af489da45 100644 --- a/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/sdk/Sdk.props +++ b/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/sdk/Sdk.props @@ -12,10 +12,6 @@ Copyright (c) .NET Foundation. All rights reserved. --> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup> - <MSBuildAllProjects>$(MSBuildThisFileFullPath);$(MSBuildAllProjects)</MSBuildAllProjects> - </PropertyGroup> - <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" /> </Project> diff --git a/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/sdk/Sdk.targets b/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/sdk/Sdk.targets index 564ef191b95..71abf1b1566 100644 --- a/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/sdk/Sdk.targets +++ b/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/sdk/Sdk.targets @@ -13,7 +13,6 @@ Copyright (c) .NET Foundation. All rights reserved. <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> - <MSBuildAllProjects>$(MSBuildThisFileFullPath);$(MSBuildAllProjects)</MSBuildAllProjects> <LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.ilproj'">$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.IL.Common.targets</LanguageTargets> </PropertyGroup> diff --git a/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/targets/Microsoft.NET.Sdk.IL.targets b/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/targets/Microsoft.NET.Sdk.IL.targets index 6a286e91706..f9badfc166c 100644 --- a/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/targets/Microsoft.NET.Sdk.IL.targets +++ b/src/coreclr/.nuget/Microsoft.NET.Sdk.IL/targets/Microsoft.NET.Sdk.IL.targets @@ -13,7 +13,6 @@ Copyright (c) .NET Foundation. All rights reserved. <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> - <MSBuildAllProjects>$(MSBuildThisFileFullPath);$(MSBuildAllProjects)</MSBuildAllProjects> <DefaultLanguageSourceExtension>.il</DefaultLanguageSourceExtension> <Language>IL</Language> <TargetRuntime>Managed</TargetRuntime> diff --git a/src/coreclr/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.proj b/src/coreclr/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.proj index 85918b379ea..0ee4b7e705f 100644 --- a/src/coreclr/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.proj +++ b/src/coreclr/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.proj @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="utf-8"?> <Project Sdk="Microsoft.Build.Traversal"> <ItemGroup> <!-- identity project, runtime specific projects are included by props above --> diff --git a/src/coreclr/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.proj b/src/coreclr/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.proj index 85918b379ea..0ee4b7e705f 100644 --- a/src/coreclr/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.proj +++ b/src/coreclr/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.proj @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="utf-8"?> <Project Sdk="Microsoft.Build.Traversal"> <ItemGroup> <!-- identity project, runtime specific projects are included by props above --> diff --git a/src/coreclr/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.proj b/src/coreclr/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.proj index 85918b379ea..0ee4b7e705f 100644 --- a/src/coreclr/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.proj +++ b/src/coreclr/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.proj @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="utf-8"?> <Project Sdk="Microsoft.Build.Traversal"> <ItemGroup> <!-- identity project, runtime specific projects are included by props above --> diff --git a/src/coreclr/.nuget/builds.targets b/src/coreclr/.nuget/builds.targets index 66d4f4e0661..6ae3bf8afcb 100644 --- a/src/coreclr/.nuget/builds.targets +++ b/src/coreclr/.nuget/builds.targets @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="utf-8"?> <Project> <PropertyGroup Condition="'$(BuildIdentityPackage)' == ''"> <BuildIdentityPackage>true</BuildIdentityPackage> @@ -12,7 +11,7 @@ <BuildIdentityPackage Condition="'$(BuildingAnOfficialBuildLeg)' == 'true' AND ('$(OS)' != 'Windows_NT' OR '$(TargetArchitecture)' != 'x64')">false</BuildIdentityPackage> </PropertyGroup> - <Target Name="FilterProjects" BeforeTargets="Build"> + <Target Name="FilterProjects" BeforeTargets="Build;Pack"> <Error Condition="'$(PackageRID)' == ''" Text="'PackageRID' property must be specified."/> <!-- Only build packages for current RID or non-RID-specific --> diff --git a/src/coreclr/.nuget/coreclr-packages.proj b/src/coreclr/.nuget/coreclr-packages.proj index 83b95cd3748..b2ee204645b 100644 --- a/src/coreclr/.nuget/coreclr-packages.proj +++ b/src/coreclr/.nuget/coreclr-packages.proj @@ -1,7 +1,9 @@ -<Project> - <Import Sdk="Microsoft.Build.Traversal" Project="Sdk.props" /> +<Project Sdk="Microsoft.Build.Traversal" DefaultTargets="Pack"> + <PropertyGroup> + <TraversalGlobalProperties>BuildAllProjects=true</TraversalGlobalProperties> + </PropertyGroup> - <ItemGroup Condition="'$(TargetsWindows)'=='true' OR '$(DotNetBuildFromSource)'=='true'"> + <ItemGroup Condition="'$(TargetOS)' == 'windows' or '$(DotNetBuildFromSource)' == 'true'"> <ProjectReference Include="Microsoft.NET.Sdk.IL\Microsoft.NET.Sdk.IL.pkgproj" /> <ProjectReference Include="Microsoft.ILVerification\Microsoft.ILVerification.pkgproj" /> <ProjectReference Include="dotnet-ilverify\dotnet-ilverify.pkgproj" /> @@ -13,10 +15,5 @@ <ProjectReference Include="Microsoft.NETCore.ILDAsm\Microsoft.NETCore.ILDAsm.proj" /> </ItemGroup> - <Import Project="versioning.targets" /> - <Import Sdk="Microsoft.Build.Traversal" Project="Sdk.targets" /> - - <!-- Ordering matters! Overwriting the Pack target which should just invoke Build. --> - <Target Name="Pack" DependsOnTargets="Build" /> </Project> diff --git a/src/coreclr/.nuget/packaging.props b/src/coreclr/.nuget/packaging.props deleted file mode 100644 index 3354bcf8230..00000000000 --- a/src/coreclr/.nuget/packaging.props +++ /dev/null @@ -1,25 +0,0 @@ -<Project> - <PropertyGroup> - <!-- Defined in Packaging.targets, but we need this before targets are imported --> - <PackagePlatform Condition="'$(PackagePlatform)' == ''">$(Platform)</PackagePlatform> - <PackagePlatform Condition="'$(PackagePlatform)' == 'amd64'">x64</PackagePlatform> - <MinOSForArch>win7</MinOSForArch> - <MinOSForArch Condition="'$(PackagePlatform)' == 'arm'">win8</MinOSForArch> - <MinOSForArch Condition="'$(PackagePlatform)' == 'arm64'">win10</MinOSForArch> - - <PackageIndexFile>$(MSBuildThisFileDirectory)packageIndex.json</PackageIndexFile> - - <!-- coreclr doesn't currently use the index so don't force it to be in sync --> - <SkipIndexCheck>true</SkipIndexCheck> - - <!-- Central place to set the versions of all nuget packages produced in the repo --> - <PackageVersion Condition="'$(PackageVersion)' == ''">6.0.0</PackageVersion> - <!-- Set the boolean below to true to generate packages with stabilized versions --> - <StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion> - <StableVersion Condition="'$(StabilizePackageVersion)' == 'true' and '$(StableVersion)' == ''">$(PackageVersion)</StableVersion> - </PropertyGroup> - - <ItemGroup> - <PackageIndex Condition="'$(MSBuildProjectExtension)' == '.pkgproj'" Include="$(PackageIndexFile)" /> - </ItemGroup> -</Project> diff --git a/src/coreclr/.nuget/versioning.targets b/src/coreclr/.nuget/versioning.targets index 6c7ccd3ebc3..f986cdcd987 100644 --- a/src/coreclr/.nuget/versioning.targets +++ b/src/coreclr/.nuget/versioning.targets @@ -4,7 +4,7 @@ We depend on this private Arcade target instead of the SDK-defined GetAssemblyVersion since the packaging build does not use the .NET SDK --> <Target Name="UpdateAdditionalProperties" - BeforeTargets="Build" + BeforeTargets="Build;Pack" DependsOnTargets="_InitializeAssemblyVersion"> <ItemGroup> <!-- Pass the FileVersion calculated by _InitializeAssemblyVersion to referenced projects --> diff --git a/src/coreclr/dir.traversal.targets b/src/coreclr/dir.traversal.targets deleted file mode 100644 index 96ad070bb4a..00000000000 --- a/src/coreclr/dir.traversal.targets +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> - <Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> - - <Target Name="Build"> - <!-- To Serialize we use msbuild's batching functionality '%' to force it to batch all similar projects with the same identity - however since the project names are unique it will essentially force each to run in its own batch --> - <MSBuild Targets="Build" Projects="@(Project)" Condition="'$(SerializeProjects)'=='true'" Properties="Dummy=%(Identity)"/> - <MSBuild Targets="Build" Projects="@(Project)" Condition="'$(SerializeProjects)'!='true'" BuildInParallel="true" /> - </Target> - - <Target Name="Clean"> - <!-- To Serialize we use msbuild's batching functionality '%' to force it to batch all similar projects with the same identity - however since the project names are unique it will essentially force each to run in its own batch --> - <MSBuild Targets="Clean" Projects="@(Project)" Condition="'$(SerializeProjects)'=='true'" Properties="Dummy=%(Identity)"/> - <MSBuild Targets="Clean" Projects="@(Project)" Condition="'$(SerializeProjects)'!='true'" BuildInParallel="true" /> - </Target> - - <Target Name="Rebuild" DependsOnTargets="Clean;Build" /> -</Project>
\ No newline at end of file diff --git a/src/installer/pkg/projects/host-packages.proj b/src/installer/pkg/projects/host-packages.proj index 705c3c92dcc..db9a28ff1a0 100644 --- a/src/installer/pkg/projects/host-packages.proj +++ b/src/installer/pkg/projects/host-packages.proj @@ -1,5 +1,7 @@ -<Project> - <Import Sdk="Microsoft.Build.Traversal" Project="Sdk.props" /> +<Project Sdk="Microsoft.Build.Traversal" DefaultTargets="Pack"> + <PropertyGroup> + <TraversalGlobalProperties>BuildAllProjects=true</TraversalGlobalProperties> + </PropertyGroup> <ItemGroup> <ProjectReference Include="Microsoft.NETCore.DotNetAppHost\Microsoft.NETCore.DotNetAppHost.pkgproj" /> @@ -8,9 +10,4 @@ <ProjectReference Include="Microsoft.NETCore.DotNetHostResolver\Microsoft.NETCore.DotNetHostResolver.pkgproj" /> <ProjectReference Include="@(ProjectReference)" AdditionalProperties="PackageTargetRuntime=$(OutputRid)" /> </ItemGroup> - - <Import Sdk="Microsoft.Build.Traversal" Project="Sdk.targets" /> - - <!-- Ordering matters! Overwriting the Pack target which should just invoke Build. --> - <Target Name="Pack" DependsOnTargets="Build" /> </Project> diff --git a/src/libraries/pkg/Directory.Build.props b/src/libraries/pkg/Directory.Build.props index de0f39ad4d7..4c9f061316e 100644 --- a/src/libraries/pkg/Directory.Build.props +++ b/src/libraries/pkg/Directory.Build.props @@ -39,9 +39,4 @@ <Project Include="@(_project->'$(MSBuildProjectName).pkgproj')" /> </ItemGroup> - <PropertyGroup> - <!-- SuppressFinalPackageVersion on private packages by default --> - <SuppressFinalPackageVersion Condition="'$(SuppressFinalPackageVersion)' == '' and $(MSBuildProjectName.Contains('Private'))">true</SuppressFinalPackageVersion> - </PropertyGroup> - </Project> diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.proj b/src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.proj index 059a85c0247..2f057db4945 100644 --- a/src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.proj +++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.proj @@ -1,7 +1,7 @@ <Project DefaultTargets="Build"> <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props))" /> - <ItemGroup Condition="'$(PackAllLibraries)' == 'true' And ('$(BuildingAnOfficialBuildLeg)' != 'true' Or '$(BuildAllConfigurations)' == 'true')"> + <ItemGroup Condition="'$(BuildingAnOfficialBuildLeg)' != 'true' Or '$(BuildAllConfigurations)' == 'true'"> <Project Include="Microsoft.NETCore.Platforms.pkgproj" /> </ItemGroup> diff --git a/src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.proj b/src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.proj index 5e5f59ceed9..e4f0168e85a 100644 --- a/src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.proj +++ b/src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.proj @@ -1,7 +1,7 @@ <Project DefaultTargets="Build"> <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props))" /> - <ItemGroup Condition="'$(PackAllLibraries)' == 'true' And ('$(BuildingAnOfficialBuildLeg)' != 'true' Or '$(BuildAllConfigurations)' == 'true')"> + <ItemGroup Condition="'$(BuildingAnOfficialBuildLeg)' != 'true' Or '$(BuildAllConfigurations)' == 'true'"> <Project Include="Microsoft.NETCore.Targets.pkgproj"/> </ItemGroup> diff --git a/src/libraries/pkg/runtime.native.System.IO.Ports/netcoreapp.rids.props b/src/libraries/pkg/runtime.native.System.IO.Ports/netcoreapp.rids.props index bb1e49feec9..c5cf15fa735 100644 --- a/src/libraries/pkg/runtime.native.System.IO.Ports/netcoreapp.rids.props +++ b/src/libraries/pkg/runtime.native.System.IO.Ports/netcoreapp.rids.props @@ -1,5 +1,5 @@ <Project> - <ItemGroup Condition="'$(PackAllLibraries)' == 'true'"> + <ItemGroup Condition="'$(GeneratePackage)' == 'true'"> <BuildRID Include="linux-arm"> <Platform>arm</Platform> </BuildRID> diff --git a/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.proj b/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.proj index 07146c206fd..a1ec1ea4bd1 100644 --- a/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.proj +++ b/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.proj @@ -1,7 +1,7 @@ <Project DefaultTargets="Build"> <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props))" /> - <ItemGroup Condition="'$(PackAllLibraries)' == 'true' And '$(BuildAllConfigurations)' == 'true'"> + <ItemGroup Condition="'$(BuildAllConfigurations)' == 'true'"> <!-- identity project built in AllConfigurations leg, runtime specific projects are included through netcoreapp.rids.props --> <Project Include="$(MSBuildProjectName).pkgproj" /> </ItemGroup> diff --git a/src/mono/netcore/nuget/Directory.Build.props b/src/mono/netcore/nuget/Directory.Build.props index 4630ccface1..10b898493df 100644 --- a/src/mono/netcore/nuget/Directory.Build.props +++ b/src/mono/netcore/nuget/Directory.Build.props @@ -1,5 +1,4 @@ <Project> - <!-- Packaging projects (.pkgproj) are non-SDK-style, so they need to directly import Directory.Build.props --> <Import Project="..\..\Directory.Build.props" /> <Import Project="$(NuGetPackageRoot)\microsoft.dotnet.build.tasks.packaging\$(MicrosoftDotNetBuildTasksPackagingVersion)\build\Microsoft.DotNet.Build.Tasks.Packaging.props" /> @@ -13,13 +12,10 @@ <!-- Central place to set the versions of all nuget packages produced in the repo --> <PackageVersion Condition="'$(PackageVersion)' == ''">6.0.0</PackageVersion> - <!-- Set the boolean below to true to generate packages with stabilized versions --> - <StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion> <StableVersion Condition="'$(StabilizePackageVersion)' == 'true' and '$(StableVersion)' == ''">$(PackageVersion)</StableVersion> </PropertyGroup> <ItemGroup> <PackageIndex Condition="'$(MSBuildProjectExtension)' == '.pkgproj'" Include="$(PackageIndexFile)" /> </ItemGroup> - </Project> diff --git a/src/mono/netcore/nuget/Directory.Build.targets b/src/mono/netcore/nuget/Directory.Build.targets index 568d3d34aed..bb62b358d1b 100644 --- a/src/mono/netcore/nuget/Directory.Build.targets +++ b/src/mono/netcore/nuget/Directory.Build.targets @@ -1,8 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - - <Import Project="../../Directory.Build.targets" /> - +<Project> + <Import Project="..\..\Directory.Build.targets" /> <Import Project="$(NuGetPackageRoot)\microsoft.dotnet.build.tasks.packaging\$(MicrosoftDotNetBuildTasksPackagingVersion)\build\Microsoft.DotNet.Build.Tasks.Packaging.targets" /> - </Project> diff --git a/src/mono/netcore/nuget/mono-packages.proj b/src/mono/netcore/nuget/mono-packages.proj index ffb83694dcf..0bea7633761 100644 --- a/src/mono/netcore/nuget/mono-packages.proj +++ b/src/mono/netcore/nuget/mono-packages.proj @@ -1,5 +1,7 @@ -<Project> - <Import Sdk="Microsoft.Build.Traversal" Project="Sdk.props" /> +<Project Sdk="Microsoft.Build.Traversal" DefaultTargets="Pack"> + <PropertyGroup> + <TraversalGlobalProperties>BuildAllProjects=true</TraversalGlobalProperties> + </PropertyGroup> <ItemGroup Condition="'$(TargetOS)' == 'Android'"> <ProjectReference Include="Microsoft.NET.Runtime.Android.Sample.Mono\Microsoft.NET.Runtime.Android.Sample.Mono.pkgproj" /> @@ -13,10 +15,4 @@ <ItemGroup Condition="'$(TargetOS)' == 'iOS'"> <ProjectReference Include="Microsoft.NET.Runtime.iOS.Sample.Mono\Microsoft.NET.Runtime.iOS.Sample.Mono.pkgproj" /> </ItemGroup> - - <Import Sdk="Microsoft.Build.Traversal" Project="Sdk.targets" /> - - <!-- Ordering matters! Overwriting the Pack target which should just invoke Build. --> - <Target Name="Pack" DependsOnTargets="Build"> - </Target> </Project> |