diff options
-rw-r--r-- | Tools-Override/Build.Common.props | 30 | ||||
-rwxr-xr-x | Tools-Override/Roslyn.Common.props | 43 | ||||
-rwxr-xr-x | build-managed.sh | 7 | ||||
-rwxr-xr-x | build-tests.sh | 33 | ||||
-rw-r--r-- | build.proj | 2 | ||||
-rw-r--r-- | buildpipeline/DotNet-CoreFx-Trusted-Linux.json | 68 | ||||
-rw-r--r-- | buildpipeline/DotNet-CoreFx-Trusted-OSX.json | 44 | ||||
-rw-r--r-- | buildpipeline/DotNet-CoreFx-Trusted-Windows.json | 41 | ||||
-rw-r--r-- | buildpipeline/DotNet-Trusted-Publish.json | 296 | ||||
-rw-r--r-- | buildpipeline/pipeline.json | 54 | ||||
-rw-r--r-- | dir.props | 76 | ||||
-rw-r--r-- | external/dir.props | 1 | ||||
-rw-r--r-- | external/dir.targets | 2 | ||||
-rw-r--r-- | netci.groovy | 17 | ||||
-rw-r--r-- | pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.pkgproj | 9 | ||||
-rw-r--r-- | pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.props | 17 | ||||
-rw-r--r-- | src/Tools/CoreFx.Tools/GenerateConfigurationProps.cs | 1 | ||||
-rw-r--r-- | src/Tools/corefxTools.props | 4 |
18 files changed, 378 insertions, 367 deletions
diff --git a/Tools-Override/Build.Common.props b/Tools-Override/Build.Common.props index 5ea6b75bb5..864a5db99c 100644 --- a/Tools-Override/Build.Common.props +++ b/Tools-Override/Build.Common.props @@ -21,35 +21,25 @@ <GetNuGetPackageVersionsDependsOn>CreateVersionFileDuringBuild</GetNuGetPackageVersionsDependsOn> </PropertyGroup> - - <PropertyGroup Condition="'$(___BuildConfiguration)'==''"> - <!-- - Build Configuration is composed by: $(OSGroup).$(Platform).$(ConfigurationGroup).$(TargetGroup) - TargetGroup will be "default" if no value is specified. - --> - <___BuildConfiguration>$(OSGroup).$(Platform).$(ConfigurationGroup)</___BuildConfiguration> - <___BuildConfiguration Condition="'$(TargetGroup)'!=''">$(___BuildConfiguration).$(TargetGroup)</___BuildConfiguration> - <___BuildConfiguration Condition="'$(TargetGroup)'==''">$(___BuildConfiguration).default</___BuildConfiguration> + <!-- Platform detection --> + <PropertyGroup> + <OsEnvironment Condition="'$(OsEnvironment)'=='' AND '$(OS)'=='Unix' AND Exists('/Applications')">OSX</OsEnvironment> + <OsEnvironment Condition="'$(OsEnvironment)'=='' AND '$(OS)'=='Unix'">Linux</OsEnvironment> + <OsEnvironment Condition="'$(OsEnvironment)'==''">$(OS)</OsEnvironment> + <RunningOnUnix Condition="'$(OS)' != 'Windows_NT'">true</RunningOnUnix> </PropertyGroup> <!-- Common BuildTools properties --> <PropertyGroup> - <!-- - Test Configuration is composed by: $(OSGroup).$(Platform).$(ConfigurationGroup).$(TargetGroup).$(TestTFM) - TargetGroup will be "default" if no value is specified. - TestTFM will be "default" if no value is specified. - --> - <TestConfiguration Condition="'$(TestTFM)'!=''">$(___BuildConfiguration).$(TestTFM)</TestConfiguration> - <TestConfiguration Condition="'$(TestTFM)'==''">$(___BuildConfiguration).default</TestConfiguration> <ToolRuntimePath Condition="'$(ToolRuntimePath)'=='' and '$(ProjectDir)'==''">$(MSBuildThisFileDirectory)</ToolRuntimePath> <ToolRuntimePath Condition="'$(ToolRuntimePath)'=='' and '$(ProjectDir)'!=''">$(ProjectDir)Tools/</ToolRuntimePath> <ToolsDir Condition="'$(ToolsDir)'==''">$(MSBuildThisFileDirectory)</ToolsDir> <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolRuntimePath)dotnetcli/</DotnetCliPath> <OverrideToolHost>$(DotnetCliPath)dotnet</OverrideToolHost> - <BuildToolsTaskDir Condition="'$(BuildToolsTargets45)' == 'true'">$(ToolsDir)net45/</BuildToolsTaskDir> - <BuildToolsTaskDir Condition="'$(BuildToolsTaskDir)'==''">$(ToolsDir)</BuildToolsTaskDir> - <UseRoslynCompilers Condition="'$(UseRoslynCompilers)'=='' and '$(OSEnvironment)'!='Windows_NT'">false</UseRoslynCompilers> - <UseSharedCompilation Condition="'$(UseSharedCompilation)' == '' and '$(OSEnvironment)' == 'Windows_NT' and '$(UseRoslynCompilers)' != 'false'">true</UseSharedCompilation> + <BuildToolsTaskDir Condition="'$(MSBuildRuntimeType)'!='core'">$(ToolsDir)net45/</BuildToolsTaskDir> + <BuildToolsTaskDir Condition="'$(MSBuildRuntimeType)'=='core'">$(ToolsDir)</BuildToolsTaskDir> + <UseRoslynCompilers Condition="'$(UseRoslynCompilers)'=='' and '$(RunningOnUnix)'=='true'">false</UseRoslynCompilers> + <UseSharedCompilation Condition="'$(UseSharedCompilation)' == '' and '$(RunningOnUnix)' != 'true' and '$(UseRoslynCompilers)' != 'false'">true</UseSharedCompilation> </PropertyGroup> <!-- Setting IsTestProject prior to Build.Common.targets --> diff --git a/Tools-Override/Roslyn.Common.props b/Tools-Override/Roslyn.Common.props new file mode 100755 index 0000000000..eb82e7b3fb --- /dev/null +++ b/Tools-Override/Roslyn.Common.props @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <RoslynVersion>2.0.0-beta3</RoslynVersion> + <RoslynPackageName>Microsoft.Net.Compilers</RoslynPackageName> + </PropertyGroup> + + <PropertyGroup> + <RoslynPropsFile Condition="'$(RoslynPropsFile)' == '' and '$(RunningOnUnix)' != 'true'">$(ToolRuntimePath)/net45/roslyn/build/Microsoft.Net.Compilers.props</RoslynPropsFile> + </PropertyGroup> + + <!-- + On Unix we always use a version of Roslyn we restore from NuGet and we have to work around some known issues. + --> + <PropertyGroup Condition="'$(RoslynPropsFile)' == '' and '$(RunningOnUnix)' == 'true'"> + <RoslynPackageDir>$(PackagesDir)/$(RoslynPackageName).$(RoslynVersion)/</RoslynPackageDir> + <RoslynPropsFile>$(RoslynPackageDir)build/$(RoslynPackageName).props</RoslynPropsFile> + + <!-- + Portable PDBs are now supported in Linux and OSX with .Net Core MSBuild. + --> + <DebugType>Portable</DebugType> + + <!-- + Delay signing with the ECMA key currently doesn't work. + https://github.com/dotnet/roslyn/issues/2444 + --> + <UseECMAKey>false</UseECMAKey> + + <!-- + Full signing with Open key doesn't work with Portable Csc. + https://github.com/dotnet/roslyn/issues/8210 + --> + <UseOpenKey>false</UseOpenKey> + + <!-- + Mono currently doesn't include VB targets for portable, notably /lib/mono/xbuild/Microsoft/Portable/v4.5/Microsoft.Portable.VisualBasic.targets. + Fixed in https://github.com/mono/mono/pull/1726. + --> + <IncludeVbProjects>false</IncludeVbProjects> + </PropertyGroup> + +</Project> diff --git a/build-managed.sh b/build-managed.sh index a618eaec46..e747967fdc 100755 --- a/build-managed.sh +++ b/build-managed.sh @@ -5,7 +5,6 @@ usage() echo "Usage: $0 [platform] [useservergc]" echo echo "platform can be: FreeBSD, Linux, NetBSD, OSX, Windows." - echo "useservergc - Switch used by configure the hosted coreclr instance when executing tests." echo } @@ -16,7 +15,6 @@ __UnprocessedBuildArgs= __TestNugetRuntimeId=-distroRid __BuildOS=-os __TargetOS=-target-os -__ServerGC=0 while :; do if [ $# -le 0 ]; then @@ -45,9 +43,6 @@ while :; do __BuildOS="$__BuildOS=windows_nt" __TargetOS="$__TargetOS=Windows_NT" ;; - useservergc) - __ServerGC=1 - ;; *) __UnprocessedBuildArgs="$__UnprocessedBuildArgs $1" esac @@ -55,7 +50,5 @@ while :; do shift done -export CORECLR_SERVER_GC="$__ServerGC" - $__scriptpath/run.sh build-managed $__BuildOS $__TargetOS $__TestNugetRuntimeId $__UnprocessedBuildArgs exit $? diff --git a/build-tests.sh b/build-tests.sh index 531dc58c4d..ce36da5ede 100755 --- a/build-tests.sh +++ b/build-tests.sh @@ -1,4 +1,35 @@ #!/usr/bin/env bash + +usage() +{ + echo "Usage: $0 [useservergc]" + echo + echo "useservergc - Switch used by configure the hosted coreclr instance when executing tests." + echo +} + +__UnprocessedBuildArgs= +__ServerGC=0 + +while :; do + if [ $# -le 0 ]; then + break + fi + + lowerI="$(echo $1 | awk '{print tolower($0)}')" + case $lowerI in + useservergc) + __ServerGC=1 + ;; + *) + __UnprocessedBuildArgs="$__UnprocessedBuildArgs $1" + esac + + shift +done + +export CORECLR_SERVER_GC="$__ServerGC" + working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -$working_tree_root/run.sh build-managed -tests $* +$working_tree_root/run.sh build-managed -tests $__UnprocessedBuildArgs exit $? diff --git a/build.proj b/build.proj index 39ac5727a2..dc85de187e 100644 --- a/build.proj +++ b/build.proj @@ -71,7 +71,7 @@ <MSBuild Projects="@(BuildToolsProject)" ContinueOnError="ErrorAndContinue" Condition="'%(Identity)' != ''" - Properties="TargetGroup=%(BuildToolsProject.TargetGroup)" /> + Properties="Configuration=%(BuildToolsProject.TargetGroup);TargetGroup=%(BuildToolsProject.TargetGroup)" /> </Target> <Target Name="Sync" DependsOnTargets="BuildCoreFxTools"> diff --git a/buildpipeline/DotNet-CoreFx-Trusted-Linux.json b/buildpipeline/DotNet-CoreFx-Trusted-Linux.json index aeb69910f6..7c308f604b 100644 --- a/buildpipeline/DotNet-CoreFx-Trusted-Linux.json +++ b/buildpipeline/DotNet-CoreFx-Trusted-Linux.json @@ -164,6 +164,42 @@ "enabled": true, "continueOnError": false, "alwaysRun": false, + "displayName": "prebuild corefx.tools", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "exec $(PB_DockerContainerName) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/Tools/CoreFx.Tools/CoreFx.Tools.csproj", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Run sync", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "exec $(PB_DockerContainerName) $(PB_GitDirectory)/sync.sh -p -- /p:ArchGroup=$(PB_Platform)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, "displayName": "Run build.sh", "timeoutInMinutes": 0, "task": { @@ -182,6 +218,24 @@ "enabled": true, "continueOnError": false, "alwaysRun": false, + "displayName": "Push packages to Azure", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "exec $(PB_DockerContainerName) $(PB_GitDirectory)/publish-packages.sh -AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -verbose -- /p:OverwriteOnPublish=true", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, "displayName": "Remove old docker build logs", "timeoutInMinutes": 0, "task": { @@ -448,7 +502,7 @@ "reportBuildStatus": "true", "fetchDepth": "0", "gitLfsSupport": "false", - "skipSyncSource": "false", + "skipSyncSource": "true", "cleanOptions": "0" }, "id": "58fa2458-e392-4373-ba2b-dd3ef0c2d7ce", @@ -456,18 +510,18 @@ "name": "DotNet-CoreFX-Trusted", "url": "https://devdiv.visualstudio.com/DevDiv/_git/DotNet-CoreFX-Trusted", "defaultBranch": "refs/heads/master", - "clean": "true", + "clean": "false", "checkoutSubmodules": false }, "quality": "definition", "defaultBranch": "refs/heads/master", "queue": { "pool": { - "id": 83, - "name": "DotNetCore-Test" + "id": 39, + "name": "DotNet-Build" }, - "id": 159, - "name": "DotNetCore-Test" + "id": 36, + "name": "DotNet-Build" }, "path": "\\", "type": "build", @@ -479,6 +533,6 @@ "description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ", "url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee", "state": "wellFormed", - "revision": 418097435 + "revision": 418097459 } }
\ No newline at end of file diff --git a/buildpipeline/DotNet-CoreFx-Trusted-OSX.json b/buildpipeline/DotNet-CoreFx-Trusted-OSX.json index 623129509e..500ed7f731 100644 --- a/buildpipeline/DotNet-CoreFx-Trusted-OSX.json +++ b/buildpipeline/DotNet-CoreFx-Trusted-OSX.json @@ -74,6 +74,24 @@ "enabled": true, "continueOnError": false, "alwaysRun": false, + "displayName": "Run $(Agent.BuildDirectory)/s/corefx/sync.sh", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "$(Agent.BuildDirectory)/s/corefx/sync.sh", + "arguments": "-p -- /p:ArchGroup=$(PB_Platform)", + "workingFolder": "$(Agent.BuildDirectory)/s/corefx/", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, "displayName": "Generate Native Version Assets", "timeoutInMinutes": 0, "task": { @@ -109,6 +127,24 @@ { "enabled": true, "continueOnError": false, + "alwaysRun": false, + "displayName": "Push packages to Azure", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "$(Agent.BuildDirectory)/s/corefx/publish-packages.sh", + "arguments": "-AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -- /p:OverwriteOnPublish=true", + "workingFolder": "$(Agent.BuildDirectory)/s/corefx/", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, "alwaysRun": true, "displayName": "Copy Publish Artifact: BuildLogs", "timeoutInMinutes": 0, @@ -272,15 +308,15 @@ "reportBuildStatus": "true", "fetchDepth": "0", "gitLfsSupport": "false", - "skipSyncSource": "false", - "cleanOptions": "0" + "skipSyncSource": "true", + "cleanOptions": "3" }, "id": "0a2b2664-c1be-429c-9b40-8a24dee27a4a", "type": "TfsGit", "name": "DotNet-BuildPipeline", "url": "https://devdiv.visualstudio.com/DevDiv/_git/DotNet-BuildPipeline", "defaultBranch": "refs/heads/master", - "clean": "true", + "clean": "false", "checkoutSubmodules": false }, "quality": "definition", @@ -303,6 +339,6 @@ "description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ", "url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee", "state": "wellFormed", - "revision": 418097435 + "revision": 418097459 } }
\ No newline at end of file diff --git a/buildpipeline/DotNet-CoreFx-Trusted-Windows.json b/buildpipeline/DotNet-CoreFx-Trusted-Windows.json index b95c84bd43..e9836ad3b8 100644 --- a/buildpipeline/DotNet-CoreFx-Trusted-Windows.json +++ b/buildpipeline/DotNet-CoreFx-Trusted-Windows.json @@ -121,7 +121,7 @@ }, "inputs": { "filename": "$(Build.SourcesDirectory)\\corefx\\sync.cmd", - "arguments": "-p", + "arguments": "-p -- /p:ArchGroup=$(PB_Platform) /p:RuntimeOS=$(PB_RuntimeOS)", "workingFolder": "corefx", "failOnStandardError": "false" } @@ -157,7 +157,25 @@ }, "inputs": { "filename": "$(Build.SourcesDirectory)\\corefx\\build.cmd", - "arguments": "-buildArch=$(PB_Platform) -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType)", + "arguments": "-buildArch=$(PB_Platform) -$(PB_ConfigurationGroup) -- /p:SignType=$(PB_SignType) /p:RuntimeOS=$(PB_RuntimeOS)", + "workingFolder": "corefx", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Push packages to Azure", + "timeoutInMinutes": 0, + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "$(Build.SourcesDirectory)\\corefx\\publish-packages.cmd", + "arguments": "-AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -- /p:OverwriteOnPublish=true", "workingFolder": "corefx", "failOnStandardError": "false" } @@ -424,6 +442,9 @@ }, "TeamName": { "value": "DotNetCore" + }, + "PB_RuntimeOS": { + "value": "win10" } }, "demands": [ @@ -453,26 +474,26 @@ "reportBuildStatus": "true", "fetchDepth": "0", "gitLfsSupport": "false", - "skipSyncSource": "false", - "cleanOptions": "0" + "skipSyncSource": "true", + "cleanOptions": "3" }, "id": "0a2b2664-c1be-429c-9b40-8a24dee27a4a", "type": "TfsGit", "name": "DotNet-BuildPipeline", "url": "https://devdiv.visualstudio.com/DevDiv/_git/DotNet-BuildPipeline", "defaultBranch": "refs/heads/master", - "clean": "true", + "clean": "false", "checkoutSubmodules": false }, "quality": "definition", "defaultBranch": "refs/heads/master", "queue": { "pool": { - "id": 83, - "name": "DotNetCore-Test" + "id": 39, + "name": "DotNet-Build" }, - "id": 159, - "name": "DotNetCore-Test" + "id": 36, + "name": "DotNet-Build" }, "path": "\\", "type": "build", @@ -484,6 +505,6 @@ "description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ", "url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee", "state": "wellFormed", - "revision": 418097435 + "revision": 418097459 } }
\ No newline at end of file diff --git a/buildpipeline/DotNet-Trusted-Publish.json b/buildpipeline/DotNet-Trusted-Publish.json index eac1628e72..d755ee246d 100644 --- a/buildpipeline/DotNet-Trusted-Publish.json +++ b/buildpipeline/DotNet-Trusted-Publish.json @@ -8,7 +8,7 @@ "timeoutInMinutes": 0, "task": { "id": "bfc8bf76-e7ac-4a8c-9a55-a944a9f632fd", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { @@ -27,7 +27,7 @@ "timeoutInMinutes": 0, "task": { "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { @@ -47,13 +47,13 @@ "timeoutInMinutes": 0, "task": { "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { "scriptType": "inlineScript", "scriptName": "", - "arguments": "-gitUrl $(VstsRepoGitUrl) -root $(Pipeline.SourcesDirectory)", + "arguments": "-gitUrl $(PB_VstsRepoGitUrl) -root $(Pipeline.SourcesDirectory)", "inlineScript": "param($gitUrl, $root)\n\nif (Test-Path $root)\n{\n Remove-Item -Recurse -Force $root\n}\ngit clone --no-checkout $gitUrl $root 2>&1 | Write-Host\ncd $root\ngit checkout $env:SourceVersion 2>&1 | Write-Host\n\nWrite-Host (\"##vso[task.setvariable variable=Pipeline.SourcesDirectory;]$root\")", "workingFolder": "", "failOnStandardError": "true" @@ -67,13 +67,13 @@ "timeoutInMinutes": 0, "task": { "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { "scriptType": "inlineScript", "scriptName": "", - "arguments": "$(CloudDropAccountName) $(CloudDropAccessToken) $(Label)", + "arguments": "$(PB_CloudDropAccountName) $(CloudDropAccessToken) $(PB_Label)", "inlineScript": "param($account, $token, $container)\nif ($env:UseLegacyBuildScripts -eq \"true\")\n{\n .\\sync.cmd /ab /p:CloudDropAccountName=$account /p:CloudDropAccessToken=$token /p:ContainerName=$container\n}\nelse\n{\n# .\\sync.cmd -ab \"-AzureAccount=$account\" \"-AzureToken=$token\" \"-Container=$container\"\n .\\init-tools.cmd\n msbuild src\\syncAzure.proj /p:CloudDropAccountName=$account /p:CloudDropAccessToken=$token /p:ContainerName=$container\n}", "workingFolder": "$(Pipeline.SourcesDirectory)", "failOnStandardError": "false" @@ -87,14 +87,14 @@ "timeoutInMinutes": 0, "task": { "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { "scriptType": "inlineScript", "scriptName": "", - "arguments": "", - "inlineScript": "if ($env:ConfigurationGroup -ne \"Release\") { exit }\n\n& $env:Build_SourcesDirectory\\scripts\\DotNet-Trusted-Publish\\Embed-Index.ps1 `\n $env:Pipeline_SourcesDirectory\\packages\\AzureTransfer\\$env:ConfigurationGroup\\$env:AzureContainerSymbolPackageGlob `\n $env:Build_StagingDirectory\\IndexedSymbolPackages", + "arguments": "-ConfigGroup $(PB_ConfigurationGroup) -SymPkgGlob $(PB_AzureContainerSymbolPackageGlob) -PipelineSrcDir $(Pipeline.SourcesDirectory)", + "inlineScript": "param($ConfigGroup, $SymPkgGlob, $PipelineSrcDir)\nif ($ConfigGroup -ne \"Release\") { exit }\n\n& $env:Build_SourcesDirectory\\scripts\\DotNet-Trusted-Publish\\Embed-Index.ps1 `\n $PipelineSrcDir\\packages\\AzureTransfer\\$ConfigGroup\\$SymbolPkgGlob `\n $env:Build_StagingDirectory\\IndexedSymbolPackages", "workingFolder": "", "failOnStandardError": "true" } @@ -107,93 +107,39 @@ "timeoutInMinutes": 0, "task": { "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { "scriptType": "inlineScript", "scriptName": "", - "arguments": "", - "inlineScript": "#if ($env:UseLegacyBuildScripts -eq \"true\")\n#{\n msbuild build.proj /t:CreateOrUpdateCurrentVersionFile /p:OfficialBuildId=$env:OfficialBuildId /p:BuildVersionFile=bin\\obj\\BuildVersion-$env:OfficialBuildId.props\n#}\n#else\n#{\n# .\\build-managed.cmd -GenerateVersion \"-OfficialBuildId=$env:OfficialBuildId\"\n#}", + "arguments": "-OfficialBuildId $(OfficialBuildId)", + "inlineScript": "param($OfficialBuildId)\n msbuild build.proj /t:CreateOrUpdateCurrentVersionFile /p:OfficialBuildId=$OfficialBuildId /p:BuildVersionFile=bin\\obj\\BuildVersion-$OfficialBuildId.props", "workingFolder": "$(Pipeline.SourcesDirectory)", "failOnStandardError": "true" } }, { "enabled": true, - "continueOnError": true, - "alwaysRun": false, - "displayName": "Log Native Version Assets Files", - "timeoutInMinutes": 0, - "task": { - "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", - "versionSpec": "*", - "definitionType": "task" - }, - "inputs": { - "filename": "dir", - "arguments": "$(Pipeline.SourcesDirectory)\\bin\\obj\\BuildVersion*", - "workingFolder": "", - "failOnStandardError": "false" - } - }, - { - "enabled": false, - "continueOnError": false, - "alwaysRun": false, - "displayName": "packages -> dotnet.myget.org", - "timeoutInMinutes": 0, - "task": { - "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", - "versionSpec": "*", - "definitionType": "task" - }, - "inputs": { - "filename": "$(CustomNuGetPath)", - "arguments": "push $(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)\\$(AzureContainerPackageGlob) $(MyGetApiKey) -Source $(MyGetFeedUrl) -Timeout 3600", - "workingFolder": "$(Build.SourcesDirectory)", - "failOnStandardError": "false" - } - }, - { - "enabled": true, "continueOnError": false, "alwaysRun": false, "displayName": "packages -> dotnet.myget.org", "timeoutInMinutes": 0, "task": { "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { "scriptType": "inlineScript", "scriptName": "", - "arguments": "$(MyGetApiKey)", - "inlineScript": "param($ApiKey)\nif ($env:ConfigurationGroup -ne \"Release\") { exit }\n& $env:CustomNuGetPath push $env:Pipeline_SourcesDirectory\\packages\\AzureTransfer\\$env:ConfigurationGroup\\$env:AzureContainerPackageGlob $ApiKey -Source $env:MyGetFeedUrl -Timeout 3600", + "arguments": "-ApiKey $(MyGetApiKey) -PipelineSrcDir $(Pipeline.SourcesDirectory) -ConfigurationGroup $(PB_ConfigurationGroup) -AzureContainerPackageGlob $(PB_AzureContainerPackageGlob) -MyGetFeedUrl $(PB_MyGetFeedUrl)", + "inlineScript": "param($ApiKey, $PipelineSrcDir, $ConfigurationGroup, $AzureContainerPackageGlob, $MyGetFeedUrl)\nif ($ConfigurationGroup -ne \"Release\") { exit }\n& $env:CustomNuGetPath push $PipelineSrcDir\\packages\\AzureTransfer\\$ConfigurationGroup\\$AzureContainerPackageGlob $ApiKey -Source $MyGetFeedUrl -Timeout 3600", "workingFolder": "", "failOnStandardError": "true" } }, { - "enabled": false, - "continueOnError": false, - "alwaysRun": false, - "displayName": "symbol packages -> dotnet.myget.org", - "timeoutInMinutes": 0, - "task": { - "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", - "versionSpec": "*", - "definitionType": "task" - }, - "inputs": { - "filename": "$(CustomNuGetPath)", - "arguments": "push $(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)\\$(AzureContainerSymbolPackageGlob) $(MyGetApiKey) -Source $(MyGetFeedUrl) -Timeout 3600", - "workingFolder": "", - "failOnStandardError": "false" - } - }, - { "enabled": true, "continueOnError": false, "alwaysRun": false, @@ -201,72 +147,14 @@ "timeoutInMinutes": 0, "task": { "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", - "definitionType": "task" - }, - "inputs": { - "scriptType": "inlineScript", - "scriptName": "", - "arguments": "$(MyGetApiKey)", - "inlineScript": "param($ApiKey)\nif ($env:ConfigurationGroup -ne \"Release\") { exit }\n& $env:CustomNuGetPath push $env:Build_StagingDirectory\\IndexedSymbolPackages\\*.nupkg $ApiKey -Source $env:MyGetFeedUrl -Timeout 3600", - "workingFolder": "", - "failOnStandardError": "true" - } - }, - { - "enabled": false, - "continueOnError": false, - "alwaysRun": false, - "displayName": "Create VSTS auth NuGet.Config", - "timeoutInMinutes": 0, - "task": { - "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", - "definitionType": "task" - }, - "inputs": { - "scriptType": "inlineScript", - "scriptName": "", - "arguments": "$(VstsAuthedNuGetConfigPath) $(VstsFeedUrl) $(VstsPat)", - "inlineScript": "param($path, $url, $pat)\n\nSet-Content $path @\"\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n <packageSources>\n <add key=\"vsts-dotnet-core\" value=\"$url\" />\n </packageSources>\n <packageSourceCredentials>\n <vsts-dotnet-core>\n <add key=\"Username\" value=\"VssSessionToken\" />\n <add key=\"ClearTextPassword\" value=\"$pat\" />\n </vsts-dotnet-core>\n </packageSourceCredentials>\n</configuration>\n\"@", - "workingFolder": "", - "failOnStandardError": "true" - } - }, - { - "enabled": false, - "continueOnError": false, - "alwaysRun": false, - "displayName": "packages -> VSTS", - "timeoutInMinutes": 0, - "task": { - "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", - "versionSpec": "*", - "definitionType": "task" - }, - "inputs": { - "filename": "$(CustomNuGetPath)", - "arguments": "push $(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)\\$(AzureContainerPackageGlob) placeholderapikey -Source vsts-dotnet-core -ConfigFile $(VstsAuthedNuGetConfigPath) -Timeout 3600", - "workingFolder": "", - "failOnStandardError": "false" - } - }, - { - "enabled": false, - "continueOnError": false, - "alwaysRun": false, - "displayName": "packages -> VSTS", - "timeoutInMinutes": 0, - "task": { - "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { "scriptType": "inlineScript", "scriptName": "", - "arguments": "", - "inlineScript": "if ($env:ConfigurationGroup -ne \"Release\") { exit }\n& $env:CustomNuGetPath push $env:Pipeline.SourcesDirectory\\packages\\AzureTransfer\\$env:ConfigurationGroup\\$env:AzureContainerPackageGlob placeholderapikey -Source vsts-dotnet-core -ConfigFile $env:VstsAuthedNuGetConfigPath -Timeout 3600", + "arguments": "-ApiKey $(MyGetApiKey) -ConfigurationGroup $(PB_ConfigurationGroup) -MyGetFeedUrl $(PB_MyGetFeedUrl)", + "inlineScript": "param($ApiKey, $ConfigurationGroup, $CustomNuGetPath, $MyGetFeedUrl)\nif ($ConfigurationGroup -ne \"Release\") { exit }\n& $env:CustomNuGetPath push $env:Build_StagingDirectory\\IndexedSymbolPackages\\*.nupkg $ApiKey -Source $MyGetFeedUrl -Timeout 3600", "workingFolder": "", "failOnStandardError": "true" } @@ -279,14 +167,14 @@ "timeoutInMinutes": 0, "task": { "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { "scriptType": "inlineScript", "scriptName": "", - "arguments": "-gitHubAuthToken $(UpdatePublishedVersions.AuthToken) -root $(Pipeline.SourcesDirectory)", - "inlineScript": "param($gitHubAuthToken, $root)\nif ($env:ConfigurationGroup -ne \"Release\") { exit }\ncd $root\n. $root\\UpdatePublishedVersions.ps1 `\n -gitHubUser dotnet-build-bot -gitHubEmail dotnet-build-bot@microsoft.com `\n -gitHubAuthToken $gitHubAuthToken `\n -versionsRepoOwner $env:VersionsRepoOwner -versionsRepo versions `\n -versionsRepoPath build-info/dotnet/$env:GitHubRepositoryName/$env:SourceBranch `\n -nupkgPath $root\\packages\\AzureTransfer\\$env:ConfigurationGroup\\$env:AzureContainerPackageGlob", + "arguments": "-ghAuthToken $(UpdatePublishedVersions.AuthToken) -root $(Pipeline.SourcesDirectory) -cg $(PB_ConfigurationGroup)", + "inlineScript": "param($ghAuthToken, $root, $cg)\nif ($cg -ne \"Release\") { exit }\ncd $root\n. $root\\UpdatePublishedVersions.ps1 `\n -gitHubUser dotnet-helix-bot -gitHubEmail dotnet-helix-bot@microsoft.com `\n -gitHubAuthToken $ghAuthToken`\n -versionsRepoOwner $env:PB_VersionsRepoOwner -versionsRepo versions `\n -versionsRepoPath build-info/dotnet/$env:PB_GitHubRepositoryName/$env:SourceBranch `\n -nupkgPath $root\\packages\\AzureTransfer\\$cg\\$env:PB_AzureContainerPackageGlob", "workingFolder": "", "failOnStandardError": "true" } @@ -299,7 +187,7 @@ "timeoutInMinutes": 0, "task": { "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { @@ -315,85 +203,22 @@ "enabled": true, "continueOnError": true, "alwaysRun": false, - "displayName": "Publish to Artifact Services Drop (BuildNumber)", - "timeoutInMinutes": 0, - "task": { - "id": "f9d96d25-0c81-4e77-8282-1ad1f785cbb4", - "versionSpec": "*", - "definitionType": "task" - }, - "inputs": { - "dropServiceURI": "https://devdiv.artifacts.visualstudio.com/DefaultCollection", - "buildNumber": "dotnet/$(GitHubRepositoryName)/$(SourceBranch)/$(BuildNumber)/packages/$(ConfigurationGroup)", - "sourcePath": "$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)", - "dropExePath": "", - "toLowerCase": "true", - "detailedLog": "false", - "usePat": "false" - } - }, - { - "enabled": true, - "continueOnError": true, - "alwaysRun": false, - "displayName": "Publish to Artifact Services Drop (OfficialBuildId)", + "displayName": "Publish to Artifact Services Drop", "timeoutInMinutes": 0, "task": { "id": "f9d96d25-0c81-4e77-8282-1ad1f785cbb4", - "versionSpec": "*", + "versionSpec": "0.*", "definitionType": "task" }, "inputs": { "dropServiceURI": "https://devdiv.artifacts.visualstudio.com/DefaultCollection", - "buildNumber": "dotnet/$(GitHubRepositoryName)/$(SourceBranch)/$(OfficialBuildId)/packages/$(ConfigurationGroup)", - "sourcePath": "$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)", + "buildNumber": "dotnet/$(PB_GitHubRepositoryName)/$(SourceBranch)/$(BuildNumber)/packages/$(PB_ConfigurationGroup)", + "sourcePath": "$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(PB_ConfigurationGroup)", "dropExePath": "", "toLowerCase": "true", "detailedLog": "false", - "usePat": "false" - } - }, - { - "enabled": false, - "continueOnError": false, - "alwaysRun": false, - "displayName": "Build solution src/StartRelease/StartRelease.sln", - "timeoutInMinutes": 0, - "task": { - "id": "71a9a2d3-a98a-4caa-96ab-affca411ecda", - "versionSpec": "*", - "definitionType": "task" - }, - "inputs": { - "solution": "src/StartRelease/StartRelease.sln", - "msbuildArgs": "", - "platform": "$(BuildPlatform)", - "configuration": "$(BuildConfiguration)", - "clean": "false", - "vsVersion": "14.0", - "maximumCpuCount": "false", - "restoreNugetPackages": "true", - "msbuildArchitecture": "x86", - "logProjectEvents": "true", - "createLogFile": "false" - } - }, - { - "enabled": false, - "continueOnError": false, - "alwaysRun": false, - "displayName": "Run StartRelease.exe", - "timeoutInMinutes": 0, - "task": { - "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", - "versionSpec": "*", - "definitionType": "task" - }, - "inputs": { - "filename": "StartRelease.exe", - "arguments": "--vsts-token $(VstsReleaseAccessToken)", - "workingFolder": "src\\StartRelease\\StartRelease\\bin\\$(BuildConfiguration)", - "failOnStandardError": "false" + "usePat": "false", + "retentionDays": "30" } }, { @@ -404,7 +229,7 @@ "timeoutInMinutes": 0, "task": { "id": "1d341bb0-2106-458c-8422-d00bcea6512a", - "versionSpec": "*", + "versionSpec": "1.*", "definitionType": "task" }, "inputs": { @@ -455,14 +280,14 @@ "value": "false", "allowOverride": true }, - "ConfigurationGroup": { + "PB_ConfigurationGroup": { "value": "Debug", "allowOverride": true }, "TeamName": { "value": "DotNetCore" }, - "CloudDropAccountName": { + "PB_CloudDropAccountName": { "value": "dotnetbuildoutput" }, "CloudDropAccessToken": { @@ -473,19 +298,19 @@ "value": "$(Build.BuildNumber)", "allowOverride": true }, - "Label": { + "PB_Label": { "value": "$(Build.BuildNumber)", "allowOverride": true }, - "MyGetFeedUrl": { - "value": "https://dotnet.myget.org/F/dotnet-core-test/api/v2/package", + "PB_MyGetFeedUrl": { + "value": "https://devdiv.pkgs.visualstudio.com/_packaging/dotnet-core-dev-eng/nuget/v3/index.json", "allowOverride": true }, "MyGetApiKey": { "value": null, "isSecret": true }, - "VstsFeedUrl": { + "PB_VstsFeedUrl": { "value": "https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/dotnet-core-test/nuget/v3/index.json", "allowOverride": true }, @@ -493,48 +318,48 @@ "value": null, "isSecret": true }, - "VstsAuthedNuGetConfigPath": { + "PB_VstsAuthedNuGetConfigPath": { "value": "$(Build.StagingDirectory)\\VstsAuthed.NuGet.Config" }, "UpdatePublishedVersions.AuthToken": { "value": null, "isSecret": true }, - "VersionsRepoOwner": { + "PB_VersionsRepoOwner": { "value": "dagood", "allowOverride": true }, - "BuildConfiguration": { + "PB_BuildConfiguration": { "value": "release" }, - "BuildPlatform": { + "PB_BuildPlatform": { "value": "any cpu" }, - "ReleaseBaseUrl": { + "PB_ReleaseBaseUrl": { "value": "https://devdiv.vsrm.visualstudio.com/DefaultCollection" }, - "ReleaseProjectName": { + "PB_ReleaseProjectName": { "value": "DevDiv" }, - "ReleaseDefinitionId": { + "PB_ReleaseDefinitionId": { "value": "40" }, - "ManualReleaseName": { + "PB_ManualReleaseName": { "value": "" }, "OfficialBuild": { "value": "fake-test" }, - "BranchGroup": { + "PB_BranchGroup": { "value": "" }, - "SymbolRoot": { + "PB_SymbolRoot": { "value": "\\\\fake\\symbol\\root" }, - "DefinitionNames": { + "PB_DefinitionNames": { "value": "Fake-Windows Fake-Windows-Native" }, - "CreateRequestContacts": { + "PB_CreateRequestContacts": { "value": "a b c" }, "VstsReleaseAccessToken": { @@ -544,15 +369,15 @@ "Pipeline.SourcesDirectory": { "value": "$(Build.BinariesDirectory)\\pipelineRepository" }, - "VstsAccountName": { + "PB_VstsAccountName": { "value": "dagood" }, - "VstsRepositoryName": { + "PB_VstsRepositoryName": { "value": "DotNet-CoreFX-Trusted", "allowOverride": true }, - "VstsRepoGitUrl": { - "value": "https://$(VstsAccountName):$(VstsRepoPat)@devdiv.visualstudio.com/DevDiv/_git/$(VstsRepositoryName)/" + "PB_VstsRepoGitUrl": { + "value": "https://$(PB_VstsAccountName):$(VstsRepoPat)@devdiv.visualstudio.com/DevDiv/_git/$(PB_VstsRepositoryName)/" }, "VstsRepoPat": { "value": null, @@ -566,21 +391,24 @@ "value": "master", "allowOverride": true }, - "AzureContainerPackageGlob": { + "PB_AzureContainerPackageGlob": { "value": "*.nupkg", "allowOverride": true }, - "AzureContainerSymbolPackageGlob": { + "PB_AzureContainerSymbolPackageGlob": { "value": "symbols\\*.nupkg", "allowOverride": true }, - "GitHubRepositoryName": { + "PB_GitHubRepositoryName": { "value": "corefx", "allowOverride": true }, - "UseLegacyBuildScripts": { + "PB_UseLegacyBuildScripts": { "value": "false", "allowOverride": true + }, + "PB_ToolPackageSource": { + "value": "https://www.myget.org/F/dagood-test-buildtools/api/v3/index.json" } }, "retentionRules": [ @@ -605,7 +433,11 @@ "repository": { "properties": { "labelSources": "0", - "reportBuildStatus": "false" + "reportBuildStatus": "false", + "fetchDepth": "0", + "gitLfsSupport": "false", + "skipSyncSource": "false", + "cleanOptions": "0" }, "id": "0a2b2664-c1be-429c-9b40-8a24dee27a4a", "type": "TfsGit", @@ -635,6 +467,6 @@ "description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ", "url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee", "state": "wellFormed", - "revision": 418097399 + "revision": 418097459 } }
\ No newline at end of file diff --git a/buildpipeline/pipeline.json b/buildpipeline/pipeline.json index 2f3ceb930d..4878b71964 100644 --- a/buildpipeline/pipeline.json +++ b/buildpipeline/pipeline.json @@ -359,6 +359,58 @@ } } ] - } + }, + { + "Name": "Publish Packages to Feeds - Release", + "Parameters": { + "TreatWarningsAsErrors": "false" + }, + "BuildParameters": { + "ConfigurationGroup": "Release" + }, + "Definitions": [ + { + "Name": "DotNet-Trusted-Publish", + "Parameters": { + "VstsRepositoryName": "DotNet-CoreFX-Trusted", + "GitHubRepositoryName": "corefx" + }, + "ReportingParameters": { + "TaskName": "Package Publish", + "Type": "build/publish/", + "ConfigurationGroup": "Release - Push to MyGet Feed" + } + } + ], + "DependsOn": [ + "Trusted-All-Release" + ] + }, + { + "Name": "Publish Packages to Drop - Debug", + "Parameters": { + "TreatWarningsAsErrors": "false" + }, + "BuildParameters": { + "ConfigurationGroup": "Debug" + }, + "Definitions": [ + { + "Name": "DotNet-Trusted-Publish", + "Parameters": { + "VstsRepositoryName": "DotNet-CoreFX-Trusted", + "GitHubRepositoryName": "corefx" + }, + "ReportingParameters": { + "TaskName": "Package Publish", + "Type": "build/publish/", + "ConfigurationGroup": "Debug - Push to Azure Storage" + } + } + ], + "DependsOn": [ + "Trusted-All-Debug" + ] + } ] } @@ -9,30 +9,13 @@ <MinorVersion>6</MinorVersion> </PropertyGroup> - <!-- - $(OS) is set to Unix/Windows_NT. This comes from an environment variable on Windows and MSBuild on Unix. - --> - <PropertyGroup> - <!-- Temp change to make OS X build behave as a Linux build --> - <OsEnvironment Condition="'$(OsEnvironment)'=='' AND '$(OS)'=='OSX'">Unix</OsEnvironment> - <OsEnvironment Condition="'$(OsEnvironment)'==''">$(OS)</OsEnvironment> - </PropertyGroup> - <Import Condition="Exists('$(MSBuildProjectDirectory)/Configurations.props')" Project="$(MSBuildProjectDirectory)/Configurations.props" /> - <PropertyGroup> - <InputOSGroup Condition="'$(InputOSGroup)'==''">$(OSEnvironment)</InputOSGroup> - </PropertyGroup> - <!-- Informs build tools to apply .NET Framework metadata if not a test project --> <PropertyGroup> <IsDotNetFrameworkProductAssembly>true</IsDotNetFrameworkProductAssembly> </PropertyGroup> - <PropertyGroup> - <BuildToolsTargets45 Condition="'$(OsEnvironment)'=='Windows_NT'">true</BuildToolsTargets45> - </PropertyGroup> - <!-- Common repo directories --> <PropertyGroup> <ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir> @@ -49,10 +32,6 @@ <!-- Input Directories --> <PackagesDir Condition="'$(PackagesDir)'==''">$(ProjectDir)packages/</PackagesDir> - - <!-- Temporarily outside BinDir --> - <PackageInstallPath>$(ProjectDir)bin.localpkg/</PackageInstallPath> - <ToolsDir Condition="'$(UseToolRuntimeForToolsDir)'=='true'">$(ToolRuntimePath)</ToolsDir> <ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)Tools/</ToolsDir> <ToolRuntimePath Condition="'$(ToolRuntimePath)'==''">$(ToolsDir)</ToolRuntimePath> @@ -75,6 +54,11 @@ <!-- Import Build tools common props file where repo-independent properties are found --> <Import Project="$(ToolsDir)Build.Common.props" Condition="Exists('$(ToolsDir)Build.Common.props')" /> + <PropertyGroup> + <InputOSGroup Condition="'$(InputOSGroup)'==''">$(OSEnvironment)</InputOSGroup> + <BuildToolsTargets45 Condition="'$(OsEnvironment)'=='Windows_NT'">true</BuildToolsTargets45> + </PropertyGroup> + <Import Project="$(MSBuildThisFileDirectory)targetingpacks.props" /> <!-- Enable the analyzers for this repo --> @@ -111,54 +95,38 @@ <DnuSourceList Include="https:%2F%2Fdotnet.myget.org/F/dotnet-core/api/v3/index.json" /> <DnuSourceList Include="https:%2F%2Fwww.nuget.org/api/v2/" /> </ItemGroup> - - <ItemGroup> - <DnuSourceList Condition="'$(BuildTestsAgainstPackages)' == 'true' and '$(RestoreForTestsAgainstPackagesOnly)' == 'true'" Include="$(PackageInstallPath)" /> - </ItemGroup> - + <!-- This is the directory where we dynamically generate project.json's for our test build package dependencies --> <PropertyGroup Condition="'$(BuildTestsAgainstPackages)' == 'true'"> <BuildTestsAgainstPackagesIdentityRegex>$(CoreFxVersionsIdentityRegex)</BuildTestsAgainstPackagesIdentityRegex> <SkipVerifyPackageVersions>true</SkipVerifyPackageVersions> </PropertyGroup> - - <!-- When restoring test projects with generated project.json's (during build.cmd), only restore using local packages --> - <PropertyGroup Condition="'$(RestoreForTestsAgainstPackagesOnly)' == 'true'"> - <ExcludeInternetFeeds Condition="'$(ExcludeInternetFeeds)' == ''">true</ExcludeInternetFeeds> - <ExcludeNonTestRestores Condition="'$(ExcludeNonTestRestores)' == ''">true</ExcludeNonTestRestores> - </PropertyGroup> - <!-- list of directories to perform batch restore --> <ItemGroup> - <DnuRestoreDir Include="$(MSBuildThisFileDirectory)src/" /> - <DnuRestoreDir Condition="'$(ExcludeNonTestRestores)' != 'true'" Include="$(MSBuildThisFileDirectory)pkg/" /> - <DnuRestoreDir Condition="'$(ExcludeNonTestRestores)' != 'true'" Include="$(MSBuildThisFileDirectory)layout" /> - <DnuRestoreDir Condition="'$(BuildTestsAgainstPackages)' == 'true'" Include="$(GeneratedProjectJsonDir)/" /> + <DnuRestoreDir Include="$(MSBuildThisFileDirectory)src" /> + <DnuRestoreDir Include="$(MSBuildThisFileDirectory)pkg" /> + <DnuRestoreDir Include="$(MSBuildThisFileDirectory)layout" /> + <DnuRestoreDir Condition="'$(BuildTestsAgainstPackages)' == 'true'" Include="$(GeneratedProjectJsonDir)" /> </ItemGroup> <PropertyGroup> <DnxPackageDir Condition="'$(DnxPackageDir)'==''">$(PackagesDir)/$(DnxPackageName)/</DnxPackageDir> - <DnuToolPath Condition="'$(DnuToolPath)'=='' and '$(OsEnvironment)'!='Unix'">$(DnxPackageDir)/bin/dnu.cmd</DnuToolPath> - <DnuToolPath Condition="'$(DnuToolPath)'=='' and '$(OsEnvironment)'=='Unix'">$(DnxPackageDir)/bin/dnu</DnuToolPath> - <DotnetToolCommand Condition="'$(DotnetToolCommand)' == '' and '$(OsEnvironment)'!='Unix'">$(DotnetCliPath)dotnet.exe</DotnetToolCommand> - <DotnetToolCommand Condition="'$(DotnetToolCommand)' == '' and '$(OsEnvironment)'=='Unix'">$(DotnetCliPath)dotnet</DotnetToolCommand> + <DnuToolPath Condition="'$(DnuToolPath)'=='' and '$(RunningOnUnix)'!='true'">$(DnxPackageDir)/bin/dnu.cmd</DnuToolPath> + <DnuToolPath Condition="'$(DnuToolPath)'=='' and '$(RunningOnUnix)'=='true'">$(DnxPackageDir)/bin/dnu</DnuToolPath> + <DotnetToolCommand Condition="'$(DotnetToolCommand)' == '' and '$(RunningOnUnix)'!='true'">$(DotnetCliPath)dotnet.exe</DotnetToolCommand> + <DotnetToolCommand Condition="'$(DotnetToolCommand)' == '' and '$(RunningOnUnix)'=='true'">$(DotnetCliPath)dotnet</DotnetToolCommand> <DnuToolPath>$(DotnetToolCommand)</DnuToolPath> <DnuRestoreSource>@(DnuSourceList -> '--source %(Identity)', ' ')</DnuRestoreSource> <DnuRestoreCommand>"$(DnuToolPath)"</DnuRestoreCommand> <DnuRestoreCommand>$(DnuRestoreCommand) restore</DnuRestoreCommand> - - <DnuRestoreCommandForBuildTestsAgainstPackages Condition="'$(BuildTestsAgainstPackages)' == 'true' and '$(RestoreForTestsAgainstPackagesOnly)' == 'true'">$(DnuRestoreCommand) --packages "$(PackageInstallPath)" --source $(PackagesDir)</DnuRestoreCommandForBuildTestsAgainstPackages> - <DnuRestoreCommand Condition="'$(ParallelRestore)'=='true'">$(DnuRestoreCommand) --parallel</DnuRestoreCommand> <DnuRestoreCommand Condition="'$(UseNuGetHttpCache)'!='true'">$(DnuRestoreCommand) --no-cache</DnuRestoreCommand> <DnuRestoreCommand>$(DnuRestoreCommand) --packages "$(PackagesDir.TrimEnd('/\'.ToCharArray()))" $(DnuRestoreSource)</DnuRestoreCommand> <DnuRestoreCommand Condition="'$(LockDependencies)' == 'true'">$(DnuRestoreCommand) --lock</DnuRestoreCommand> <DnuRestoreCommand Condition="'$(NuGetConfigPath)'!=''">$(DnuRestoreCommand) --configfile $(NuGetConfigPath)</DnuRestoreCommand> - - <DnuRestoreCommand Condition="'$(BuildTestsAgainstPackages)' == 'true' and '$(RestoreForTestsAgainstPackagesOnly)' == 'true'">$(DnuRestoreCommandForBuildTestsAgainstPackages)</DnuRestoreCommand> </PropertyGroup> <PropertyGroup> @@ -170,13 +138,16 @@ <PropertyGroup> <ArchGroup Condition="'$(ArchGroup)'==''">x64</ArchGroup> - <BuildConfiguration_OSGroup>$(OS)</BuildConfiguration_OSGroup> + <BuildConfiguration_OSGroup>$(OSEnvironment)</BuildConfiguration_OSGroup> <BuildConfiguration_OSGroup Condition="'$(OSGroup)' != ''">$(OSGroup)</BuildConfiguration_OSGroup> <BuildConfiguration_ConfigurationGroup>Debug</BuildConfiguration_ConfigurationGroup> <BuildConfiguration_ConfigurationGroup Condition="'$(ConfigurationGroup)' != ''">$(ConfigurationGroup)</BuildConfiguration_ConfigurationGroup> <BuildConfiguration Condition="'$(BuildConfiguration)' == ''">netcoreapp-$(BuildConfiguration_OSGroup)-$(BuildConfiguration_ConfigurationGroup)-$(ArchGroup)</BuildConfiguration> <BuildConfigurationImportFile>$(ToolsDir)/configuration/configuration.props</BuildConfigurationImportFile> + + <!-- Need to try and keep the same logic as the native builds as we need this for packaging --> + <NativeBinDir>$(BinDir)$(BuildConfiguration_OSGroup).$(ArchGroup).$(ConfigurationGroup)/native</NativeBinDir> </PropertyGroup> <Import Project="$(BuildConfigurationImportFile)" Condition="Exists('$(BuildConfigurationImportFile)')" /> @@ -215,8 +186,6 @@ <TestTFM Condition="'$(TestTFM)'==''">$(DefaultTestTFM)</TestTFM> <!-- we default FilterToTestTFM to DefaultTestTFM if it is not explicity defined --> <FilterToTestTFM Condition="'$(FilterToTestTFM)'==''">$(DefaultTestTFM)</FilterToTestTFM> - <!-- FilterTestNugetTargetMoniker needs to stay in the long form to be used for Framework and Runtime filtering purposes --> - <FilterTestNugetTargetMoniker Condition="'$(FilterTestNugetTargetMoniker)'==''">.NETCoreApp,Version=v1.1</FilterTestNugetTargetMoniker> </PropertyGroup> <PropertyGroup> @@ -282,11 +251,6 @@ <PackagesBasePath Condition="'$(PackagesBasePath)'==''">$(BinDir)$(OSPlatformConfig)</PackagesBasePath> <PackageOutputPath Condition="'$(PackageOutputPath)'==''">$(PackageOutputRoot)$(ConfigurationGroup)/</PackageOutputPath> <SymbolPackageOutputPath Condition="'$(SymbolPackageOutputPath)'==''">$(PackageOutputPath)symbols/</SymbolPackageOutputPath> - - <!-- When testing against packages, we want to run against just the localpackages cache --> - <PackagesDir Condition="'$(BuildTestsAgainstPackages)'=='true'">$(PackageInstallPath)</PackagesDir> - <!-- PackageDrops is set to the bin folder where packages are built to generate the new test project.json for these --> - <PackagesDrops Condition="'$(PackagesDrops)'==''">$(PackageOutputPath)</PackagesDrops> </PropertyGroup> <PropertyGroup> @@ -295,6 +259,6 @@ </PropertyGroup> <!-- Use Roslyn Compilers to build --> - <Import Project="$(RoslynPropsFile)" Condition="'$(OSEnvironment)'!='Unix' and Exists('$(RoslynPropsFile)') and '$(UseRoslynCompilers)'!='false'" /> - <Import Project="$(RoslynPropsFile)" Condition="'$(OSEnvironment)'=='Unix' and Exists('$(RoslynPropsFile)')" /> + <Import Project="$(RoslynPropsFile)" Condition="'$(RunningOnUnix)'!='true' and Exists('$(RoslynPropsFile)') and '$(UseRoslynCompilers)'!='false'" /> + <Import Project="$(RoslynPropsFile)" Condition="'$(RunningOnUnix)'=='true' and Exists('$(RoslynPropsFile)')" /> </Project> diff --git a/external/dir.props b/external/dir.props index 6523d6f11d..250e89c72f 100644 --- a/external/dir.props +++ b/external/dir.props @@ -5,6 +5,7 @@ <IsRuntimeAssembly>false</IsRuntimeAssembly> </PropertyGroup> <PropertyGroup> + <IntermediateOutputPath>$(IntermediateOutputPath)$(ArchGroup)/</IntermediateOutputPath> <ProjectJsonTemplate>$(MSBuildThisProjectDirectory)project.json.template</ProjectJsonTemplate> <ProjectJson Condition="Exists('$(ProjectJsonTemplate)')">$(IntermediateOutputPath)project.json</ProjectJson> <ProjectLockJson Condition="Exists('$(ProjectJsonTemplate)')">$(IntermediateOutputPath)project.lock.json</ProjectLockJson> diff --git a/external/dir.targets b/external/dir.targets index 1559405717..84ddfc97ae 100644 --- a/external/dir.targets +++ b/external/dir.targets @@ -20,7 +20,7 @@ Overwrite="true" /> <ItemGroup> - <FileWrites Include="$(ProjectJson)" /> + <FileWrites Include="$(ProjectJson);$(ProjectLockJson)" /> </ItemGroup> </Target> diff --git a/netci.groovy b/netci.groovy index 7221be2f41..5588226b3e 100644 --- a/netci.groovy +++ b/netci.groovy @@ -59,8 +59,6 @@ def osShortName = ['Windows 10': 'win10', def buildArchConfiguration = ['Debug': 'x86', 'Release': 'x64'] -def testNugetRuntimeIdConfiguration = ['Debug': 'win7-x86', - 'Release': 'win7-x64'] // ************************** // Define code coverage build // ************************** @@ -230,13 +228,16 @@ def testNugetRuntimeIdConfiguration = ['Debug': 'win7-x86', def newJob = job(Utilities.getFullJobName(project, newJobName, isPR)) { steps { if (osName == 'Windows 10' || osName == 'Windows 7' || osName == 'Windows_NT') { - batchFile("call \"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat\" x86 && build.cmd -${configurationGroup} -outerloop -- /p:WithoutCategories=IgnoreForCI") + batchFile("call \"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat\" x86 && build.cmd -${configurationGroup}") + batchFile("call \"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat\" x86 && build-tests.cmd -${configurationGroup} -outerloop -- /p:WithoutCategories=IgnoreForCI") } else if (osName == 'OSX') { - shell("HOME=\$WORKSPACE/tempHome ./build.sh -${configurationGroup.toLowerCase()} -outerloop -- /p:TestWithLocalNativeLibraries=true /p:TestNugetRuntimeId=${targetNugetRuntimeMap[osName]} /p:WithoutCategories=IgnoreForCI") + shell("HOME=\$WORKSPACE/tempHome ./build.sh -${configurationGroup.toLowerCase()}") + shell("HOME=\$WORKSPACE/tempHome ./build-tests.sh -${configurationGroup.toLowerCase()} -outerloop -- /p:WithoutCategories=IgnoreForCI") } else { - shell("sudo HOME=\$WORKSPACE/tempHome ./build.sh -${configurationGroup.toLowerCase()} -outerloop -- /p:TestWithLocalNativeLibraries=true /p:TestNugetRuntimeId=${targetNugetRuntimeMap[osName]} /p:WithoutCategories=IgnoreForCI") + shell("sudo HOME=\$WORKSPACE/tempHome ./build.sh -${configurationGroup.toLowerCase()}") + shell("sudo HOME=\$WORKSPACE/tempHome ./build-tests.sh -${configurationGroup.toLowerCase()} -outerloop -- /p:WithoutCategories=IgnoreForCI") } } } @@ -316,13 +317,15 @@ def testNugetRuntimeIdConfiguration = ['Debug': 'win7-x86', // On Windows we use the packer to put together everything. On *nix we use tar steps { if (osName == 'Windows 10' || osName == 'Windows 7' || osName == 'Windows_NT') { - batchFile("call \"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat\" x86 && build.cmd -${configurationGroup} -os:${osGroup} -buildArch:${buildArchConfiguration[configurationGroup]} -TestNugetRuntimeId:${testNugetRuntimeIdConfiguration[configurationGroup]} -- /p:WithoutCategories=IgnoreForCI /p:BuildConfiguration=${targetGroup}-${osGroup}-${configurationGroup}-${buildArchConfiguration[configurationGroup]}") + batchFile("call \"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat\" x86 && build.cmd -${configurationGroup} -os:${osGroup} -buildArch:${buildArchConfiguration[configurationGroup]} -- /p:BuildConfiguration=${targetGroup}-${osGroup}-${configurationGroup}-${buildArchConfiguration[configurationGroup]}") + batchFile("call \"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat\" x86 && build-tests.cmd -${configurationGroup} -os:${osGroup} -buildArch:${buildArchConfiguration[configurationGroup]} -- /p:WithoutCategories=IgnoreForCI /p:BuildConfiguration=${targetGroup}-${osGroup}-${configurationGroup}-${buildArchConfiguration[configurationGroup]}") batchFile("C:\\Packer\\Packer.exe .\\bin\\build.pack .\\bin") } else { // Use Server GC for Ubuntu/OSX Debug PR build & test def useServerGC = (configurationGroup == 'Release' && isPR) ? 'useServerGC' : '' - shell("HOME=\$WORKSPACE/tempHome ./build.sh -${configurationGroup.toLowerCase()} -- ${useServerGC} /p:TestWithLocalNativeLibraries=true /p:TestNugetRuntimeId=${targetNugetRuntimeMap[osName]} /p:WithoutCategories=IgnoreForCI /p:BuildConfiguration=${targetGroup}-${osGroup}-${configurationGroup}-x64") + shell("HOME=\$WORKSPACE/tempHome ./build.sh -${configurationGroup.toLowerCase()} -- /p:BuildConfiguration=${targetGroup}-${osGroup}-${configurationGroup}-x64") + shell("HOME=\$WORKSPACE/tempHome ./build-tests.sh -${configurationGroup.toLowerCase()} -- ${useServerGC} /p:TestWithLocalNativeLibraries=true /p:WithoutCategories=IgnoreForCI /p:BuildConfiguration=${targetGroup}-${osGroup}-${configurationGroup}-x64") // Tar up the appropriate bits. On OSX the tarring is a different syntax for exclusion. if (osName == 'OSX') { // TODO: Re-enable package archival when the build refactoring work allows it. diff --git a/pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.pkgproj b/pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.pkgproj index 7ffe5dd367..2ce06d9955 100644 --- a/pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.pkgproj +++ b/pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.pkgproj @@ -24,7 +24,7 @@ <AdditionalLibPackageExcludes Condition="'$(SymbolFileExtension)' != ''" Include="%2A%2A\%2A$(SymbolFileExtension)" /> <AdditionalSymbolPackageExcludes Condition="'$(LibraryFileExtension)' != ''" Include="%2A%2A\%2A.a;%2A%2A\%2A$(LibraryFileExtension)" /> </ItemGroup> - + <PropertyGroup> <IsLineupPackage Condition="'$(PackageTargetRuntime)' == ''">true</IsLineupPackage> <TargetFrameworkName>netcoreapp</TargetFrameworkName> @@ -35,13 +35,12 @@ <RefBinDir>$(BinDir)$(TargetFrameworkName)/pkg/ref</RefBinDir> <LibBinDir>$(BinDir)$(TargetFrameworkName)/pkg/lib</LibBinDir> - <NativeBinDir>$(BinDir)$(OSGroup).$(PackagePlatform).$(ConfigurationGroup)/native</NativeBinDir> <NETStandardLibraryPackage>NETStandard.Library2</NETStandardLibraryPackage> <NETStandardLibraryPackageVersion>2.0.0-beta-24709-0</NETStandardLibraryPackageVersion> <NETStandardVersion>1.7</NETStandardVersion> </PropertyGroup> - + <ItemGroup> <SuppressNETStandardMissingFile Include="mscorlib" /> <SuppressNETStandardMissingFile Include="netstandard" /> @@ -57,7 +56,7 @@ <ItemGroup Condition="'$(PackageTargetRuntime)' == ''"> <ProjectReference Include="@(Project)" /> - + <!-- Include refs --> <RefFile Include="$(RefBinDir)/*.*"> <TargetPath>ref/$(TargetFramework)</TargetPath> @@ -113,7 +112,7 @@ <Message Condition="'@(_NETStandardSuppressedMissingFile)' != ''" Text="Files'@(_NETStandardSuppressedMissingFile)' are part of '$(NETStandardLibraryPackage)' but missing from this package. This error has been suppressed." /> <Error Condition="'@(_NETStandardMissingFileError)' != ''" Text="Files '@(_NETStandardMissingFileError)' are part of '$(NETStandardLibraryPackage)' but missing from this package." /> </Target> - + <Target Name="GetSymbolPackageFiles" BeforeTargets="GetPackageFiles"> <ItemGroup> <File> diff --git a/pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.props b/pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.props index 738141221a..bd2261ac12 100644 --- a/pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.props +++ b/pkg/Microsoft.Private.CoreFx.NETCoreApp/Microsoft.Private.CoreFx.NETCoreApp.props @@ -13,27 +13,20 @@ <OfficialBuildRID Include="fedora.24-x64" /> <OfficialBuildRID Include="opensuse.13.2-x64" /> <OfficialBuildRID Include="opensuse.42.1-x64" /> - <OfficialBuildRID Include="osx.10.10-x64"> - <OSGroup>OSX</OSGroup> - </OfficialBuildRID> + <OfficialBuildRID Include="osx.10.10-x64" /> <OfficialBuildRID Include="rhel.7-x64" /> <OfficialBuildRID Include="ubuntu.14.04-x64" /> <OfficialBuildRID Include="ubuntu.16.04-x64" /> <OfficialBuildRID Include="ubuntu.16.10-x64" /> <OfficialBuildRID Include="win7-x86"> <Platform>x86</Platform> - <OSGroup>Windows_NT</OSGroup> - </OfficialBuildRID> - <OfficialBuildRID Include="win7-x64"> - <OSGroup>Windows_NT</OSGroup> </OfficialBuildRID> + <OfficialBuildRID Include="win7-x64" /> <OfficialBuildRID Include="win8-arm"> <Platform>arm</Platform> - <OSGroup>Windows_NT</OSGroup> </OfficialBuildRID> <OfficialBuildRID Include="win10-arm64"> <Platform>arm64</Platform> - <OSGroup>Windows_NT</OSGroup> </OfficialBuildRID> <!-- Ensure we have a RID-specific package for the current build, even if it isn't in our official set --> @@ -41,18 +34,16 @@ <BuildRID Include="$(PackageRID)"> <Platform Condition="'$(ArchGroup)' == 'x64'">amd64</Platform> <Platform Condition="'$(ArchGroup)' != 'x64'">$(ArchGroup)</Platform> - <OSGroup>$(BuildConfiguration_OSGroup)</OSGroup> </BuildRID> </ItemGroup> <ItemGroup> <_project Include="@(BuildRID)"> - <OSGroup Condition="'%(OSGroup)' == ''">Linux</OSGroup> <Platform Condition="'%(Platform)' == ''">amd64</Platform> <PackageTargetRuntime>%(Identity)</PackageTargetRuntime> - <AdditionalProperties>PackageTargetRuntime=%(Identity);OSGroup=%(OSGroup);Platform=%(Platform)</AdditionalProperties> + <AdditionalProperties>PackageTargetRuntime=%(Identity);Platform=%(Platform)</AdditionalProperties> </_project> - + <Project Include="@(_project->'$(MSBuildProjectName).pkgproj')" /> </ItemGroup> </Project>
\ No newline at end of file diff --git a/src/Tools/CoreFx.Tools/GenerateConfigurationProps.cs b/src/Tools/CoreFx.Tools/GenerateConfigurationProps.cs index 75399daf3b..da524ce77d 100644 --- a/src/Tools/CoreFx.Tools/GenerateConfigurationProps.cs +++ b/src/Tools/CoreFx.Tools/GenerateConfigurationProps.cs @@ -61,6 +61,7 @@ namespace Microsoft.DotNet.Build.Tasks CreateRuntimeIdentifier(project); var projectPath = Path.Combine(PropsFolder, $"{PropsFileName}{PropsFileExtension}"); + project.TreatAsLocalProperty = string.Join<string>(";", ConfigurationFactory.GetProperties().Select(pi => pi.Name)); project.Save(projectPath); return !Log.HasLoggedErrors; diff --git a/src/Tools/corefxTools.props b/src/Tools/corefxTools.props index 89a95d571b..119849bd92 100644 --- a/src/Tools/corefxTools.props +++ b/src/Tools/corefxTools.props @@ -5,7 +5,7 @@ <!-- Temporarily enable local build of tools --> <CoreFxToolsDir Condition="'$(CoreFxToolsDir)' == ''">$(ToolsDir)</CoreFxToolsDir> <CoreFxDesktopToolsDir Condition="'$(CoreFxDesktopToolsDir)' == ''">$(ToolsDir)net45/</CoreFxDesktopToolsDir> - <CoreFxToolsTaskDir Condition="'$(CoreFxToolsTaskDir)' == '' AND '$(BuildToolsTargets45)' != 'true'">$(CoreFxToolsDir)</CoreFxToolsTaskDir> - <CoreFxToolsTaskDir Condition="'$(CoreFxToolsTaskDir)' == '' AND '$(BuildToolsTargets45)' == 'true'">$(CoreFxDesktopToolsDir)</CoreFxToolsTaskDir> + <CoreFxToolsTaskDir Condition="'$(CoreFxToolsTaskDir)' == '' AND '$(MSBuildRuntimeType)' == 'core'">$(CoreFxToolsDir)</CoreFxToolsTaskDir> + <CoreFxToolsTaskDir Condition="'$(CoreFxToolsTaskDir)' == '' AND '$(MSBuildRuntimeType)' != 'core'">$(CoreFxDesktopToolsDir)</CoreFxToolsTaskDir> </PropertyGroup> </Project> |