From: wtgodbe Date: Wed, 12 Apr 2017 19:47:28 +0000 (-0700) Subject: Enable building Core_Root for any RID against packages X-Git-Tag: submit/tizen/20210909.063632~11030^2~7267^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4fc28d96057e0e8713cc4fe62f71d9103c6627e1;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Enable building Core_Root for any RID against packages Commit migrated from https://github.com/dotnet/coreclr/commit/42f1781463e973a7e764675715191b4f137d4e05 --- diff --git a/src/coreclr/build-test.cmd b/src/coreclr/build-test.cmd index 785c3cb..c12e9af 100644 --- a/src/coreclr/build-test.cmd +++ b/src/coreclr/build-test.cmd @@ -57,6 +57,7 @@ set __RunArgs= set __BuildAgainstPackagesArg= set __RuntimeId= set __ZipTests= +set __TargetsWindows=1 :Arg_Loop if "%1" == "" goto ArgsDone @@ -80,6 +81,7 @@ if /i "%1" == "toolset_dir" (set __ToolsetDir=%2&set __PassThroughArgs if /i "%1" == "buildagainstpackages" (set __ZipTests=1&set __BuildAgainstPackagesArg=-BuildTestsAgainstPackages&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "ziptests" (set __ZipTests=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "runtimeid" (set __RuntimeId=%2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop) +if /i "%1" == "targetsNonWindows" (set __TargetsWindows=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "Exclude" (set __Exclude=%2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop) if [!processedArgs!]==[] ( @@ -90,6 +92,13 @@ if [!processedArgs!]==[] ( :ArgsDone +if defined __BuildAgainstPackagesArg ( + if not defined __RuntimeID ( + echo %__MsgPrefix%Error: When building against packages, you must supply a target Runtime ID. + exit /b 1 + ) +) + echo %__MsgPrefix%Using environment: "%__VSToolsRoot%\VsDevCmd.bat" call "%__VSToolsRoot%\VsDevCmd.bat" @@ -228,32 +237,17 @@ REM ============================================================================ if not defined XunitTestBinBase set XunitTestBinBase=%__TestWorkingDir% set "CORE_ROOT=%XunitTestBinBase%\Tests\Core_Root" -set "CORE_OVERLAY=%XunitTestBinBase%\Tests\Core_Root_%__RuntimeId%" call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\build.proj -UpdateDependencies -BatchRestorePackages -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% set __BuildLogRootName=Tests_GenerateRuntimeLayout -call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\runtest.proj -BinPlaceRef -BinPlaceProduct -CopyCrossgenToProduct -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% +call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\runtest.proj -BinPlaceRef -BinPlaceProduct -CopyCrossgenToProduct -RuntimeId="%__RuntimeId%" -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% if errorlevel 1 ( echo BinPlace of mscorlib.dll failed exit /b 1 ) -if defined __RuntimeId ( - - if not exist %__PackagesDir%\TestNativeBins ( - echo %__MsgPrefix%Error: Ensure you have run sync.cmd -ab before building a non-Windows test overlay against packages - exit /b 1 - ) - - call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\runtest.proj -CreateNonWindowsTestOverlay -RuntimeId="%__RuntimeId%" -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% - for /R %__PackagesDir%\TestNativeBins\%__RuntimeId%\%__BuildType% %%f in (*.so) do copy %%f %Core_Overlay% - for /R %__PackagesDir%\TestNativeBins\%__RuntimeId%\%__BuildType% %%f in (*.dylib) do copy %%f %Core_Overlay% - - echo %__MsgPrefix% Created the runtime layout for %__RuntimeId% in %CORE_OVERLAY% -) - echo %__MsgPrefix% Restored CoreCLR product from packages :SkipRestoreProduct @@ -305,14 +299,34 @@ if exist "%CORE_ROOT%" rd /s /q "%CORE_ROOT%" md "%CORE_ROOT%" xcopy /s "%__BinDir%" "%CORE_ROOT%" +if defined __BuildAgainstPackagesArg ( + if "%__TargetsWindows%"=="0" ( + + if not exist %__PackagesDir%\TestNativeBins ( + echo %__MsgPrefix%Error: Ensure you have run sync.cmd -ab before building a non-Windows test overlay against packages + exit /b 1 + ) + + for /R %__PackagesDir%\TestNativeBins\%__RuntimeId%\%__BuildType% %%f in (*.so) do copy %%f %CORE_ROOT% + for /R %__PackagesDir%\TestNativeBins\%__RuntimeId%\%__BuildType% %%f in (*.dylib) do copy %%f %CORE_ROOT% + ) +) + echo %__MsgPrefix%Creating test wrappers... set RuntimeIdArg= +set TargetsWindowsArg= if defined __RuntimeId ( set RuntimeIdArg=-RuntimeID="%__RuntimeId%" ) +if "%__TargetsWindows%"=="1" ( + set TargetsWindowsArg=-TargetsWindows=true +) else if "%__TargetsWindows%"=="0" ( + set TargetsWindowsArg=-TargetsWindows=false +) + set __BuildLogRootName=Tests_XunitWrapper set __BuildLog=%__LogsDir%\%__BuildLogRootName%_%__BuildOS%__%__BuildArch%__%__BuildType%.log set __BuildWrn=%__LogsDir%\%__BuildLogRootName%_%__BuildOS%__%__BuildArch%__%__BuildType%.wrn @@ -321,7 +335,7 @@ set __msbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%" set __msbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%" set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%" -call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\runtest.proj -BuildWrappers -MsBuildEventLogging=" " -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% %RuntimeIdArg% +call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\runtest.proj -BuildWrappers -MsBuildEventLogging=" " -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% %TargetsWindowsArg% if errorlevel 1 ( echo Xunit Wrapper build failed exit /b 1 @@ -337,7 +351,7 @@ set __msbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%" set __msbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%" set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%" -call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\runtest.proj -testOverlay -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__unprocessedBuildArgs% +call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\runtest.proj -testOverlay -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %RuntimeIdArg% %__unprocessedBuildArgs% if errorlevel 1 ( echo %__MsgPrefix%Error: build failed. Refer to the build log files for details: echo %__BuildLog% @@ -362,7 +376,7 @@ REM === Prep test binaries for Helix publishing REM === REM ========================================================================================= -call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\helixprep.proj -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% %RuntimeIdArg% +call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\helixprep.proj -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% %RuntimeIdArg% %TargetsWindowsArg% echo %__MsgPrefix% Prepped test binaries for publishing @@ -393,13 +407,16 @@ echo runtimeid ^: Builds a test overlay for the specified OS (Only supporte echo alpine.3.4.3-x64: Builds overlay for Alpine 3.4.3 echo debian.8-x64: Builds overlay for Debian 8 echo fedora.24-x64: Builds overlay for Fedora 24 -echo fedora.25-x64: Builds overlay for Fedora 25 +echo linux-x64: Builds overlay for portable linux echo opensuse.42.1-x64: Builds overlay for OpenSUSE 42.1 echo osx.10.12-x64: Builds overlay for OSX 10.12 +echo osx-x64: Builds overlay for portable OSX echo rhel.7-x64: Builds overlay for RHEL 7 or CentOS echo ubuntu.14.04-x64: Builds overlay for Ubuntu 14.04 echo ubuntu.16.04-x64: Builds overlay for Ubuntu 16.04 echo ubuntu.16.10-x64: Builds overlay for Ubuntu 16.10 +echo win-x64: Builds overlay for portable Windows +echo win7-x64: Builds overlay for Windows 7 echo ziptests: zips CoreCLR tests & Core_Root for a Helix run echo Exclude- Optional parameter - specify location of default exclusion file (defaults to tests\issues.targets if not specified) echo Set to "" to disable default exclusion file. diff --git a/src/coreclr/buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json b/src/coreclr/buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json index f559d86..4deb689 100644 --- a/src/coreclr/buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json +++ b/src/coreclr/buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json @@ -68,7 +68,7 @@ }, "inputs": { "filename": "build-test.cmd", - "arguments": "$(PB_BuildType) $(Architecture) buildagainstpackages $(RuntimeIDArg) -OfficialBuildId=$(OfficialBuildId) -Priority=$(Priority)", + "arguments": "$(PB_BuildType) $(Architecture) buildagainstpackages runtimeid $(Rid) $(TargetsNonWindowsArg) -OfficialBuildId=$(OfficialBuildId) -Priority=$(Priority)", "workingFolder": "", "failOnStandardError": "false" } diff --git a/src/coreclr/buildpipeline/pipelines.json b/src/coreclr/buildpipeline/pipelines.json index a06f054..8729d73 100644 --- a/src/coreclr/buildpipeline/pipelines.json +++ b/src/coreclr/buildpipeline/pipelines.json @@ -494,10 +494,10 @@ "Name": "Dotnet-CoreClr-Trusted-BuildTests", "Parameters": { "TargetsWindows": "true", - "Rid": "windows_nt-x64", + "Rid": "win-x64", "TargetQueues": "windows.10.amd64", - "TestContainerSuffix": "windows10", - "RuntimeIDArg": " " + "TestContainerSuffix": "windows", + "TargetsNonWindowsArg": " " }, "ReportingParameters": { "OperatingSystem": "Windows", @@ -510,10 +510,10 @@ "Name": "Dotnet-CoreClr-Trusted-BuildTests", "Parameters": { "TargetsWindows": "false", - "Rid": "osx.10.12-x64", + "Rid": "osx-x64", "TargetQueues": "osx.1012.amd64", - "TestContainerSuffix": "osx1012", - "RuntimeIDArg": "runtimeid osx.10.12-x64" + "TestContainerSuffix": "osx", + "TargetsNonWindowsArg": "TargetsNonWindows" }, "ReportingParameters": { "OperatingSystem": "OSX", @@ -529,7 +529,7 @@ "Rid": "linux-x64", "TargetQueues": "debian.82.amd64,fedora.25.amd64,redhat.72.amd64,ubuntu.1404.amd64,ubuntu.1604.amd64,ubuntu.1610.amd64", "TestContainerSuffix": "linux", - "RuntimeIDArg": "runtimeid linux-x64" + "TargetsNonWindowsArg": "TargetsNonWindows" }, "ReportingParameters": { "OperatingSystem": "RedHat 7", diff --git a/src/coreclr/config.json b/src/coreclr/config.json index 64066cb..475a659 100644 --- a/src/coreclr/config.json +++ b/src/coreclr/config.json @@ -312,6 +312,12 @@ "values": [ true, false ], "defaultValue": true }, + "TargetsWindows": { + "description": "Sets the property specifying if the tests we're building will target Windows", + "valueType": "property", + "values": [ true, false ], + "defaultValue": true + }, "PublishTestNativeBins": { "description": "Publishes test native binaries to Azure on non-windows", "valueType": "property", diff --git a/src/coreclr/tests/helixprep.proj b/src/coreclr/tests/helixprep.proj index 91aa486..c6267b9 100644 --- a/src/coreclr/tests/helixprep.proj +++ b/src/coreclr/tests/helixprep.proj @@ -7,10 +7,8 @@ $(TestWorkingDir) - $(CORE_ROOT) - $(CORE_OVERLAY) - Core_Root_Windows_NT-$(__BuildArch) - Core_Root_$(RuntimeID) + $(CORE_ROOT) + Core_Root_$(RuntimeID) @@ -73,7 +71,7 @@ + Condition="'$(TargetsWindows)' == 'true' "> @@ -104,7 +102,7 @@ EXIT /B %ERRORLEVEL% + Condition="'$(TargetsWindows)' != 'true' "> diff --git a/src/coreclr/tests/publishdependency.targets b/src/coreclr/tests/publishdependency.targets index eec373f..cce4296 100644 --- a/src/coreclr/tests/publishdependency.targets +++ b/src/coreclr/tests/publishdependency.targets @@ -23,11 +23,6 @@ - - - - - @@ -57,7 +52,7 @@ @@ -90,70 +85,6 @@ - - - - - - - - - - - - - - - - - - - - - %(Identity) - - - - - - - - - - - - - - - - - - - - @@ -165,7 +96,7 @@ @@ -197,7 +128,7 @@ @@ -219,6 +150,7 @@ - testExecutable = testExecutable.Replace("\\", "/")%3B + testExecutable = testExecutable.Replace("\\", "/")%3B @@ -323,23 +323,22 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\",""). + + $(RuntimeId) + $(TestNugetRuntimeId) + + - - - - + Properties="Language=C#;TargetRid=$(TargetRid)" /> @@ -347,7 +346,7 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\",""). diff --git a/src/coreclr/tests/src/Common/build_against_pkg_dependencies/project.json b/src/coreclr/tests/src/Common/build_against_pkg_dependencies/project.json index 501dfec..4313a2a 100644 --- a/src/coreclr/tests/src/Common/build_against_pkg_dependencies/project.json +++ b/src/coreclr/tests/src/Common/build_against_pkg_dependencies/project.json @@ -15,6 +15,8 @@ } }, "runtimes": { + "win-x64": {}, + "win-x86": {}, "win7-x86": {}, "win7-x64": {}, "win10-arm64": {}, @@ -22,6 +24,7 @@ "ubuntu.16.04-x64": {}, "ubuntu.16.10-x64": {}, "osx.10.12-x64": {}, + "osx-x64": {}, "centos.7-x64": {}, "rhel.7-x64": {}, "debian.8-x64": {}, diff --git a/src/coreclr/tests/src/Common/test_dependencies/project.json b/src/coreclr/tests/src/Common/test_dependencies/project.json index 89a5d6b..45dad83 100644 --- a/src/coreclr/tests/src/Common/test_dependencies/project.json +++ b/src/coreclr/tests/src/Common/test_dependencies/project.json @@ -15,12 +15,15 @@ } }, "runtimes": { + "win-x64": {}, + "win-x86": {}, "win7-x86": {}, "win7-x64": {}, "ubuntu.14.04-x64": {}, "ubuntu.16.04-x64": {}, "ubuntu.16.10-x64": {}, "osx.10.12-x64": {}, + "osx-x64": {}, "centos.7-x64": {}, "rhel.7-x64": {}, "debian.8-x64": {}, diff --git a/src/coreclr/tests/src/Common/test_runtime/project.json b/src/coreclr/tests/src/Common/test_runtime/project.json index 0f82a11..f0d097a 100644 --- a/src/coreclr/tests/src/Common/test_runtime/project.json +++ b/src/coreclr/tests/src/Common/test_runtime/project.json @@ -15,15 +15,19 @@ } }, "runtimes": { + "win-x64": {}, + "win-x86": {}, "win7-x86": {}, "win7-x64": {}, "ubuntu.14.04-x64": {}, "ubuntu.16.04-x64": {}, "ubuntu.16.10-x64": {}, "osx.10.12-x64": {}, + "osx-x64": {}, "centos.7-x64": {}, "rhel.7-x64": {}, "debian.8-x64": {}, - "fedora.24-x64": {} + "fedora.24-x64": {}, + "linux-x64": {} } }