Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Remove BuildTools from product build #24841

Merged
merged 3 commits into from
May 30, 2019
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions UpdatePublishedVersions.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ param(
# A pattern matching all packages in the set that the versions repository should be set to.
[Parameter(Mandatory=$true)][string]$nupkgPath)

& "$PSScriptRoot\init-tools.cmd"
& "$PSScriptRoot\dotnet.cmd" msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false `
/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll`;LogFile=binclash.log `
/p:RestoreDefaultOptimizationDataPackage=false `
Expand Down
3 changes: 2 additions & 1 deletion build-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -994,7 +994,8 @@ fi
# init the target distro name
initTargetDistroRid

# Override tool directory
# Restore Build Tools
source $__ProjectRoot/init-tools.sh

if [[ (-z "$__GenerateLayoutOnly") && (-z "$__GenerateTestHostOnly") && (-z "$__BuildTestWrappersOnly") ]]; then
build_Tests
Expand Down
29 changes: 9 additions & 20 deletions build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ set ghprbCommentBody=
:: __BinDir -- default: %__RootBinDir%\%__BuildOS%.%__BuildArch.%__BuildType%\
:: __IntermediatesDir
:: __PackagesBinDir -- default: %__BinDir%\.nuget
:: __TestWorkingDir -- default: %__RootBinDir%\tests\%__BuildOS%.%__BuildArch.%__BuildType%\
::
:: Thus, these variables are not simply internal to this script!

Expand Down Expand Up @@ -377,12 +376,12 @@ REM === Restore optimization profile data
REM ===
REM =========================================================================================

