diff options
author | jashook <jashoo@microsoft.com> | 2018-03-05 13:35:19 -0800 |
---|---|---|
committer | jashook <jashoo@microsoft.com> | 2018-03-06 16:21:46 -0800 |
commit | 00b9df366d9d0407fb8acb323713287920526b66 (patch) | |
tree | 546f72dccf680fe75f12a90458b9b06b78a3e648 | |
parent | 355995e48e693ae0d0d21db5ba904bb87e0a0c1f (diff) | |
download | coreclr-00b9df366d9d0407fb8acb323713287920526b66.tar.gz coreclr-00b9df366d9d0407fb8acb323713287920526b66.tar.bz2 coreclr-00b9df366d9d0407fb8acb323713287920526b66.zip |
Remove vs2015 build dependencies
-rw-r--r-- | build-test.cmd | 39 | ||||
-rw-r--r-- | build.cmd | 38 | ||||
-rw-r--r-- | buildpipeline/DotNet-CoreClr-Trusted-Windows-x86.json | 4 | ||||
-rw-r--r-- | buildpipeline/DotNet-CoreClr-Trusted-Windows.json | 4 | ||||
-rw-r--r-- | buildpipeline/DotNet-Trusted-Publish.json | 4 | ||||
-rw-r--r-- | buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json | 4 | ||||
-rw-r--r-- | buildpipeline/tests/Dotnet-CoreClr-Trusted-BuildTests.json | 4 | ||||
-rw-r--r-- | run.cmd | 36 | ||||
-rw-r--r-- | setup_vs_tools.cmd | 48 | ||||
-rw-r--r-- | tests/runtest.cmd | 39 |
10 files changed, 75 insertions, 145 deletions
diff --git a/build-test.cmd b/build-test.cmd index 2aa9f4e715..bd03d6f74d 100644 --- a/build-test.cmd +++ b/build-test.cmd @@ -7,44 +7,16 @@ set __VCBuildArch=x86_amd64 set __BuildType=Debug set __BuildOS=Windows_NT +set "__ProjectDir=%~dp0" + :: Define a prefix for most output progress messages that come from this script. That makes :: it easier to see where these are coming from. Note that there is a trailing space here. set "__MsgPrefix=BUILDTEST: " -:: Default to highest Visual Studio version available -:: -:: For VS2015 (and prior), only a single instance is allowed to be installed on a box -:: and VS140COMNTOOLS is set as a global environment variable by the installer. This -:: allows users to locate where the instance of VS2015 is installed. -:: -:: For VS2017, multiple instances can be installed on the same box SxS and VS150COMNTOOLS -:: is no longer set as a global environment variable and is instead only set if the user -:: has launched the VS2017 Developer Command Prompt. -:: -:: Following this logic, we will default to the VS2017 toolset if VS150COMNTOOLS tools is -:: set, as this indicates the user is running from the VS2017 Developer Command Prompt and -:: is already configured to use that toolset. Otherwise, we will fallback to using the VS2015 -:: toolset if it is installed. Finally, we will fail the script if no supported VS instance -:: can be found. -if defined VisualStudioVersion ( - if not defined __VSVersion echo %__MsgPrefix%Detected Visual Studio %VisualStudioVersion% developer command ^prompt environment - goto Run -) - -set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -if exist %_VSWHERE% ( - for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -prerelease -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools -) -if not exist "%_VSCOMNTOOLS%" set _VSCOMNTOOLS=%VS140COMNTOOLS% -if not exist "%_VSCOMNTOOLS%" ( - echo %__MsgPrefix%Error: Visual Studio 2015 or 2017 required. - echo Please see https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/developer-guide.md for build instructions. - exit /b 1 -) +call "%__ProjectDir%"\setup_vs_tools.cmd -call "%_VSCOMNTOOLS%\VsDevCmd.bat" - -:Run +REM setup_vs_tools.cmd will correctly echo error message. +if NOT '%ERRORLEVEL%' == '0' exit /b 1 if defined VS150COMNTOOLS ( set "__VSToolsRoot=%VS150COMNTOOLS%" @@ -56,7 +28,6 @@ if defined VS150COMNTOOLS ( set __VSVersion=vs2015 ) -set "__ProjectDir=%~dp0" :: remove trailing slash if %__ProjectDir:~-1%==\ set "__ProjectDir=%__ProjectDir:~0,-1%" set "__TestDir=%__ProjectDir%\tests" @@ -9,42 +9,8 @@ echo %__MsgPrefix%Starting Build at %TIME% set __ThisScriptFull="%~f0" set __ThisScriptDir="%~dp0" -:: Default to highest Visual Studio version available -:: -:: For VS2015 (and prior), only a single instance is allowed to be installed on a box -:: and VS140COMNTOOLS is set as a global environment variable by the installer. This -:: allows users to locate where the instance of VS2015 is installed. -:: -:: For VS2017, multiple instances can be installed on the same box SxS and VS150COMNTOOLS -:: is no longer set as a global environment variable and is instead only set if the user -:: has launched the VS2017 Developer Command Prompt. -:: -:: Following this logic, we will default to the VS2017 toolset if VS150COMNTOOLS tools is -:: set, as this indicates the user is running from the VS2017 Developer Command Prompt and -:: is already configured to use that toolset. Otherwise, we will fallback to using the VS2015 -:: toolset if it is installed. Finally, we will fail the script if no supported VS instance -:: can be found. - -if defined VisualStudioVersion ( - if not defined __VSVersion echo %__MsgPrefix%Detected Visual Studio %VisualStudioVersion% developer command ^prompt environment - goto :Run -) - -echo %__MsgPrefix%Searching ^for Visual Studio 2017 or 2015 installation -set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -if exist %_VSWHERE% ( -for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -prerelease -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools -) -if not exist "%_VSCOMNTOOLS%" set _VSCOMNTOOLS=%VS140COMNTOOLS% -if not exist "%_VSCOMNTOOLS%" ( - echo %__MsgPrefix%Error: Visual Studio 2015 or 2017 required. - echo Please see https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/developer-guide.md for build instructions. - exit /b 1 -) - -call "%_VSCOMNTOOLS%\VsDevCmd.bat" - -:Run +call "%__ThisScriptDir%"\setup_vs_tools.cmd +if NOT '%ERRORLEVEL%' == '0' exit /b 1 REM Make the work-around to a bug in the microsoft.dotnet.buildtools.coreclr package until it is fixed. reg query HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{3BFCEA48-620F-4B6B-81F7-B9AF75454C7D}\InprocServer32 > NUL: 2>&1 diff --git a/buildpipeline/DotNet-CoreClr-Trusted-Windows-x86.json b/buildpipeline/DotNet-CoreClr-Trusted-Windows-x86.json index 461bd5b35f..2fe5caa988 100644 --- a/buildpipeline/DotNet-CoreClr-Trusted-Windows-x86.json +++ b/buildpipeline/DotNet-CoreClr-Trusted-Windows-x86.json @@ -26,7 +26,7 @@ "enabled": true, "continueOnError": false, "alwaysRun": false, - "displayName": "Run script $(VS140COMNTOOLS)\\VsDevCmd.bat", + "displayName": "Setup vs dev env", "timeoutInMinutes": 0, "refName": "Task2", "task": { @@ -35,7 +35,7 @@ "definitionType": "task" }, "inputs": { - "filename": "$(VS140COMNTOOLS)\\VsDevCmd.bat", + "filename": "setup_vs_tools.cmd", "arguments": "", "modifyEnvironment": "true", "workingFolder": "", diff --git a/buildpipeline/DotNet-CoreClr-Trusted-Windows.json b/buildpipeline/DotNet-CoreClr-Trusted-Windows.json index bfbef14016..099a187c08 100644 --- a/buildpipeline/DotNet-CoreClr-Trusted-Windows.json +++ b/buildpipeline/DotNet-CoreClr-Trusted-Windows.json @@ -26,7 +26,7 @@ "enabled": true, "continueOnError": false, "alwaysRun": false, - "displayName": "Run script $(VS140COMNTOOLS)\\VsDevCmd.bat", + "displayName": "Setup vs dev env", "timeoutInMinutes": 0, "refName": "Task2", "task": { @@ -35,7 +35,7 @@ "definitionType": "task" }, "inputs": { - "filename": "$(VS140COMNTOOLS)\\VsDevCmd.bat", + "filename": "setup_vs_tools.cmd", "arguments": "", "modifyEnvironment": "true", "workingFolder": "", diff --git a/buildpipeline/DotNet-Trusted-Publish.json b/buildpipeline/DotNet-Trusted-Publish.json index 803b490d57..9bf35203cc 100644 --- a/buildpipeline/DotNet-Trusted-Publish.json +++ b/buildpipeline/DotNet-Trusted-Publish.json @@ -5,7 +5,7 @@ "enabled": true, "continueOnError": false, "alwaysRun": false, - "displayName": "Run script $(VS140COMNTOOLS)\\VsDevCmd.bat", + "displayName": "Setup vs dev env", "timeoutInMinutes": 0, "refName": "Task1", "task": { @@ -14,7 +14,7 @@ "definitionType": "task" }, "inputs": { - "filename": "$(VS140COMNTOOLS)\\VsDevCmd.bat", + "filename": "setup_vs_tools.cmd", "arguments": "", "modifyEnvironment": "true", "workingFolder": "", diff --git a/buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json b/buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json index ab5628dce3..ec6ea50754 100644 --- a/buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json +++ b/buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json @@ -5,7 +5,7 @@ "enabled": true, "continueOnError": false, "alwaysRun": false, - "displayName": "Run script $(VS140COMNTOOLS)\\VsDevCmd.bat", + "displayName": "Setup vs dev env", "timeoutInMinutes": 0, "condition": "ne(variables['PB_SkipTests'], 'true')", "refName": "Task1", @@ -15,7 +15,7 @@ "definitionType": "task" }, "inputs": { - "filename": "$(VS140COMNTOOLS)\\VsDevCmd.bat", + "filename": "setup_vs_tools.cmd", "arguments": "", "modifyEnvironment": "true", "workingFolder": "", diff --git a/buildpipeline/tests/Dotnet-CoreClr-Trusted-BuildTests.json b/buildpipeline/tests/Dotnet-CoreClr-Trusted-BuildTests.json index 6edbc875e5..06aa02eb49 100644 --- a/buildpipeline/tests/Dotnet-CoreClr-Trusted-BuildTests.json +++ b/buildpipeline/tests/Dotnet-CoreClr-Trusted-BuildTests.json @@ -5,7 +5,7 @@ "enabled": true, "continueOnError": false, "alwaysRun": false, - "displayName": "Run script $(VS140COMNTOOLS)\\VsDevCmd.bat", + "displayName": "Setup vs dev env", "timeoutInMinutes": 0, "condition": "ne(variables['PB_SkipTests'], 'true')", "refName": "Task1", @@ -15,7 +15,7 @@ "definitionType": "task" }, "inputs": { - "filename": "$(VS140COMNTOOLS)\\VsDevCmd.bat", + "filename": "setup_vs_tools.cmd", "arguments": "", "modifyEnvironment": "true", "workingFolder": "", @@ -1,43 +1,17 @@ @if not defined _echo @echo off setlocal -:: Default to highest Visual Studio version available -:: -:: For VS2015 (and prior), only a single instance is allowed to be installed on a box -:: and VS140COMNTOOLS is set as a global environment variable by the installer. This -:: allows users to locate where the instance of VS2015 is installed. -:: -:: For VS2017, multiple instances can be installed on the same box SxS and VS150COMNTOOLS -:: is no longer set as a global environment variable and is instead only set if the user -:: has launched the VS2017 Developer Command Prompt. -:: -:: Following this logic, we will default to the VS2017 toolset if VS150COMNTOOLS tools is -:: set, as this indicates the user is running from the VS2017 Developer Command Prompt and -:: is already configured to use that toolset. Otherwise, we will fallback to using the VS2015 -:: toolset if it is installed. Finally, we will fail the script if no supported VS instance -:: can be found. -if defined VisualStudioVersion ( - if not defined __VSVersion echo %__MsgPrefix%Detected Visual Studio %VisualStudioVersion% developer command ^prompt environment - goto :Run -) +set "__ProjectDir=%~dp0" -set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -if exist %_VSWHERE% ( - for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -prerelease -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools -) -if not exist "%_VSCOMNTOOLS%" set _VSCOMNTOOLS=%VS140COMNTOOLS% -if not exist "%_VSCOMNTOOLS%" ( - echo %__MsgPrefix%Error: Visual Studio 2015 or 2017 required. - echo Please see https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/developer-guide.md for build instructions. - exit /b 1 -) +call "%__ProjectDir%"\setup_vs_tools.cmd -call "%_VSCOMNTOOLS%\VsDevCmd.bat" +REM setup_vs_tools.cmd will correctly echo error message. +if NOT '%ERRORLEVEL%' == '0' exit /b 1 -:Run :: Clear the 'Platform' env variable for this session, as it's a per-project setting within the build, and :: misleading value (such as 'MCD' in HP PCs) may lead to build breakage (issue: #69). set Platform= +set __ProjectDir= :: Restore the Tools directory call %~dp0init-tools.cmd diff --git a/setup_vs_tools.cmd b/setup_vs_tools.cmd new file mode 100644 index 0000000000..9af06e5bdd --- /dev/null +++ b/setup_vs_tools.cmd @@ -0,0 +1,48 @@ +@if not defined _echo @echo off + +REM This script is responsible for setting up either the vs2015 or vs2017 env +REM All passed arguments are ignored +REM Script will return with 0 if pass, 1 if there is a failure to find either +REM vs2015 or vs2017 + +:: Default to highest Visual Studio version available +:: +:: For VS2015 (and prior), only a single instance is allowed to be installed on a box +:: and VS140COMNTOOLS is set as a global environment variable by the installer. This +:: allows users to locate where the instance of VS2015 is installed. +:: +:: For VS2017, multiple instances can be installed on the same box SxS and VS150COMNTOOLS +:: is no longer set as a global environment variable and is instead only set if the user +:: has launched the VS2017 Developer Command Prompt. +:: +:: Following this logic, we will default to the VS2017 toolset if VS150COMNTOOLS tools is +:: set, as this indicates the user is running from the VS2017 Developer Command Prompt and +:: is already configured to use that toolset. Otherwise, we will fallback to using the VS2015 +:: toolset if it is installed. Finally, we will fail the script if no supported VS instance +:: can be found. + +if defined VisualStudioVersion ( + if not defined __VSVersion echo %__MsgPrefix%Detected Visual Studio %VisualStudioVersion% developer command ^prompt environment + goto skip_setup +) + +echo %__MsgPrefix%Searching ^for Visual Studio 2017 or 2015 installation +set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" +if exist %_VSWHERE% ( + for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -prerelease -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools + goto call_vs +) +if not exist "%_VSCOMNTOOLS%" set _VSCOMNTOOLS=%VS140COMNTOOLS% +echo VS2017 not found, using VS2015 +:call_vs +if not exist "%_VSCOMNTOOLS%" ( + echo %__MsgPrefix%Error: Visual Studio 2015 or 2017 required. + echo Please see https://github.com/dotnet/coreclr/blob/master/Documentation/building/windows-instructions.md for build instructions. + exit /b 1 +) +echo %__MsgPrefix%"%_VSCOMNTOOLS%\VsDevCmd.bat" +call "%_VSCOMNTOOLS%\VsDevCmd.bat" + +:skip_setup + +exit /b 0
\ No newline at end of file diff --git a/tests/runtest.cmd b/tests/runtest.cmd index 8682aad7e6..1533402104 100644 --- a/tests/runtest.cmd +++ b/tests/runtest.cmd @@ -7,51 +7,22 @@ set __BuildType=Debug set __BuildOS=Windows_NT set __MSBuildBuildArch=x64 +set "__ProjectDir=%~dp0" + :: Define a prefix for most output progress messages that come from this script. That makes :: it easier to see where these are coming from. Note that there is a trailing space here. set "__MsgPrefix=RUNTEST: " -:: Default to highest Visual Studio version available -:: -:: For VS2015 (and prior), only a single instance is allowed to be installed on a box -:: and VS140COMNTOOLS is set as a global environment variable by the installer. This -:: allows users to locate where the instance of VS2015 is installed. -:: -:: For VS2017, multiple instances can be installed on the same box SxS and VS150COMNTOOLS -:: is no longer set as a global environment variable and is instead only set if the user -:: has launched the VS2017 Developer Command Prompt. -:: -:: Following this logic, we will default to the VS2017 toolset if VS150COMNTOOLS tools is -:: set, as this indicates the user is running from the VS2017 Developer Command Prompt and -:: is already configured to use that toolset. Otherwise, we will fallback to using the VS2015 -:: toolset if it is installed. Finally, we will fail the script if no supported VS instance -:: can be found. -if defined VisualStudioVersion ( - if not defined __VSVersion echo %__MsgPrefix%Detected Visual Studio %VisualStudioVersion% developer command ^prompt environment - goto Run -) - -set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -if exist %_VSWHERE% ( - for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -prerelease -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools -) -if not exist "%_VSCOMNTOOLS%" set _VSCOMNTOOLS=%VS140COMNTOOLS% -if not exist "%_VSCOMNTOOLS%" ( - echo %__MsgPrefix%Error: Visual Studio 2015 or 2017 required. - echo Please see https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/developer-guide.md for build instructions. - exit /b 1 -) - -call "%_VSCOMNTOOLS%\VsDevCmd.bat" +call "%__ProjectDir%"\..\setup_vs_tools.cmd -:Run +REM setup_vs_tools.cmd will correctly echo error message. +if NOT '%ERRORLEVEL%' == '0' exit /b 1 set __VSVersion=vs2017 if defined VS140COMNTOOLS set __VSVersion=vs2015 if defined VS150COMNTOOLS set __VSVersion=vs2017 -set __ProjectDir=%~dp0 :: remove trailing slash if %__ProjectDir:~-1%==\ set "__ProjectDir=%__ProjectDir:~0,-1%" set "__ProjectFilesDir=%__ProjectDir%" |