publish symbols on FreeBSD (#21179)
[platform/upstream/coreclr.git] / build.proj
index 3889d1c..3af8010 100644 (file)
@@ -11,6 +11,8 @@
 
   <Import Project="dir.traversal.targets" />
 
+  <Import Project="$(ToolsDir)clean.targets" />
+
   <!-- The following properties are in place to keep the behavior of build.cmd while we work on the dev workflow steps. -->
   <PropertyGroup>
     <!-- To disable the restoration of packages, set RestoreDuringBuild=false or pass /p:RestoreDuringBuild=false.-->
     <Delete Files="$(BinDir)SOS.NETCore.*" />
     <Delete Files="$(BinDir)mscorlib.*" />
     <Delete Files="$(BinDir)System.Private.CoreLib.*" />
-  </Target>
-
-  <Target Name="RestoreOptData">
-    <Exec Command="$(DotnetRestoreCommand) $(SourceDir).nuget/optdata/optdata.csproj"
-          StandardOutputImportance="Low" />
+    <Delete Files="$(BinDir)netcoreapp2.0/R2RDump.*" />
   </Target>
 
   <!--
     target, which runs automatically before "Sync". Since no "Sync" target actually exists, go ahead and define one now so that
     the tools are fetched before "Build".
   -->
-  <Target Name="Sync" BeforeTargets="Build" />
+  <Target Name="Sync" BeforeTargets="Build"
+    DependsOnTargets="RestoreOptData;RestoreNETCorePlatforms" />
+
+  <Target Name="RestoreOptData" Condition="'$(RestoreDuringBuild)'=='true' and '$(BuildType)'=='Release'">
+    <PropertyGroup>
+      <_OptimizationDataFeed Condition="'$(DotNetBuildOffline)' != 'true'">--source https://dotnet.myget.org/F/dotnet-core-optimization-data/api/v3/index.json</_OptimizationDataFeed>
+    </PropertyGroup>
 
-  <Target Name="RestoreNETCorePlatforms" AfterTargets="Build" Condition="'$(RestoreDuringBuild)'=='true'">
+    <Exec Command="$(DotnetRestoreCommand) $(_OptimizationDataFeed) $(SourceDir).nuget/optdata/optdata.csproj"
+          StandardOutputImportance="Low" />
+  </Target>
+
+  <Target Name="RestoreNETCorePlatforms" Condition="'$(RestoreDuringBuild)'=='true'">
     <Exec Command="$(DotnetRestoreCommand) $(SourceDir).nuget/init/init.csproj"
           StandardOutputImportance="Low" />
   </Target>
-  
+
+  <Target Name="CleanAllProjects">
+    <Message Condition="Exists($(RootBinDir))" Importance="High" Text="Removing $(RootBinDir)"/>
+    <RemoveDir Directories="$(RootBinDir)" />
+  </Target>
+
 </Project>