Title:
authorJoel Hendrix <jhendrix@microsoft.com>
Tue, 4 Aug 2015 21:54:40 +0000 (14:54 -0700)
committerJoel Hendrix <jhendrix@microsoft.com>
Tue, 4 Aug 2015 21:54:40 +0000 (14:54 -0700)
   Binplace xplat binaries during official builds

Change Description:

   This is the initial implementation of having our official devdiv razzle builds binplace non-Windows xplat binaries.

   For now xplat binaries are binplaced only during official builds; this can be overridden by specifying /p:GetAllXPlatBinaries=true.  Binplacing is limited to CoreClr builds on amd64 as that's all we build for xplat.
   xplat binaries are pulled directly from Azure; if this becomes problematic we can look at having an internal cache.
   Binaries are pulled from Azure using a checked in copy of azcopy.exe.  For now I have embedded the source key; this will be removed in the future in favor of using a shared access signature.
   At present the build number for the xplat bits is fixed; this will be removed in a future change.
   The binaries are in zip format.  Once downloaded the contents are extracted in a directory under %_nttree% named after the platform; this puts them with the other xplat bits we build on Windows.

[tfs-changeset: 1510395]

dirs.proj
src/dirs.proj

index 51df66a..a595843 100644 (file)
--- a/dirs.proj
+++ b/dirs.proj
@@ -4,7 +4,7 @@
 
   <ItemDefinitionGroup>
     <ProjectFile>
-      <ProductGroups>VS;FX</ProductGroups>
+      <ProductGroups>FX;PK</ProductGroups>
     </ProjectFile>
   </ItemDefinitionGroup>
 
     <BuildInPhase1>true</BuildInPhase1>
     <BuildInPhase2>true</BuildInPhase2>
     <BuildSysBinaries>true</BuildSysBinaries>
+    <!-- for now only binplace the xplat bits during official builds -->
+    <GetAllXPlatBinaries Condition="'$(GetAllXPlatBinaries)' == '' and '$(OfficialBuild)' != ''">true</GetAllXPlatBinaries>
   </PropertyGroup>
 
   <!-- Build in all phases -->
   <ItemGroup>
     <ProjectFile Include="src\dirs.proj" Condition="'$(BuildSysBuildOnlyForARM64)' == 'true'" />
+    <ProjectFile Include="xplat\GetAllXPlatBinaries.proj" Condition="'$(GetAllXPlatBinaries)' == 'true' and '$(FeatureCoreclr)' == 'true' and '$(TargetArch)' == 'amd64'" />
   </ItemGroup>
 
   <!--Import the targets-->
index ded6fb4..9195225 100644 (file)
@@ -4,7 +4,7 @@
 
   <ItemDefinitionGroup>
     <ProjectFile>
-      <ProductGroups>FX</ProductGroups>
+      <ProductGroups>FX;PK</ProductGroups>
     </ProjectFile>
   </ItemDefinitionGroup>
 
@@ -31,7 +31,7 @@
         <ProjectFile Include="md\dirs.proj" />
         <ProjectFile Include="classlibnative\dirs.proj" />
         <ProjectFile Include="strongname\dirs.proj" >
-            <ProductGroups>VS;FX</ProductGroups>
+            <ProductGroups>FX</ProductGroups>
         </ProjectFile>
         <ProjectFile Include="zap\dirs.proj" />
         <ProjectFile Include="gcdump\lib\gcdump.nativeproj" />
@@ -53,7 +53,7 @@
 
         <ProjectFile Include="tools\dirs.proj" />
         <ProjectFile Include="toolbox\dirs.proj" >
-            <ProductGroups>VS;FX</ProductGroups>
+            <ProductGroups>FX</ProductGroups>
         </ProjectFile>
         <ProjectFile Include="misc\misc.proj" />
     </ItemGroup>
@@ -70,7 +70,7 @@
         <ProjectFile Include="bcl\mscorlib.csproj" />
         <ProjectFile Include="managedlibraries\dirs.proj" />
         <ProjectFile Include="config\config.nativeproj" >
-            <ProductGroups>VS;FX</ProductGroups>
+            <ProductGroups>FX</ProductGroups>
         </ProjectFile>
         <ProjectFile Include="usagelog\usagelog.nativeproj" />
         <ProjectFile Include="lhdwshim\dirs.proj" />