Account for source-build in our package build filtering
authorWes Haggard <Wes.Haggard@microsoft.com>
Thu, 29 Mar 2018 17:56:26 +0000 (10:56 -0700)
committerWes Haggard <Wes.Haggard@microsoft.com>
Thu, 29 Mar 2018 21:31:51 +0000 (14:31 -0700)
We need to account for source-build which sets the
OfficialBuildId property to replicate the official builds,
so we also look at the DotNetBuildOffline property to
determine that we should still build the all the packages.

Commit migrated from https://github.com/dotnet/corefx/commit/2219e550dd790a91fe3dd68874c347c711bccc14

src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.builds
src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.builds
src/libraries/pkg/dir.props
src/libraries/pkg/dir.traversal.targets

index a2a9330..431f35e 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
-  <ItemGroup Condition="'$(OfficialBuildId)' == '' Or '$(BuildAllConfigurations)' == 'true'">
+  <ItemGroup Condition="'$(BuildingAnOfficialBuildLeg)' != 'true' Or '$(BuildAllConfigurations)' == 'true'">
     <Project Include="Microsoft.NETCore.Platforms.pkgproj" />
   </ItemGroup>
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
index b903833..0c02cbd 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
-  <ItemGroup Condition="'$(OfficialBuildId)' == '' Or '$(BuildAllConfigurations)' == 'true'">
+  <ItemGroup Condition="'$(BuildingAnOfficialBuildLeg)' != 'true' Or '$(BuildAllConfigurations)' == 'true'">
     <Project Include="Microsoft.NETCore.Targets.pkgproj"/>
   </ItemGroup>
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
index 17a7933..495fa71 100644 (file)
@@ -2,6 +2,13 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <Import Project="..\dir.props" />
 
+  <PropertyGroup>
+    <!-- Used to determine if we should build some packages only once across multiple official build legs.
+         For offline builds we still set OfficialBuildId but we need to build all the packages for a single
+         leg only, so we also take DotNetBuildOffline into account. -->
+    <BuildingAnOfficialBuildLeg Condition="'$(BuildingAnOfficialBuildLeg)' == '' AND '$(OfficialBuildId)' != '' AND '$(DotNetBuildOffline)' != 'true'">true</BuildingAnOfficialBuildLeg>
+  </PropertyGroup>
+
   <!-- Packages opt-in to automatic RID-specific builds by placing a *.RID.props next to their project
        that defines the OfficialBuildRID item: all RIDs targeted by the package -->
   <Import Project="$(MSBuildProjectDirectory)\*.rids.props" />
@@ -16,7 +23,7 @@
     </BuildRID>
   </ItemGroup>
 
-  <!-- create the "Project" item which is the current $(MSBuildProjectName).pkgproj with meta-data for all 
+  <!-- create the "Project" item which is the current $(MSBuildProjectName).pkgproj with meta-data for all
        supported RIDs -->
   <ItemGroup>
     <_project Include="@(BuildRID)">
     <AdditionalLibPackageExcludes Condition="'$(SymbolFileExtension)' != ''" Include="%2A%2A\%2A$(SymbolFileExtension)" />
     <AdditionalSymbolPackageExcludes Condition="'$(LibraryFileExtension)' != ''" Include="%2A%2A\%2A.a;%2A%2A\%2A$(LibraryFileExtension)" />
   </ItemGroup>
-  
+
   <PropertyGroup>
     <!-- BlockStable on private packages by default -->
     <BlockStable Condition="'$(BlockStable)' == '' and $(MSBuildProjectName.Contains('Private'))">true</BlockStable>
   </PropertyGroup>
-  
+
 </Project>
index 049c854..2e651cb 100644 (file)
@@ -2,8 +2,8 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 
   <Import Project="..\dir.traversal.targets" />
-  
-  <PropertyGroup Condition="'$(OfficialBuildId)' != ''">
+
+  <PropertyGroup Condition="'$(BuildingAnOfficialBuildLeg)' == 'true'">
     <!-- During an official build, only build identity packages in the AllConfigurations build -->
     <SkipBuildIdentityPackage Condition="'$(BuildAllConfigurations)' != 'true'">true</SkipBuildIdentityPackage>