set OptDataProjectFilePath=%__ProjectDir%\src\.nuget\optdata\optdata.csproj
if %__RestoreOptData% EQU 1 (
echo %__MsgPrefix%Restoring the OptimizationData Package
call %__ProjectDir%\dotnet.cmd msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
/p:UsePartialNGENOptimization=false /maxcpucount^
./build.proj /t:RestoreOptData^
call %__ProjectDir%\dotnet.cmd restore /nologo /verbosity:minimal^
/nodeReuse:false /maxcpucount^
%OptDataProjectFilePath%^
%__CommonMSBuildArgs% %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
echo %__MsgPrefix%Error: Failed to restore the optimization data package.
Expand All @@ -391,7 +390,6 @@ if %__RestoreOptData% EQU 1 (
)

REM Parse the optdata package versions out of msbuild so that we can pass them on to CMake
set OptDataProjectFilePath=%__ProjectDir%\src\.nuget\optdata\optdata.csproj
for /f "tokens=*" %%s in ('call "%__ProjectDir%\dotnet.cmd" msbuild "%OptDataProjectFilePath%" /t:DumpPgoDataPackageVersion /nologo') do (
set __PgoOptDataVersion=%%s
)
Expand Down Expand Up @@ -473,9 +471,7 @@ if %__BuildCrossArchNative% EQU 1 (
set __Logging=!_MsbuildLog! !__MsbuildWrn! !__MsbuildErr!

call %__ProjectDir%\cmake_msbuild.cmd /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
/l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
/p:UsePartialNGENOptimization=false /maxcpucount^
/p:PortableBuild=true /maxcpucount^
%__CrossCompIntermediatesDir%\install.vcxproj^
!__Logging! /p:Configuration=%__BuildType% /p:Platform=%__CrossArch% %__CommonMSBuildArgs% %__UnprocessedBuildArgs%

Expand Down Expand Up @@ -561,9 +557,7 @@ if %__BuildNative% EQU 1 (
set __Logging=!__MsbuildLog! !__MsbuildWrn! !__MsbuildErr!

call %__ProjectDir%\cmake_msbuild.cmd /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
/l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
/p:UsePartialNGENOptimization=false /maxcpucount %__IntermediatesDir%\install.vcxproj^
/p:PortableBuild=true /maxcpucount %__IntermediatesDir%\install.vcxproj^
!__Logging! /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__CommonMSBuildArgs% %__UnprocessedBuildArgs%

if not !errorlevel! == 0 (
Expand Down Expand Up @@ -614,9 +608,7 @@ if %__BuildCoreLib% EQU 1 (
set __Logging=!__MsbuildLog! !__MsbuildWrn! !__MsbuildErr!

call %__ProjectDir%\dotnet.cmd restore /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
/p:UsePartialNGENOptimization=false /maxcpucount /p:IncludeRestoreOnlyProjects=true /p:ArcadeBuild=true^
/p:PortableBuild=true /maxcpucount /p:IncludeRestoreOnlyProjects=true /p:ArcadeBuild=true^
%__ProjectDir%\src\build.proj^
!__Logging! %__CommonMSBuildArgs% !__ExtraBuildArgs! %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
Expand All @@ -628,9 +620,7 @@ if %__BuildCoreLib% EQU 1 (
)

call %__ProjectDir%\dotnet.cmd msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
/p:UsePartialNGENOptimization=false /maxcpucount /p:ArcadeBuild=true^
/p:PortableBuild=true /maxcpucount /p:ArcadeBuild=true^
%__ProjectDir%\src\build.proj^
!__Logging! %__CommonMSBuildArgs% !__ExtraBuildArgs! %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
Expand Down Expand Up @@ -835,8 +825,7 @@ if %__BuildPackages% EQU 1 (
powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%~dp0eng\common\build.ps1"^
-r -b -projects %__SourceDir%\.nuget\packages.builds^
-verbosity minimal /nodeReuse:false /bl:!__BuildLog!^
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
/p:UsePartialNGENOptimization=false /p:ArcadeBuild=true^
/p:PortableBuild=true /p:ArcadeBuild=true^
/p:Platform=%__BuildArch% %__CommonMSBuildArgs% %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
echo %__MsgPrefix%Error: Nuget package generation failed. Refer to the build log file for details:
Expand Down
14 changes: 0 additions & 14 deletions build.proj

This file was deleted.

26 changes: 8 additions & 18 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,11 @@ restore_optdata()
# we only need optdata on a Release build
if [[ "$__BuildType" != "Release" ]]; then __SkipRestoreOptData=1; fi

local OptDataProjectFilePath="$__ProjectRoot/src/.nuget/optdata/optdata.csproj"
if [[ ( $__SkipRestoreOptData == 0 ) && ( $__isMSBuildOnNETCoreSupported == 1 ) ]]; then
echo "Restoring the OptimizationData package"
"$__ProjectRoot/dotnet.sh" msbuild /nologo /verbosity:minimal /clp:Summary \
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
/p:UsePartialNGENOptimization=false /maxcpucount \
/t:RestoreOptData ./build.proj \
"$__ProjectRoot/dotnet.sh" restore /nologo /verbosity:minimal /clp:Summary /m \
$OptDataProjectFilePath \
$__CommonMSBuildArgs $__UnprocessedBuildArgs
if [ $? != 0 ]; then
echo "Failed to restore the optimization data package."
Expand All @@ -153,13 +152,12 @@ restore_optdata()
# Parse the optdata package versions out of msbuild so that we can pass them on to CMake
local DotNetCli="$__ProjectRoot/.dotnet/dotnet"
if [ ! -f $DotNetCli ]; then
source "$__ProjectRoot/init-tools.sh"
source "$__ProjectRoot/init-dotnet.sh"
if [ $? != 0 ]; then
echo "Failed to restore buildtools."
echo "Failed to install dotnet."
exit 1
fi
fi
local OptDataProjectFilePath="$__ProjectRoot/src/.nuget/optdata/optdata.csproj"
__PgoOptDataVersion=$(DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 $DotNetCli msbuild $OptDataProjectFilePath /t:DumpPgoDataPackageVersion /nologo)
if [ $? != 0 ]; then
echo "Failed to get PGO data package version."
Expand Down Expand Up @@ -420,9 +418,7 @@ build_CoreLib()
fi

$__ProjectRoot/dotnet.sh restore /nologo /verbosity:minimal /clp:Summary \
/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll\;LogFile=binclash.log \
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
/p:UsePartialNGENOptimization=false /maxcpucount /p:IncludeRestoreOnlyProjects=true /p:ArcadeBuild=true\
/p:PortableBuild=true /maxcpucount /p:IncludeRestoreOnlyProjects=true /p:ArcadeBuild=true\
$__ProjectDir/src/build.proj \
/flp:Verbosity=normal\;LogFile=$__LogsDir/System.Private.CoreLib_$__BuildOS__$__BuildArch__$__BuildType.log \
/p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir \
Expand All @@ -434,9 +430,7 @@ build_CoreLib()
fi

$__ProjectRoot/dotnet.sh msbuild /nologo /verbosity:minimal /clp:Summary \
/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll\;LogFile=binclash.log \
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
/p:UsePartialNGENOptimization=false /maxcpucount /p:ArcadeBuild=true\
/p:PortableBuild=true /maxcpucount /p:ArcadeBuild=true\
$__ProjectDir/src/build.proj \
/flp:Verbosity=normal\;LogFile=$__LogsDir/System.Private.CoreLib_$__BuildOS__$__BuildArch__$__BuildType.log \
/p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir \
Expand Down Expand Up @@ -505,8 +499,7 @@ generate_NugetPackages()
# Package build uses the Arcade system and scripts, relying on it to restore required toolsets as part of build
$__ProjectRoot/eng/common/build.sh -r -b -projects $__SourceDir/.nuget/packages.builds \
-verbosity minimal -bl:$__LogsDir/Nuget_$__BuildOS__$__BuildArch__$__BuildType.binlog \
/p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
/p:UsePartialNGENOptimization=false /p:ArcadeBuild=true \
/p:PortableBuild=true /p:ArcadeBuild=true \
/p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir /p:__DoCrossArchBuild=$__CrossBuild \
$__CommonMSBuildArgs $__UnprocessedBuildArgs

Expand Down Expand Up @@ -1009,10 +1002,7 @@ __MsbuildDebugLogsDir="$__LogsDir/MsbuildDebugLogs"
# Set the remaining variables based upon the determined build configuration
__BinDir="$__RootBinDir/Product/$__BuildOS.$__BuildArch.$__BuildType"
__PackagesBinDir="$__BinDir/.nuget"
__ToolsDir="$__RootBinDir/tools"
__TestWorkingDir="$__RootBinDir/tests/$__BuildOS.$__BuildArch.$__BuildType"
export __IntermediatesDir="$__RootBinDir/obj/$__BuildOS.$__BuildArch.$__BuildType"
__TestIntermediatesDir="$__RootBinDir/tests/obj/$__BuildOS.$__BuildArch.$__BuildType"
__isMSBuildOnNETCoreSupported=0
__CrossComponentBinDir="$__BinDir"

Expand Down
29 changes: 3 additions & 26 deletions dir.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
<Project>
<Import Project="dir.common.props" />

<!-- [ARCADE REMOVE] This entire file can be removed. Properties set by this file should be moved into
dir.common.props and Directory.Build.props as appropriate and projects should stop importing this. -->

<PropertyGroup>
<LangVersion>8.0</LangVersion>
<UseSharedCompilation>true</UseSharedCompilation>
Expand All @@ -12,32 +15,12 @@
<DebugType Condition="'$(DebugType)' == ''">Portable</DebugType>
</PropertyGroup>

<!--
Switching to the .NET Core version of the BuildTools tasks seems to break numerous scenarios, such as VS intellisense and resource designer
as well as running the build on mono. Until we can get these sorted out we will continue using the .NET 4.5 version of the tasks.
-->
<PropertyGroup>
<RunningOnCore>false</RunningOnCore>
<RunningOnCore Condition="'$(MSBuildRuntimeType)' == 'core'">true</RunningOnCore>
<BuildToolsTargetsDesktop>false</BuildToolsTargetsDesktop>
<BuildToolsTargetsDesktop Condition="'$(RunningOnCore)' != 'true'">true</BuildToolsTargetsDesktop>
<BuildToolsTargets45>$(BuildToolsTargetsDesktop)</BuildToolsTargets45>
</PropertyGroup>

<!-- Common properties -->
<PropertyGroup>

<!-- This name is used to create a GIT repository URL https://github.com/dotnet/$(GitHubRepositoryName) used to find source code for debugging -->
<GitHubRepositoryName Condition="'$(GitHubRepositoryName)' == ''">coreclr</GitHubRepositoryName>

<ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)Tools\</ToolsDir>
<DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ProjectDir).dotnet\</DotnetCliPath>
<OverrideToolHost>$(DotnetCliPath)dotnet</OverrideToolHost>
<BuildToolsSemaphore Condition="'$(BuildToolsSemaphore)' == ''">$(ToolsDir)Microsoft.DotNet.Build.Tasks.dll</BuildToolsSemaphore>

<TestWorkingDir>$(__TestWorkingDir)\</TestWorkingDir>
<TestWorkingDir Condition="'$(__TestWorkingDir)'==''">$(RootBinDir)tests\$(PlatformConfigPathPart)\</TestWorkingDir>

<Platform Condition="'$(Platform)' == ''">$(BuildArch)</Platform>
<Platform Condition="'$(Platform)' == 'amd64'">x64</Platform>

Expand All @@ -63,12 +46,6 @@
<OutputPath Condition="'$(OutputPath)' == ''">$(BinDir)</OutputPath>
</PropertyGroup>

<!-- Import Build tools common props file where repo-independent properties are found -->
<Import Condition="Exists('$(ToolsDir)Build.Common.props')" Project="$(ToolsDir)Build.Common.props" />

<!-- Provides properties for dependency versions and configures dependency verification/auto-upgrade. -->
<Import Project="$(ProjectDir)dependencies.props" />

<!-- Use Roslyn Compilers to build -->
<Import Project="$(RoslynPropsFile)" Condition="Exists('$(RoslynPropsFile)')" />
</Project>
23 changes: 0 additions & 23 deletions dir.targets

This file was deleted.

6 changes: 3 additions & 3 deletions dotnet.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ set DOTNET_MULTILEVEL_LOOKUP=0
:: Disable first run since we do not need all ASP.NET packages restored.
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1

:: Restore the Tools directory
call %~dp0init-tools.cmd
REM :: Install dotnet
elinor-fung marked this conversation as resolved.
Show resolved Hide resolved
call %~dp0\init-dotnet.cmd
if NOT [%ERRORLEVEL%]==[0] (
exit /b 1
exit /b %ERRORLEVEL%
)

pushd %~dp0
Expand Down
4 changes: 2 additions & 2 deletions dotnet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ export DOTNET_MULTILEVEL_LOOKUP=0
# Disable first run since we want to control all package sources
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1

echo "Running init-tools.sh"
source $working_tree_root/init-tools.sh
echo "Running init-dotnet.sh"
source $working_tree_root/init-dotnet.sh

dotnet=$working_tree_root/.dotnet/dotnet

Expand Down
3 changes: 2 additions & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
<!-- Always use shipping version instead of dummy versions -->
<DotNetUseShippingVersions>true</DotNetUseShippingVersions>
<PreReleaseVersionLabel>preview6</PreReleaseVersionLabel>
<!-- Opt-out repo features -->
<!-- Opt-in/out repo features -->
<UsingToolMicrosoftNetCompilers>true</UsingToolMicrosoftNetCompilers>
<UsingToolXliff>false</UsingToolXliff>
<!-- Package versions -->
<!-- arcade -->
Expand Down
13 changes: 13 additions & 0 deletions init-dotnet.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@if not defined _echo @echo off
setlocal

echo Installing dotnet using Arcade...
set PS_DOTNET_INSTALL_SCRIPT=". %~dp0eng\configure-toolset.ps1; . %~dp0eng\common\tools.ps1; InitializeBuildTool"
echo running: powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT%
powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT%
if NOT [%ERRORLEVEL%] == [0] (
echo Failed to install dotnet using Arcade.
exit /b %ERRORLEVEL%
)

exit /b 0
15 changes: 15 additions & 0 deletions init-dotnet.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/usr/bin/env bash

__scriptpath=$(cd "$(dirname "$0")"; pwd -P)

echo "Installing dotnet using Arcade..."

source $__scriptpath/eng/configure-toolset.sh
source $__scriptpath/eng/common/tools.sh

InitializeBuildTool

if [ $? != 0 ]; then
echo "Failed to install dotnet using Arcade"
exit $?
fi
5 changes: 1 addition & 4 deletions init-tools.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,8 @@ echo "init-tools.cmd: Setting arch to %_Arch% for build tools"

:ArchSet

echo Installing dotnet cli...
set PS_DOTNET_INSTALL_SCRIPT=". %~dp0eng\configure-toolset.ps1; . %~dp0eng\common\tools.ps1; InitializeBuildTool"
if NOT exist "%DOTNET_CMD%" (
echo running: powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT%
powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT%
call %~dp0init-dotnet.cmd
if NOT exist "%DOTNET_CMD%" (
echo ERROR: Could not install dotnet cli correctly. 1>&2
goto :error
Expand Down
6 changes: 1 addition & 5 deletions init-tools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,7 @@ esac
__PKG_RID=$__PKG_RID-$__PKG_ARCH

if [ ! -e "$__DOTNET_CMD" ]; then
source $__scriptpath/eng/configure-toolset.sh
source $__scriptpath/eng/common/tools.sh

InitializeBuildTool

source $__scriptpath/init-dotnet.sh
if [ ! -e "$__DOTNET_CMD" ]; then
echo "ERROR: Ensure arcade dotnet install did not install dotnet at $__DOTNET_CMD"
exit 1
Expand Down
Loading