From ed1ead865e6d1424cf22158b45e82ec150f56af3 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 1 Mar 2017 15:06:45 -0800 Subject: [PATCH 001/100] RepoToolset --- 35MSSharedLib1024.snk | Bin 0 -> 160 bytes Build.proj | 82 +++++++++++++++++++++++++++++ Compiler.props | 23 ++++++++ GenerateInternalsVisibleTo.targets | 55 +++++++++++++++++++ GenerateNuspecProperties.csx | 11 ++++ GenerateNuspecProperties.targets | 39 ++++++++++++++ GitHash.props | 35 ++++++++++++ Imports.targets | 17 ++++++ NuGet.props | 10 ++++ ProjectDefaults.props | 63 ++++++++++++++++++++++ ProjectLayout.props | 16 ++++++ RepoLayout.props | 16 ++++++ Settings.props | 8 +++ Sign.proj | 24 +++++++++ StrongName.targets | 54 +++++++++++++++++++ Test.props | 22 ++++++++ Test.targets | 60 +++++++++++++++++++++ Version.props | 62 ++++++++++++++++++++++ 18 files changed, 597 insertions(+) create mode 100644 35MSSharedLib1024.snk create mode 100644 Build.proj create mode 100644 Compiler.props create mode 100644 GenerateInternalsVisibleTo.targets create mode 100644 GenerateNuspecProperties.csx create mode 100644 GenerateNuspecProperties.targets create mode 100644 GitHash.props create mode 100644 Imports.targets create mode 100644 NuGet.props create mode 100644 ProjectDefaults.props create mode 100644 ProjectLayout.props create mode 100644 RepoLayout.props create mode 100644 Settings.props create mode 100644 Sign.proj create mode 100644 StrongName.targets create mode 100644 Test.props create mode 100644 Test.targets create mode 100644 Version.props diff --git a/35MSSharedLib1024.snk b/35MSSharedLib1024.snk new file mode 100644 index 0000000000000000000000000000000000000000..695f1b38774e839e5b90059bfb7f32df1dff4223 GIT binary patch literal 160 zcmV;R0AK$ABme*efB*oL000060ssI2Bme+XQ$aBR1ONa50098C{E+7Ye`kjtcRG*W zi8#m|)B?I?xgZ^2Sw5D;l4TxtPwG;3)3^j?qDHjEteSTF{rM+4WI`v zCD?tsZ^;k+S&r1&HRMb=j738S=;J$tCKNrc$@P|lZ + + + + + <_DirectoryBuildPropsFile>Directory.Build.props + <_DirectoryBuildPropsBasePath>$([MSBuild]::GetDirectoryNameOfFileAbove('$(SolutionPath)', '$(_DirectoryBuildPropsFile)')) + $([System.IO.Path]::Combine('$(_DirectoryBuildPropsBasePath)', '$(_DirectoryBuildPropsFile)')) + + + + + + + + <_DotNetDlls Include="$(DotNetRoot)sdk\**\dotnet.dll" /> + + + + + + + Debug + Configuration=$(Configuration);CIBuild=$(CIBuild) + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Compiler.props b/Compiler.props new file mode 100644 index 00000000000..e17ab86c22b --- /dev/null +++ b/Compiler.props @@ -0,0 +1,23 @@ + + + + + + + $(NuGetPackageRoot)Microsoft.Net.Compilers\$(ToolsetCompilerPackageVersion)\ + $(ToolsetCompilerPackageDir)build\Microsoft.Net.Compilers.props + + + + + + + + \ No newline at end of file diff --git a/GenerateInternalsVisibleTo.targets b/GenerateInternalsVisibleTo.targets new file mode 100644 index 00000000000..2630c8bad74 --- /dev/null +++ b/GenerateInternalsVisibleTo.targets @@ -0,0 +1,55 @@ + + + + $(IntermediateOutputPath)$(MSBuildProjectName).InternalsVisibleTo$(DefaultLanguageSourceExtension) + + + + + false + + + + + , PublicKey=$(PublicKey) + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GenerateNuspecProperties.csx b/GenerateNuspecProperties.csx new file mode 100644 index 00000000000..e9863b13f1e --- /dev/null +++ b/GenerateNuspecProperties.csx @@ -0,0 +1,11 @@ +#r "System.Xml.Linq" +using System.Xml.Linq; + +// Args: +// - Path to Dependencies.props +// - Output file path + +File.WriteAllLines(Args[1], + from e in XDocument.Load(Args[0]).Root.Descendants() + where e.Name.LocalName.EndsWith("Version") + select $"{e.Name.LocalName}={e.Value}"); diff --git a/GenerateNuspecProperties.targets b/GenerateNuspecProperties.targets new file mode 100644 index 00000000000..fd46f17f1f0 --- /dev/null +++ b/GenerateNuspecProperties.targets @@ -0,0 +1,39 @@ + + + + + + GenerateNuspecProperties;$(PackDependsOn) + + + + + <_NuspecPropertiesTempFile>$(IntermediateOutputPath)NuspecProps.txt + + + + + + + + + + $([System.IO.Path]::GetFullPath('$(OutDir)')) + version=$(Version);@(_PropsForDependencies, ';') + + + \ No newline at end of file diff --git a/GitHash.props b/GitHash.props new file mode 100644 index 00000000000..d6c4a43d897 --- /dev/null +++ b/GitHash.props @@ -0,0 +1,35 @@ + + + + + + + + $(BUILD_SOURCEVERSION) + + + + + $(GIT_COMMIT) + + + + + Not found + <_DotGitDir>$(RepoRoot)\.git + <_HeadFileContent Condition="Exists('$(_DotGitDir)/HEAD')">$([System.IO.File]::ReadAllText('$(_DotGitDir)/HEAD').Trim()) + <_RefPath Condition="$(_HeadFileContent.StartsWith('ref: '))">$(_DotGitDir)/$(_HeadFileContent.Substring(5)) + $([System.IO.File]::ReadAllText('$(_RefPath)').Trim()) + $(_HeadFileContent) + + + + \ No newline at end of file diff --git a/Imports.targets b/Imports.targets new file mode 100644 index 00000000000..f5bc3617188 --- /dev/null +++ b/Imports.targets @@ -0,0 +1,17 @@ + + + + + + + + + + + true + + + \ No newline at end of file diff --git a/NuGet.props b/NuGet.props new file mode 100644 index 00000000000..128dea02246 --- /dev/null +++ b/NuGet.props @@ -0,0 +1,10 @@ + + + + + $(NUGET_PACKAGES) + $(UserProfile)\.nuget\packages\ + $([System.Environment]::GetFolderPath(SpecialFolder.Personal))\.nuget\packages\ + $(NuGetPackageRoot)\ + + \ No newline at end of file diff --git a/ProjectDefaults.props b/ProjectDefaults.props new file mode 100644 index 00000000000..7d9004a0f11 --- /dev/null +++ b/ProjectDefaults.props @@ -0,0 +1,63 @@ + + + + true + true + Microsoft Corporation + © Microsoft Corporation. All rights reserved. + Microsoft + true + true + http://go.microsoft.com/fwlink/?LinkId=529443 + + + false + + + + + + + true + $(NoWarn);1591 + + + + true + full + DEBUG;TRACE + + + + full + TRACE + true + + + + + + + Empty + Binary + On + On + On + Embed + true + + + + + true + true + true + + + + true + true + + + + \ No newline at end of file diff --git a/ProjectLayout.props b/ProjectLayout.props new file mode 100644 index 00000000000..ab3d37461ef --- /dev/null +++ b/ProjectLayout.props @@ -0,0 +1,16 @@ + + + + + + + + $([System.IO.Path]::GetFileName('$(MSBuildProjectDirectory)')) + $(ArtifactsBinDir)$(OutDirName)\ + $(BaseOutputPath) + $(ArtifactsObjDir)$(OutDirName)\ + $(BaseIntermediateOutputPath) + + \ No newline at end of file diff --git a/RepoLayout.props b/RepoLayout.props new file mode 100644 index 00000000000..eff8f2fd640 --- /dev/null +++ b/RepoLayout.props @@ -0,0 +1,16 @@ + + + + + + $(RepoRoot).dotnet\ + $(DotNetRoot)dotnet.exe + $(RepoRoot)artifacts\ + $(ArtifactsDir)$(Configuration)\bin\ + $(ArtifactsDir)$(Configuration)\obj\ + $(ArtifactsDir)$(Configuration)\TestResults\ + $(ArtifactsDir)$(Configuration)\packages\ + + \ No newline at end of file diff --git a/Settings.props b/Settings.props new file mode 100644 index 00000000000..c6415db1004 --- /dev/null +++ b/Settings.props @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Sign.proj b/Sign.proj new file mode 100644 index 00000000000..7a290206c65 --- /dev/null +++ b/Sign.proj @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/StrongName.targets b/StrongName.targets new file mode 100644 index 00000000000..6f474001573 --- /dev/null +++ b/StrongName.targets @@ -0,0 +1,54 @@ + + + + + + + + + + true + false + + + + + + + false + true + + + + + + + $(MSBuildThisFileDirectory)\35MSSharedLib1024.snk + 0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9 + 31BF3856AD364E35 + + + + + + + $(PrepareForBuildDependsOn);VerifyBuildFlags + + + + + + \ No newline at end of file diff --git a/Test.props b/Test.props new file mode 100644 index 00000000000..bf1d4958349 --- /dev/null +++ b/Test.props @@ -0,0 +1,22 @@ + + + + true + + + + + + + + + + + + + + + PreserveNewest + + + \ No newline at end of file diff --git a/Test.targets b/Test.targets new file mode 100644 index 00000000000..85225942a62 --- /dev/null +++ b/Test.targets @@ -0,0 +1,60 @@ + + + + x64 + true + <_TestTargetName Condition="'$(TargetFrameworks)' == ''">InnerTest + <_TestTargetName Condition="'$(TargetFrameworks)' != ''">OuterTest + + + + + + <_TestArchitectureItems Include="$(TestArchitectures)" /> + + + + + + <_TestArchitecture>%(_TestArchitectureItems.Identity) + <_TestEnvironment>$(TargetFramework)|$(_TestArchitecture) + <_TestOutPathNoExt>$(ArtifactsTestResultsDir)$(MSBuildProjectName)_$(TargetFramework)_$(_TestArchitecture) + <_TestStdOutPath>$(_TestOutPathNoExt).log + <_TestLogPath>$(_TestOutPathNoExt).xml + <_TestLogger>xunit;LogFilePath="$(_TestLogPath)";Environment="$(_TestEnvironment)";XUnitVersion="$(XUnitVersion)" + + + + + + + + + + + + + <_FailedTestRuns Include="$(_TestEnvironment)" Condition="'$(_TestErrorCode)' != '0'" /> + + + + + + + + + <_TargetFramework Include="$(TargetFrameworks)" /> + + + + + + + + \ No newline at end of file diff --git a/Version.props b/Version.props new file mode 100644 index 00000000000..bc0187718cf --- /dev/null +++ b/Version.props @@ -0,0 +1,62 @@ + + + + + + + + + $(VersionBase).0 + + + + + + <_BuildNumberFiveDigitDateStamp>$([MSBuild]::Subtract($(BUILD_BUILDNUMBER.Split('.')[0].Substring(3).Trim()), 8800)) + <_BuildNumberBuildOfTheDayPadded>$(BUILD_BUILDNUMBER.Split('.')[1].PadLeft(2,'0')) + $(VersionBase) + $(Version)-$(PreReleaseVersionLabel)-$(_BuildNumberFiveDigitDateStamp)-$(_BuildNumberBuildOfTheDayPadded) + $(VersionBase).$(_BuildNumberFiveDigitDateStamp) + $(VersionBase).$(_BuildNumberFiveDigitDateStamp)$(_BuildNumberBuildOfTheDayPadded) + $(Version). Commit Hash: $(GitHeadSha) + + + + + + $(VersionBase)-ci + $(VersionBase).65535 + $(VersionBase).9000000 + $(FileVersion) + + + + + + $(VersionBase)-dev + 42.42.42.42 + 42.42.42.42 + $(VersionBase).9000000 + $(FileVersion) + + + + From e60de132e34529644120e7d685d8c52b2df39240 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 1 Mar 2017 15:54:54 -0800 Subject: [PATCH 002/100] Use desktop msbuild for signing --- Sign.proj | 1 - 1 file changed, 1 deletion(-) diff --git a/Sign.proj b/Sign.proj index 7a290206c65..7da26212a7a 100644 --- a/Sign.proj +++ b/Sign.proj @@ -13,7 +13,6 @@ - From 017d6551ede1b0ba76f403f9c66a6da9f77f27c4 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 7 Mar 2017 20:03:32 -0800 Subject: [PATCH 003/100] Add support for building VSIXes Enable building multiple VS setup components --- Build.proj | 6 ++++ RepoLayout.props | 1 + VisualStudio.Pack.proj | 41 +++++++++++++++++++++ VisualStudio.SetupPackage.vsmanproj | 36 +++++++++++++++++++ VisualStudio.props | 18 ++++++++++ VisualStudio.targets | 55 +++++++++++++++++++++++++++++ 6 files changed, 157 insertions(+) create mode 100644 VisualStudio.Pack.proj create mode 100644 VisualStudio.SetupPackage.vsmanproj create mode 100644 VisualStudio.props create mode 100644 VisualStudio.targets diff --git a/Build.proj b/Build.proj index 010d41990ed..d7be8df4db4 100644 --- a/Build.proj +++ b/Build.proj @@ -78,5 +78,11 @@ Targets="@(PostSignTargets)" BuildInParallel="true" Condition="'@(PostSignTargets)' != ''"/> + + \ No newline at end of file diff --git a/RepoLayout.props b/RepoLayout.props index eff8f2fd640..91711d45dd9 100644 --- a/RepoLayout.props +++ b/RepoLayout.props @@ -12,5 +12,6 @@ $(ArtifactsDir)$(Configuration)\obj\ $(ArtifactsDir)$(Configuration)\TestResults\ $(ArtifactsDir)$(Configuration)\packages\ + $(ArtifactsDir)$(Configuration)\VSSetup\ \ No newline at end of file diff --git a/VisualStudio.Pack.proj b/VisualStudio.Pack.proj new file mode 100644 index 00000000000..48aed9cbde0 --- /dev/null +++ b/VisualStudio.Pack.proj @@ -0,0 +1,41 @@ + + + + + + + + + <_VisualStudioSetupComponents Include="$(VisualStudioSetupOutputPath)**\*.json"/> + + + + + + + <_ComponentDir>%(_VisualStudioSetupComponents.RecursiveDir) + <_ComponentName>%(_VisualStudioSetupComponents.Filename) + <_SetupIntermediateOutputPath>$(ArtifactsDir)$(Configuration)\VSSetup.obj\$(_ComponentDir) + <_ComponentProj>$(_SetupIntermediateOutputPath)\$(_ComponentName).vsmanproj + + + + <_Args Include="SetupOutputPath=$(VisualStudioSetupOutputPath)$(_ComponentDir)"/> + <_Args Include="SetupIntermediateOutputPath=$(_SetupIntermediateOutputPath)"/> + <_Args Include="MicroBuildPath=$(NuGetPackageRoot)MicroBuild.Core\$(MicroBuildCoreVersion)\"/> + + + + + + + + + diff --git a/VisualStudio.SetupPackage.vsmanproj b/VisualStudio.SetupPackage.vsmanproj new file mode 100644 index 00000000000..45605199de0 --- /dev/null +++ b/VisualStudio.SetupPackage.vsmanproj @@ -0,0 +1,36 @@ + + + + + + false + false + false + + + + + + true + true + true + v4.6 + $(SetupOutputPath) + $(SetupIntermediateOutputPath) + + + + false + + + + + + + + diff --git a/VisualStudio.props b/VisualStudio.props new file mode 100644 index 00000000000..bbf44d80383 --- /dev/null +++ b/VisualStudio.props @@ -0,0 +1,18 @@ + + + + + + + Program + $(DevEnvDir)devenv.exe + Exp + /rootsuffix $(VisualStudioDeploymentRootSuffix) /log + + true + true + true + All + 3 + + \ No newline at end of file diff --git a/VisualStudio.targets b/VisualStudio.targets new file mode 100644 index 00000000000..6a78fc94964 --- /dev/null +++ b/VisualStudio.targets @@ -0,0 +1,55 @@ + + + + + <_GeneratedCTOFilesWithCulture Include="@(_GeneratedCTOFilesWithNoCulture)"> + en + true + + <_GeneratedCTOFilesWithNoCulture Remove="@(_GeneratedCTOFilesWithNoCulture)" /> + <_ResourcesToMergeWithCTOWithCultureMetadata Condition="'%(WithCulture)' != 'true'"> + en + true + + + + + + + <_VsixPayload Include="$(OutputPath)$(VsixPackageId).json" /> + + + <_VsixPayload Include="$(OutputPath)$(MSBuildProjectName).vsix" /> + + + + + + + + + + + + + + \ No newline at end of file From 238f00fb6a222f2aeb450cd8424430e9f1e488bb Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Fri, 10 Mar 2017 21:21:00 -0800 Subject: [PATCH 004/100] Support testing without dotnet cli --- Test.props | 1 - Test.targets | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Test.props b/Test.props index bf1d4958349..684d1378788 100644 --- a/Test.props +++ b/Test.props @@ -11,7 +11,6 @@ - diff --git a/Test.targets b/Test.targets index 85225942a62..0dbb32a6755 100644 --- a/Test.targets +++ b/Test.targets @@ -5,6 +5,8 @@ true <_TestTargetName Condition="'$(TargetFrameworks)' == ''">InnerTest <_TestTargetName Condition="'$(TargetFrameworks)' != ''">OuterTest + <_TestUsingDotNetCli>false + <_TestUsingDotNetCli Condition="Exists('$(DotNetTool)')">true @@ -15,20 +17,32 @@ + + <_TestArchitecture>%(_TestArchitectureItems.Identity) <_TestEnvironment>$(TargetFramework)|$(_TestArchitecture) <_TestOutPathNoExt>$(ArtifactsTestResultsDir)$(MSBuildProjectName)_$(TargetFramework)_$(_TestArchitecture) <_TestStdOutPath>$(_TestOutPathNoExt).log <_TestLogPath>$(_TestOutPathNoExt).xml + + + <_TestLogger>xunit;LogFilePath="$(_TestLogPath)";Environment="$(_TestEnvironment)";XUnitVersion="$(XUnitVersion)" + <_TestRunnerCommand>"$(DotNetTool)" test "$(MSBuildProjectFullPath)" --no-build --framework:$(TargetFramework) --configuration:$(Configuration) --logger:$(_TestLogger) -- --platform:$(_TestArchitecture) + + + + <_XUnitConsoleExe>xunit.console.exe + <_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe + <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitRunnerConsoleVersion)\tools\$(_XUnitConsoleExe)" "$(TargetPath)" -verbose -xml "$(_TestLogPath)" - From 0ccbfa99b9ddc20b9294238e4729cd1ad72c4ad2 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Sat, 11 Mar 2017 13:28:45 -0800 Subject: [PATCH 005/100] Set NoBuild=true for NuGet packing --- Build.proj | 14 +++++++------- Compiler.props | 9 ++++++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Build.proj b/Build.proj index d7be8df4db4..efe5e5abffa 100644 --- a/Build.proj +++ b/Build.proj @@ -53,10 +53,6 @@ - - - - @@ -73,11 +69,15 @@ BuildInParallel="true" Condition="'$(Sign)' == 'true'"/> + + Condition="'$(Pack)' == 'true'"/> - $(NuGetPackageRoot)Microsoft.Net.Compilers\$(ToolsetCompilerPackageVersion)\ + $(NuGetPackageRoot)Microsoft.Net.Compilers\$(MicrosoftNetCompilersVersion)\ $(ToolsetCompilerPackageDir)build\Microsoft.Net.Compilers.props - + + From 5523a1af0fd1b111d4cc134a55608967cfbd0a3a Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 28 Mar 2017 13:26:13 -0700 Subject: [PATCH 006/100] TestResults dir and DeployExtension --- Build.proj | 9 ++++++++- VisualStudio.props | 6 +++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Build.proj b/Build.proj index efe5e5abffa..83cb475b67f 100644 --- a/Build.proj +++ b/Build.proj @@ -12,6 +12,7 @@ Test "true" to run tests Sign "true" to sign built binaries Pack "true" to build NuGet packages + Properties List of properties to pass to each build phase ("Name=Value;Name=Value;...") --> @@ -44,7 +45,7 @@ Debug - Configuration=$(Configuration);CIBuild=$(CIBuild) + $(Properties);Configuration=$(Configuration);CIBuild=$(CIBuild) @@ -53,6 +54,12 @@ + + + diff --git a/VisualStudio.props b/VisualStudio.props index bbf44d80383..a6156740367 100644 --- a/VisualStudio.props +++ b/VisualStudio.props @@ -4,11 +4,11 @@ + true + false Program $(DevEnvDir)devenv.exe - Exp - /rootsuffix $(VisualStudioDeploymentRootSuffix) /log - + /rootsuffix $(VSSDKTargetPlatformRegRootSuffix) /log true true true From bec94a4e417b872c7412167c778b924e85f8778d Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 28 Mar 2017 18:37:01 -0700 Subject: [PATCH 007/100] Don't create TestResults dir --- Build.proj | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Build.proj b/Build.proj index 83cb475b67f..7372dc5dc3a 100644 --- a/Build.proj +++ b/Build.proj @@ -53,12 +53,6 @@ - - - - GenerateNuspecProperties;$(PackDependsOn) + $(GenerateNuspecDependsOn);GenerateNuspecProperties - + <_NuspecPropertiesTempFile>$(IntermediateOutputPath)NuspecProps.txt @@ -36,4 +34,4 @@ version=$(Version);@(_PropsForDependencies, ';') - \ No newline at end of file + From 2db9075a1560d13f1da088d148eb6e1ebdd20091 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Mon, 3 Apr 2017 16:28:05 -0700 Subject: [PATCH 009/100] Fix NuspecBasePath value --- GenerateNuspecProperties.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GenerateNuspecProperties.targets b/GenerateNuspecProperties.targets index eabae020b0a..41a1f0ecef4 100644 --- a/GenerateNuspecProperties.targets +++ b/GenerateNuspecProperties.targets @@ -8,13 +8,14 @@ https://github.com/NuGet/Home/wiki/Adding-nuget-pack-as-a-msbuild-target#packing-using-a-nuspec. Required properties: - RepoRoot VersionsPropsPath ToolsetCompilerPackageDir + OutputPath IntermediateOutputPath --> + $(OutputPath) $(GenerateNuspecDependsOn);GenerateNuspecProperties @@ -30,7 +31,6 @@ - $([System.IO.Path]::GetFullPath('$(OutDir)')) version=$(Version);@(_PropsForDependencies, ';') From a664b639621e900ba11b939d18a7a8e75f6b0975 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 31 May 2017 19:31:19 -0700 Subject: [PATCH 010/100] PublicSign regardless of BuildProject value --- StrongName.targets | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/StrongName.targets b/StrongName.targets index 6f474001573..12544558872 100644 --- a/StrongName.targets +++ b/StrongName.targets @@ -4,7 +4,6 @@ Reads variables: SignAssembly "true" to sign the output assembly of the current project SignType "real" to real-sign the outputs (set by microbuild as an environment variable) - BuildingProject "true" if building from command line, "false" to indicate a design-time build Writes variables: DelaySign @@ -16,8 +15,7 @@ - - + true false @@ -25,7 +23,6 @@ - false true From 6e2ba9e1a3ea67c337fcc1332c13225b3c7f6377 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 1 Jun 2017 08:49:24 -0700 Subject: [PATCH 011/100] Workaround for lack of support for satallite assembly public signing --- StrongName.targets | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/StrongName.targets b/StrongName.targets index 12544558872..01cd3d60b51 100644 --- a/StrongName.targets +++ b/StrongName.targets @@ -39,6 +39,22 @@ + + + + <_DelaySignMainAssembly>$(DelaySign) + true + + + + + $(_DelaySignMainAssembly) + + + $(PrepareForBuildDependsOn);VerifyBuildFlags From e073f729c392ab70644035b5a706f5e9ba5f0e03 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Fri, 9 Jun 2017 13:58:12 -0700 Subject: [PATCH 012/100] RepoToolset v19 --- Imports.targets | 7 +++++++ ProjectDefaults.props | 9 ++++++++- ProjectLayout.props | 2 +- StrongName.targets | 2 +- VisualStudio.DesignTimeBuild.targets | 10 ++++++++++ VisualStudio.targets | 11 ++++++++++- 6 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 VisualStudio.DesignTimeBuild.targets diff --git a/Imports.targets b/Imports.targets index f5bc3617188..1054aeca7fc 100644 --- a/Imports.targets +++ b/Imports.targets @@ -14,4 +14,11 @@ true + + + + + \ No newline at end of file diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 7d9004a0f11..8f0b75de47c 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -3,6 +3,7 @@ true true + en-US Microsoft Corporation © Microsoft Corporation. All rights reserved. Microsoft @@ -12,6 +13,13 @@ false + + + false @@ -45,7 +53,6 @@ On Embed true - diff --git a/ProjectLayout.props b/ProjectLayout.props index ab3d37461ef..680919c078e 100644 --- a/ProjectLayout.props +++ b/ProjectLayout.props @@ -7,7 +7,7 @@ - $([System.IO.Path]::GetFileName('$(MSBuildProjectDirectory)')) + $(MSBuildProjectName) $(ArtifactsBinDir)$(OutDirName)\ $(BaseOutputPath) $(ArtifactsObjDir)$(OutDirName)\ diff --git a/StrongName.targets b/StrongName.targets index 01cd3d60b51..81010c7058b 100644 --- a/StrongName.targets +++ b/StrongName.targets @@ -32,7 +32,7 @@ - $(MSBuildThisFileDirectory)\35MSSharedLib1024.snk + $(MSBuildThisFileDirectory)35MSSharedLib1024.snk 0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9 31BF3856AD364E35 diff --git a/VisualStudio.DesignTimeBuild.targets b/VisualStudio.DesignTimeBuild.targets new file mode 100644 index 00000000000..5d8220f48d6 --- /dev/null +++ b/VisualStudio.DesignTimeBuild.targets @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/VisualStudio.targets b/VisualStudio.targets index 6a78fc94964..685de4060ab 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -1,4 +1,13 @@ + + + + + + + + + + + + + + + + + + %(EmbeddedResource.Namespace).%(EmbeddedResource.Filename) + + + + + + + + + + + + + + $(IntermediateOutputPath)%(EmbeddedResourceSG.ManifestResourceName).cs + + + + \ No newline at end of file diff --git a/Imports.targets b/Imports.targets index 1054aeca7fc..bff7d536c77 100644 --- a/Imports.targets +++ b/Imports.targets @@ -2,6 +2,7 @@ + From 5ffd6d01fded8837d18f4182704d8d38f2c755ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Mon, 12 Jun 2017 10:43:36 -0700 Subject: [PATCH 014/100] Add a link to a workitem --- GenerateResxSource.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/GenerateResxSource.targets b/GenerateResxSource.targets index 99e396ed671..1c86d4b5ca4 100644 --- a/GenerateResxSource.targets +++ b/GenerateResxSource.targets @@ -36,10 +36,11 @@ + $(IntermediateOutputPath)%(EmbeddedResourceSG.ManifestResourceName).cs - \ No newline at end of file + From c0001c96b4585e1ef340c51557d1c6d515c9c80f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Mon, 12 Jun 2017 14:24:01 -0700 Subject: [PATCH 015/100] Add $(VisualStudioSetupComponent) back --- VisualStudio.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VisualStudio.targets b/VisualStudio.targets index 685de4060ab..701401a8627 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -53,7 +53,7 @@ DependsOnTargets="Build" Condition="'$(VisualStudioSetupComponent)' != '' and '$(DesignTimeBuild)' != 'true' and '$(BuildingForLiveUnitTesting)' != 'true'"> - + @@ -61,4 +61,4 @@ - \ No newline at end of file + From 3a7206a71d34d6c46bdb87054929864a18ed4254 Mon Sep 17 00:00:00 2001 From: Fredric Silberberg Date: Mon, 3 Jul 2017 14:01:41 -0700 Subject: [PATCH 016/100] Added nuget.exe to gitignore, fixed Build.proj whitespace issues. --- Build.proj | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Build.proj b/Build.proj index 7372dc5dc3a..85a216f2b31 100644 --- a/Build.proj +++ b/Build.proj @@ -1,9 +1,9 @@  - @@ -33,16 +33,16 @@ <_DotNetDlls Include="$(DotNetRoot)sdk\**\dotnet.dll" /> - + - + Debug $(Properties);Configuration=$(Configuration);CIBuild=$(CIBuild) @@ -53,11 +53,11 @@ - + - + - \ No newline at end of file + From b9f4abe245a106f89dea8d7cbe709651c4b8342b Mon Sep 17 00:00:00 2001 From: Fredric Silberberg Date: Mon, 3 Jul 2017 14:01:54 -0700 Subject: [PATCH 017/100] Added Rebuild. --- Build.proj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Build.proj b/Build.proj index 85a216f2b31..00314a052b6 100644 --- a/Build.proj +++ b/Build.proj @@ -9,6 +9,7 @@ CIBuild "true" when building on CI server Restore "true" to restore toolset and solution Build "true" to build solution + Rebuild "true" to rebuild solution Test "true" to run tests Sign "true" to sign built binaries Pack "true" to build NuGet packages @@ -50,7 +51,8 @@ - + > + From c0cdadc049e89f3c4d909899183b334200b9d7e6 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Fri, 14 Jul 2017 16:46:00 -0700 Subject: [PATCH 018/100] RepoToolset v21 --- Build.proj | 78 +++++++----- Compiler.props | 26 ---- DefaultVersions.props | 30 +++++ GenerateInternalsVisibleTo.targets | 43 +++---- GenerateResxSource.csx | 138 +++++++++++++++++--- GenerateResxSource.targets | 12 +- Imports.targets | 26 ++-- Localization.props | 14 +++ MSFT.snk | Bin 0 -> 160 bytes NuGet.config | 9 ++ OptimizationData.targets | 32 +++++ ProjectDefaults.props | 50 +++++++- RepoLayout.props | 3 + Settings.props | 11 +- Sign.proj | 3 +- SourceLink.props | 13 ++ StrongName.props | 7 ++ StrongName.targets | 48 ++++--- Test.props | 21 ---- Test.targets | 74 ----------- Tests.props | 25 ++++ Tools.proj | 16 +++ Tools.props | 6 + Version.props | 8 +- VisualStudio.ImportSdk.targets | 3 + VisualStudio.Insertion.Pack.proj | 72 +++++++++++ VisualStudio.Pack.proj | 41 ------ VisualStudio.SetupPackage.swixproj | 37 ++++++ VisualStudio.SetupPackage.vsmanproj | 25 ++-- VisualStudio.props | 24 +++- VisualStudio.targets | 187 +++++++++++++++++++++++----- Workarounds.targets | 73 +++++++++++ XUnit.props | 25 ++++ XUnit.targets | 113 +++++++++++++++++ xunit.runner.json | 3 + 35 files changed, 964 insertions(+), 332 deletions(-) delete mode 100644 Compiler.props create mode 100644 DefaultVersions.props create mode 100644 Localization.props create mode 100644 MSFT.snk create mode 100644 NuGet.config create mode 100644 OptimizationData.targets create mode 100644 SourceLink.props create mode 100644 StrongName.props delete mode 100644 Test.props delete mode 100644 Test.targets create mode 100644 Tests.props create mode 100644 Tools.proj create mode 100644 Tools.props create mode 100644 VisualStudio.ImportSdk.targets create mode 100644 VisualStudio.Insertion.Pack.proj delete mode 100644 VisualStudio.Pack.proj create mode 100644 VisualStudio.SetupPackage.swixproj create mode 100644 Workarounds.targets create mode 100644 XUnit.props create mode 100644 XUnit.targets create mode 100644 xunit.runner.json diff --git a/Build.proj b/Build.proj index 00314a052b6..d9bb4b8f40e 100644 --- a/Build.proj +++ b/Build.proj @@ -1,26 +1,29 @@ - + + - + <_DirectoryBuildPropsFile>Directory.Build.props <_DirectoryBuildPropsBasePath>$([MSBuild]::GetDirectoryNameOfFileAbove('$(SolutionPath)', '$(_DirectoryBuildPropsFile)')) @@ -29,37 +32,43 @@ + - - <_DotNetDlls Include="$(DotNetRoot)sdk\**\dotnet.dll" /> - - - - - Debug - $(Properties);Configuration=$(Configuration);CIBuild=$(CIBuild) + $(Properties);Configuration=$(Configuration);CIBuild=$(CIBuild);__DeployProjectOutput=$(Deploy) - > - + + + + - + + - - + + Condition="'$(Pack)' == 'true' and '$(UsingToolVSSDK)' == 'true'"/> - + \ No newline at end of file diff --git a/Compiler.props b/Compiler.props deleted file mode 100644 index 7313d853aa4..00000000000 --- a/Compiler.props +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - $(NuGetPackageRoot)Microsoft.Net.Compilers\$(MicrosoftNetCompilersVersion)\ - $(ToolsetCompilerPackageDir)build\Microsoft.Net.Compilers.props - - - - - - - - - - \ No newline at end of file diff --git a/DefaultVersions.props b/DefaultVersions.props new file mode 100644 index 00000000000..2b5e1bb436f --- /dev/null +++ b/DefaultVersions.props @@ -0,0 +1,30 @@ + + + + + + true + true + true + + + false + false + + + 0.2.0-beta-000051 + 2.2.0-b491 + 2.3.0-beta3-build3705 + 15.1.192 + 1.0.147 + 4.7.1-alpha-00001 + 0.3.3-beta + 0.2.0 + 2.3.0-beta3-build3705 + 15.3.0-preview-20170628-02 + 2.3.0-beta4-61908-01 + 0.2.4-beta + + \ No newline at end of file diff --git a/GenerateInternalsVisibleTo.targets b/GenerateInternalsVisibleTo.targets index 2630c8bad74..525163f3c02 100644 --- a/GenerateInternalsVisibleTo.targets +++ b/GenerateInternalsVisibleTo.targets @@ -10,42 +10,27 @@ - - , PublicKey=$(PublicKey) - + + + <_InternalsVisibleToAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute"> + <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' != ''">%(InternalsVisibleTo.Identity), PublicKey=%(InternalsVisibleTo.Key) + <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == ''">%(InternalsVisibleTo.Identity), PublicKey=$(PublicKey) + + + - + - - - - - - diff --git a/GenerateResxSource.csx b/GenerateResxSource.csx index f5f286af620..d8b55654aa4 100644 --- a/GenerateResxSource.csx +++ b/GenerateResxSource.csx @@ -2,15 +2,60 @@ #r "System.Xml.Linq" using System.Xml.Linq; +using System.Globalization; const int maxDocCommentLength = 256; -string resxFile = Args[0]; -string resourceName = Args[1]; -string sourceOutputPath = Args[2]; +string languageStr = Args[0]; +string resxFile = Args[1]; +string resourceName = Args[2]; +string sourceOutputPath = Args[3]; + +string namespaceName; +string className; + +string[] nameParts = resourceName.Split('.'); +if (nameParts.Length == 1) +{ + namespaceName = null; + className = nameParts[0]; +} +else +{ + namespaceName = string.Join(".", nameParts, 0, nameParts.Length - 1); + className = nameParts.Last(); +} + +bool cs = false, vb = false; +switch (languageStr.ToUpperInvariant()) +{ + case "C#": cs = true; break; + case "VB": vb = true; break; + default: throw new NotSupportedException($"GenerateResxSource doesn't support language: '{languageStr}'"); +} + +bool IsLetterChar(UnicodeCategory cat) +{ + // letter-character: + // A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl + // A Unicode-escape-sequence representing a character of classes Lu, Ll, Lt, Lm, Lo, or Nl + + switch (cat) + { + case UnicodeCategory.UppercaseLetter: + case UnicodeCategory.LowercaseLetter: + case UnicodeCategory.TitlecaseLetter: + case UnicodeCategory.ModifierLetter: + case UnicodeCategory.OtherLetter: + case UnicodeCategory.LetterNumber: + return true; + } + + return false; +} -string namespaceName = Path.GetFileNameWithoutExtension(resourceName); -string className = Path.GetExtension(resourceName).TrimStart('.'); +string classIndent = (namespaceName == null ? "" : " "); +string memberIndent = classIndent + " "; var strings = new StringBuilder(); foreach (var node in XDocument.Load(resxFile).Descendants("data")) @@ -18,6 +63,11 @@ foreach (var node in XDocument.Load(resxFile).Descendants("data")) string name = node.Attribute("name")?.Value ?? throw new InvalidDataException($"Missing resource name"); string value = node.Elements("value").FirstOrDefault()?.Value.Trim() ?? throw new InvalidDataException($"Missing resource value: '{name}'"); + if (name == "") + { + throw new InvalidDataException($"Empty resource name"); + } + if (value.Length > maxDocCommentLength) { value = value.Substring(0, maxDocCommentLength) + " ..."; @@ -27,28 +77,76 @@ foreach (var node in XDocument.Load(resxFile).Descendants("data")) foreach (var line in escapedTrimmedValue.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None)) { - strings.Append(" /// "); + strings.Append($"{memberIndent}{(cs ? "///" : vb ? "'''" : throw null)} "); strings.AppendLine(line); } - strings.AppendLine($" internal static string {name} => ResourceManager.GetString(\"{name}\", Culture);"); + string identifier = IsLetterChar(char.GetUnicodeCategory(name[0])) ? name : "_" + name; + + if (cs) + { + strings.AppendLine($"{memberIndent}internal static string {identifier} => ResourceManager.GetString(\"{name}\", Culture);"); + } + else if (vb) + { + strings.AppendLine($"{memberIndent}Friend Shared ReadOnly Property {identifier} As String"); + strings.AppendLine($"{memberIndent} Get"); + strings.AppendLine($"{memberIndent} Return ResourceManager.GetString(\"{name}\", Culture)"); + strings.AppendLine($"{memberIndent} End Get"); + strings.AppendLine($"{memberIndent}End Property"); + } + else + { + throw null; + } } -File.WriteAllText(sourceOutputPath, +string namespaceStart, namespaceEnd; +if (namespaceName == null) +{ + namespaceStart = namespaceEnd = null; +} +else if (cs) +{ + namespaceStart = $@"namespace {namespaceName}{Environment.NewLine}{{"; + namespaceEnd = "}" + Environment.NewLine; +} +else if (vb) +{ + namespaceStart = $"Namespace {namespaceName}"; + namespaceEnd = "End Namespace" + Environment.NewLine; +} +else +{ + throw null; +} + +File.WriteAllText(sourceOutputPath, cs ? $@"// -using System; -using System.Globalization; using System.Reflection; -using System.Resources; -namespace {namespaceName} -{{ - internal static class {className} - {{ - internal static CultureInfo Culture {{ get; set; }} - internal static ResourceManager ResourceManager {{ get; }} = new ResourceManager(""{resourceName}"", typeof({className}).GetTypeInfo().Assembly); +{namespaceStart} +{classIndent}internal static class {className} +{classIndent}{{ +{memberIndent}internal static global::System.Globalization.CultureInfo Culture {{ get; set; }} +{memberIndent}internal static global::System.Resources.ResourceManager ResourceManager {{ get; }} = new global::System.Resources.ResourceManager(""{resourceName}"", typeof({className}).GetTypeInfo().Assembly); + +{strings} +{classIndent}}} +{namespaceEnd} +" : vb ? +$@"' +Imports System.Reflection + +{namespaceStart} +{classIndent}Friend Class {className} +{memberIndent}Private Sub New +{memberIndent}End Sub +{memberIndent} +{memberIndent}Friend Shared Property Culture As Global.System.Globalization.CultureInfo +{memberIndent}Friend Shared ReadOnly Property ResourceManager As New Global.System.Resources.ResourceManager(""{resourceName}"", GetType({className}).GetTypeInfo().Assembly) {strings} - }} -}} -"); +{classIndent}End Class +{namespaceEnd}" +: throw null); diff --git a/GenerateResxSource.targets b/GenerateResxSource.targets index 1c86d4b5ca4..0f0c3364161 100644 --- a/GenerateResxSource.targets +++ b/GenerateResxSource.targets @@ -31,16 +31,20 @@ Inputs="@(EmbeddedResourceSG)" Outputs="%(EmbeddedResourceSG.SourceOutputPath)"> - + + + <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'C#'">cs + <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'VB'">vb + + - - $(IntermediateOutputPath)%(EmbeddedResourceSG.ManifestResourceName).cs + $(IntermediateOutputPath)%(EmbeddedResourceSG.ManifestResourceName).$(_EmbeddedResourceSourceExtension) - + \ No newline at end of file diff --git a/Imports.targets b/Imports.targets index bff7d536c77..37cff2b0b1b 100644 --- a/Imports.targets +++ b/Imports.targets @@ -1,25 +1,25 @@ - + + + $(__DeployProjectOutput) + + + + + - + - - - - - true - - + + + - + \ No newline at end of file diff --git a/Localization.props b/Localization.props new file mode 100644 index 00000000000..11dd845f26f --- /dev/null +++ b/Localization.props @@ -0,0 +1,14 @@ + + + + + true + + + + + + \ No newline at end of file diff --git a/MSFT.snk b/MSFT.snk new file mode 100644 index 0000000000000000000000000000000000000000..110b59c7b0d27388353dcf4116f721595f473e58 GIT binary patch literal 160 zcmV;R0AK$ABme*efB*oL000060ssI2Bme+XQ$aBR1ONa500968(fU`!uG#RTE`+KN zuKf+^=>2N!kB9pMc5H)8nUWr|JLj6&)!f0|n$k8CAp(#KayILlN=pn$R@96PlTucm;!K;}lU1BV%Wh@=~);)AxZ!P8VeqOH+#FjlK9EuV{ OWf&lBz>_phTGEsG5JRQ_ literal 0 HcmV?d00001 diff --git a/NuGet.config b/NuGet.config new file mode 100644 index 00000000000..b5bc2914bb7 --- /dev/null +++ b/NuGet.config @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/OptimizationData.targets b/OptimizationData.targets new file mode 100644 index 00000000000..e3f952bbf4b --- /dev/null +++ b/OptimizationData.targets @@ -0,0 +1,32 @@ + + + + + <_OptimizationDataFile>$([System.IO.Path]::GetFullPath('$(IbcOptimizationDataDir)$(TargetName).pgo')) + + + + + + <_RunIbc>false + <_RunIbc Condition="'$(Configuration)' == 'Release' and '$(OfficialBuild)' == 'true'">true + + <_IbcMergePath>$(NuGetPackageRoot)\Microsoft.DotNet.IBCMerge\$(MicrosoftDotNetIBCMergeVersion)\lib\net45\ibcmerge.exe + <_IbcMergeCommandLineArgs>-q -f -partialNGEN -minify -mo "@(IntermediateAssembly)" -incremental "$(_OptimizationDataFile)" + + + + + + + + + + + \ No newline at end of file diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 8f0b75de47c..0abd2073f04 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -1,7 +1,8 @@ - + true + MicrosoftShared true en-US Microsoft Corporation @@ -20,11 +21,52 @@ https://github.com/Microsoft/msbuild/issues/2202 --> false + + + false + + + IOperation,$(Features) + + C# + VB + + + + + + + + + C# + $(MSBuildToolsPath)\Microsoft.CSharp.targets + + + + + VB + $(MSBuildToolsPath)\Microsoft.VisualBasic.targets + + + + + + + + - + true $(NoWarn);1591 @@ -44,7 +86,7 @@ - + Empty Binary @@ -57,12 +99,14 @@ true + full true true true + full true diff --git a/RepoLayout.props b/RepoLayout.props index 91711d45dd9..fcb53853c8f 100644 --- a/RepoLayout.props +++ b/RepoLayout.props @@ -10,8 +10,11 @@ $(RepoRoot)artifacts\ $(ArtifactsDir)$(Configuration)\bin\ $(ArtifactsDir)$(Configuration)\obj\ + $(ArtifactsDir)toolset\ $(ArtifactsDir)$(Configuration)\TestResults\ $(ArtifactsDir)$(Configuration)\packages\ $(ArtifactsDir)$(Configuration)\VSSetup\ + $(VisualStudioSetupOutputPath)Insertion\ + $(ArtifactsDir)$(Configuration)\VSSetup.obj\ \ No newline at end of file diff --git a/Settings.props b/Settings.props index c6415db1004..bbd2e28d061 100644 --- a/Settings.props +++ b/Settings.props @@ -1,8 +1,15 @@  + - + - + + + + + + + \ No newline at end of file diff --git a/Sign.proj b/Sign.proj index 7da26212a7a..da78eea3e1c 100644 --- a/Sign.proj +++ b/Sign.proj @@ -8,7 +8,8 @@ - + + diff --git a/SourceLink.props b/SourceLink.props new file mode 100644 index 00000000000..95adca7954f --- /dev/null +++ b/SourceLink.props @@ -0,0 +1,13 @@ + + + + + true + + $(RepoRoot) + + + + + + \ No newline at end of file diff --git a/StrongName.props b/StrongName.props new file mode 100644 index 00000000000..ba48a4d9e43 --- /dev/null +++ b/StrongName.props @@ -0,0 +1,7 @@ + + + + 0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9 + 002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293 + + \ No newline at end of file diff --git a/StrongName.targets b/StrongName.targets index 81010c7058b..afadd5a1c05 100644 --- a/StrongName.targets +++ b/StrongName.targets @@ -4,6 +4,7 @@ Reads variables: SignAssembly "true" to sign the output assembly of the current project SignType "real" to real-sign the outputs (set by microbuild as an environment variable) + StrongNameKeyId The id of the key used for strong name generation Writes variables: DelaySign @@ -13,27 +14,34 @@ AssemblyOriginatorKeyFile --> - - - - - true - false - - + + + true + false + + - - - false - true - - - + + + false + true + + + - - + + + + + $(MSBuildThisFileDirectory)MSFT.snk + $(MicrosoftPublicKey) + b03f5f7f11d50a3a + + + + $(MSBuildThisFileDirectory)35MSSharedLib1024.snk - 0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9 + $(MicrosoftSharedPublicKey) 31BF3856AD364E35 @@ -63,5 +71,9 @@ + + \ No newline at end of file diff --git a/Test.props b/Test.props deleted file mode 100644 index 684d1378788..00000000000 --- a/Test.props +++ /dev/null @@ -1,21 +0,0 @@ - - - - true - - - - - - - - - - - - - - PreserveNewest - - - \ No newline at end of file diff --git a/Test.targets b/Test.targets deleted file mode 100644 index 0dbb32a6755..00000000000 --- a/Test.targets +++ /dev/null @@ -1,74 +0,0 @@ - - - - x64 - true - <_TestTargetName Condition="'$(TargetFrameworks)' == ''">InnerTest - <_TestTargetName Condition="'$(TargetFrameworks)' != ''">OuterTest - <_TestUsingDotNetCli>false - <_TestUsingDotNetCli Condition="Exists('$(DotNetTool)')">true - - - - - - <_TestArchitectureItems Include="$(TestArchitectures)" /> - - - - - - - - <_TestArchitecture>%(_TestArchitectureItems.Identity) - <_TestEnvironment>$(TargetFramework)|$(_TestArchitecture) - <_TestOutPathNoExt>$(ArtifactsTestResultsDir)$(MSBuildProjectName)_$(TargetFramework)_$(_TestArchitecture) - <_TestStdOutPath>$(_TestOutPathNoExt).log - <_TestLogPath>$(_TestOutPathNoExt).xml - - - - <_TestLogger>xunit;LogFilePath="$(_TestLogPath)";Environment="$(_TestEnvironment)";XUnitVersion="$(XUnitVersion)" - <_TestRunnerCommand>"$(DotNetTool)" test "$(MSBuildProjectFullPath)" --no-build --framework:$(TargetFramework) --configuration:$(Configuration) --logger:$(_TestLogger) -- --platform:$(_TestArchitecture) - - - - <_XUnitConsoleExe>xunit.console.exe - <_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe - <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitRunnerConsoleVersion)\tools\$(_XUnitConsoleExe)" "$(TargetPath)" -verbose -xml "$(_TestLogPath)" - - - - - - - - - - - - - <_FailedTestRuns Include="$(_TestEnvironment)" Condition="'$(_TestErrorCode)' != '0'" /> - - - - - - - - - <_TargetFramework Include="$(TargetFrameworks)" /> - - - - - - - - \ No newline at end of file diff --git a/Tests.props b/Tests.props new file mode 100644 index 00000000000..44170b10eee --- /dev/null +++ b/Tests.props @@ -0,0 +1,25 @@ + + + + false + true + + + + false + true + + + + false + true + + + false + + + + + + + \ No newline at end of file diff --git a/Tools.proj b/Tools.proj new file mode 100644 index 00000000000..56ae6b80832 --- /dev/null +++ b/Tools.proj @@ -0,0 +1,16 @@ + + + + + net462 + + + + + + + + + \ No newline at end of file diff --git a/Tools.props b/Tools.props new file mode 100644 index 00000000000..9087e903e9d --- /dev/null +++ b/Tools.props @@ -0,0 +1,6 @@ + + + + $(NuGetPackageRoot)Microsoft.Net.Compilers\$(MicrosoftNetCompilersVersion)\ + + \ No newline at end of file diff --git a/Version.props b/Version.props index bc0187718cf..a880a6766ee 100644 --- a/Version.props +++ b/Version.props @@ -21,14 +21,16 @@ --> - - $(VersionBase).0 + false + true + + - + <_BuildNumberFiveDigitDateStamp>$([MSBuild]::Subtract($(BUILD_BUILDNUMBER.Split('.')[0].Substring(3).Trim()), 8800)) <_BuildNumberBuildOfTheDayPadded>$(BUILD_BUILDNUMBER.Split('.')[1].PadLeft(2,'0')) diff --git a/VisualStudio.ImportSdk.targets b/VisualStudio.ImportSdk.targets new file mode 100644 index 00000000000..7f32c2ef7d3 --- /dev/null +++ b/VisualStudio.ImportSdk.targets @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualStudio.Insertion.Pack.proj b/VisualStudio.Insertion.Pack.proj new file mode 100644 index 00000000000..85578327d12 --- /dev/null +++ b/VisualStudio.Insertion.Pack.proj @@ -0,0 +1,72 @@ + + + + + + + + + + <_StubFiles Include="$(VisualStudioSetupIntermediateOutputPath)**\*.stub"/> + <_StubDirs Include="@(_StubFiles->'%(RecursiveDir)')"/> + + + + + + + + + + <_VsixFileName>@(_StubLines) + <_JsonFileName>%(_StubFiles.FileName).json + <_RemoveExperimentalFlag>false + <_RemoveExperimentalFlag Condition="Exists('$(VisualStudioSetupOutputPath)$(_VsixFileName)')">true + + + + + + + + <_ModifyVsixManifestToolExe>$(NuGetPackageRoot)\RoslynTools.Microsoft.ModifyVsixManifest\$(RoslynToolsMicrosoftModifyVsixManifestVersion)\tools\ModifyVsixManifest.exe + <_ModifyVsixManifestArgs>--remove=//x:PackageManifest/x:Installation/@Experimental --add-attribute=//x:PackageManifest/x:Installation;SystemComponent;true + + + + + + + + + + + + <_ComponentDir>%(_StubDirs.Identity) + <_ComponentName>$(_ComponentDir.TrimEnd('\')) + + + + <_Args Include="ComponentName=$(_ComponentName)"/> + <_Args Include="SetupOutputPath=$(VisualStudioSetupInsertionPath)"/> + <_Args Include="ComponentIntermediateOutputPath=$(VisualStudioSetupIntermediateOutputPath)$(_ComponentName)\"/> + <_Args Include="MicroBuildPath=$(NuGetPackageRoot)MicroBuild.Core\$(MicroBuildCoreVersion)\"/> + + + + + + + + + diff --git a/VisualStudio.Pack.proj b/VisualStudio.Pack.proj deleted file mode 100644 index 48aed9cbde0..00000000000 --- a/VisualStudio.Pack.proj +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - <_VisualStudioSetupComponents Include="$(VisualStudioSetupOutputPath)**\*.json"/> - - - - - - - <_ComponentDir>%(_VisualStudioSetupComponents.RecursiveDir) - <_ComponentName>%(_VisualStudioSetupComponents.Filename) - <_SetupIntermediateOutputPath>$(ArtifactsDir)$(Configuration)\VSSetup.obj\$(_ComponentDir) - <_ComponentProj>$(_SetupIntermediateOutputPath)\$(_ComponentName).vsmanproj - - - - <_Args Include="SetupOutputPath=$(VisualStudioSetupOutputPath)$(_ComponentDir)"/> - <_Args Include="SetupIntermediateOutputPath=$(_SetupIntermediateOutputPath)"/> - <_Args Include="MicroBuildPath=$(NuGetPackageRoot)MicroBuild.Core\$(MicroBuildCoreVersion)\"/> - - - - - - - - - diff --git a/VisualStudio.SetupPackage.swixproj b/VisualStudio.SetupPackage.swixproj new file mode 100644 index 00000000000..a357a4932a0 --- /dev/null +++ b/VisualStudio.SetupPackage.swixproj @@ -0,0 +1,37 @@ + + + + + + v4.6 + neutral + false + vsix + true + $(SwrPackageName) + + + + + + <_SwrProperties Include="$([MSBuild]::Unescape($(SwrProperties)))" /> + + + + $(PackagePreprocessorDefinitions);@(_SwrProperties) + $(IntermediateOutputPath) + + + + + + + + \ No newline at end of file diff --git a/VisualStudio.SetupPackage.vsmanproj b/VisualStudio.SetupPackage.vsmanproj index 45605199de0..c7c741bb4e3 100644 --- a/VisualStudio.SetupPackage.vsmanproj +++ b/VisualStudio.SetupPackage.vsmanproj @@ -1,12 +1,13 @@ - + - + false false @@ -20,17 +21,19 @@ true true v4.6 + $(ComponentName) $(SetupOutputPath) - $(SetupIntermediateOutputPath) + $(ComponentIntermediateOutputPath) - + + + <_PackageStubFiles Include="$(ComponentIntermediateOutputPath)*.stub"/> + + + false - - - - diff --git a/VisualStudio.props b/VisualStudio.props index a6156740367..54423c9b600 100644 --- a/VisualStudio.props +++ b/VisualStudio.props @@ -1,18 +1,30 @@ + - - - - true - false + $(MSBuildProjectDirectory)\source.extension.vsixmanifest + false + true + + + + + + + + false + Program $(DevEnvDir)devenv.exe /rootsuffix $(VSSDKTargetPlatformRegRootSuffix) /log - true + true true All 3 + + + true + \ No newline at end of file diff --git a/VisualStudio.targets b/VisualStudio.targets index 701401a8627..de15983095a 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -1,12 +1,135 @@ + + + + + + <_TargetVsixContainerDir>$(VisualStudioSetupOutputPath) + + $(TargetName).vsix + $(_TargetVsixContainerDir)$(TargetVsixContainerName) + + false + true + + <_ComponentIntermediateDir Condition="'$(VisualStudioInsertionComponent)' != ''">$(VisualStudioSetupIntermediateOutputPath)$(VisualStudioInsertionComponent)\ + + - + Read package id from the extension.vsixmanifest file. VS SDK doesn't expose this value in any msbuild property. + --> + + + <_VsxXmlNamespace><Namespace Prefix='vsx' Uri='http://schemas.microsoft.com/developer/vsx-schema/2011'/> + + + + + + + + + + + + + + <_PackageStubFile>$(_ComponentIntermediateDir)$(_VsixPackageId).stub + + + + + + + + + + + + + + + + + + + + + + + + + + <_SwixNugets Include="$(NuGetPackageRoot)MicroBuild.Plugins.swixbuild\**\*.nupkg"/> + + + + + + + + + + <_SwrProperties>@(SwrProperty) + <_SwrFiles>@(SwrFile->'%(FullPath)') + + + <_SwixArgs Include="SwrProperties=$([MSBuild]::Escape($(_SwrProperties)))"/> + <_SwixArgs Include="SwrFiles=$([MSBuild]::Escape($(_SwrFiles)))"/> + <_SwixArgs Include="SwrPackageName=$(TargetName)"/> + <_SwixArgs Include="IntermediateOutputPath=$(IntermediateOutputPath)"/> + <_SwixArgs Include="MicroBuildPath=$(NuGetPackageRoot)MicroBuild.Core\$(MicroBuildCoreVersion)\"/> + + + + + + + + + + + + + + + <_PackageStubFile>$(_ComponentIntermediateDir)$(TargetName).stub + + - <_VsixPayload Include="$(OutputPath)$(VsixPackageId).json" /> - - - <_VsixPayload Include="$(OutputPath)$(MSBuildProjectName).vsix" /> - - - - - - + + + + + + + + + + + %(IntermediateZipItem.Filename)\%(IntermediateZipItem.Language)\%(IntermediateZipItem.OutputSubPath)\%(IntermediateZipItem.Culture) + + + %(IntermediateZipProject.Filename)\%(IntermediateZipProject.Language)\%(IntermediateZipProject.OutputSubPath)\%(IntermediateZipProject.Culture) + + - - - - + + $(GetVsixSourceItemsDependsOn);GetVsixTemplateItems + + - + \ No newline at end of file diff --git a/Workarounds.targets b/Workarounds.targets new file mode 100644 index 00000000000..2249548b988 --- /dev/null +++ b/Workarounds.targets @@ -0,0 +1,73 @@ + + + + + + + true + + + + + + + false + + + + + + + + + + + + + + + + $([System.IO.Directory]::GetParent(%(ResourceCopyLocalItems.FullPath)).get_Name())\ + + + + + + + + + + + + + <_GenerateBindingRedirectsIntermediateAppConfig>$(IntermediateOutputPath)$(TargetFileName).config + + + \ No newline at end of file diff --git a/XUnit.props b/XUnit.props new file mode 100644 index 00000000000..442371f0fdf --- /dev/null +++ b/XUnit.props @@ -0,0 +1,25 @@ + + + + <_DotNetCliToolExists>false + <_DotNetCliToolExists Condition="Exists('$(DotNetTool)')">true + + $(_DotNetCliToolExists) + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + \ No newline at end of file diff --git a/XUnit.targets b/XUnit.targets new file mode 100644 index 00000000000..dd278079e11 --- /dev/null +++ b/XUnit.targets @@ -0,0 +1,113 @@ + + + + true + <_TestTargetName Condition="'$(TargetFrameworks)' == ''">InnerTest + <_TestTargetName Condition="'$(TargetFrameworks)' != ''">OuterTest + + + + $(PlatformTarget) + x64 + + + + + + + <_TestArchitectureItems Include="$(TestArchitectures)" /> + + + + + + + <_TestArchitecture>%(_TestArchitectureItems.Identity) + <_TestEnvironment>$(TargetFramework)|$(_TestArchitecture) + <_TestOutPathNoExt>$(ArtifactsTestResultsDir)$(MSBuildProjectName)_$(TargetFramework)_$(_TestArchitecture) + <_TestStdOutPath>$(_TestOutPathNoExt).log + <_TestLogPath>$(_TestOutPathNoExt).xml + <_TargetFileNameNoExt>$([System.IO.Path]::GetFileNameWithoutExtension('$(TargetFileName)')) + <_CoreRuntimeConfigPath>$(TargetDir)$(_TargetFileNameNoExt).runtimeconfig.json + <_CoreDepsPath>$(TargetDir)$(_TargetFileNameNoExt).deps.json + <_RunOnCore>false + <_RunOnCore Condition="'$(TestUsingDotNetCli)' == 'true' and $(TargetFramework.StartsWith('netcoreapp'))">true + + + + <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\netcoreapp1.0\xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestLogPath)" + + + + <_XUnitConsoleExe>xunit.console.exe + <_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe + <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -verbose -xml "$(_TestLogPath)" + + + + + + + + + + + + + + + + + <_FailedTestRuns Include="$(_TestEnvironment)" Condition="'$(_TestErrorCode)' != '0'" /> + + + + <_TestResultMessage Condition="'$(_TestErrorCode)' == '0'">Tests succeeded: $(TargetPath) [$(_TestEnvironment)] + <_TestResultMessage Condition="'$(_TestErrorCode)' != '0'">Tests failed: $(TargetPath) [$(_TestEnvironment)]; $(_TestStdOutPath) + + + + + + + + + + <_TargetFramework Include="$(TargetFrameworks)" /> + + + + + + + + + + + + + + + + + RemoveDuplicateXUnitContent;$(PrepareForBuildDependsOn) + + \ No newline at end of file diff --git a/xunit.runner.json b/xunit.runner.json new file mode 100644 index 00000000000..78c070e8320 --- /dev/null +++ b/xunit.runner.json @@ -0,0 +1,3 @@ +{ + "shadowCopy": false +} \ No newline at end of file From 8182294b15b749138483adad0cb8171f8bec6e20 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Fri, 14 Jul 2017 17:45:21 -0700 Subject: [PATCH 019/100] RepoToolset v22 --- VisualStudio.Insertion.Pack.proj | 4 ++-- XUnit.targets | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/VisualStudio.Insertion.Pack.proj b/VisualStudio.Insertion.Pack.proj index 85578327d12..b1d102ba4f9 100644 --- a/VisualStudio.Insertion.Pack.proj +++ b/VisualStudio.Insertion.Pack.proj @@ -19,7 +19,7 @@ The build produces VSIXes to VisualStudioSetupPath that need this treatment. This task copies them to VisualStudioSetupInsertionPath and removes the flag from the manifest. --> - + @@ -50,7 +50,7 @@ - + <_ComponentDir>%(_StubDirs.Identity) <_ComponentName>$(_ComponentDir.TrimEnd('\')) diff --git a/XUnit.targets b/XUnit.targets index dd278079e11..342e42baacc 100644 --- a/XUnit.targets +++ b/XUnit.targets @@ -92,10 +92,10 @@ In order to leverage LUT testing we need to have both of the following packages in our build. - - xunit.runner.desktop - - xunit + - xunit.runner.console + - xunit.runner.visualstudio - Both of these include xunit.abstractions.dll in different forms: content and reference + Both of these include xunit.abstractions.dll in different forms: reference and "none" respectively. This creates a double write violation in our build. The content item is unnecessary for us since we reference the xunit package hence remove it here. @@ -103,7 +103,7 @@ --> - + From 264ce08b2f34fa013b03815f85d3aa92f4e0b08a Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Mon, 17 Jul 2017 12:43:52 -0700 Subject: [PATCH 020/100] v25 --- Build.proj | 2 +- DefaultVersions.props | 2 +- Tools.proj | 2 +- Tools.props | 3 +++ VisualStudio.targets | 11 +++++++---- XUnit.props | 2 +- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Build.proj b/Build.proj index d9bb4b8f40e..2924e1c0482 100644 --- a/Build.proj +++ b/Build.proj @@ -56,7 +56,7 @@ - + + + + $(NuGetPackageRoot)Microsoft.Net.Compilers\$(MicrosoftNetCompilersVersion)\ diff --git a/VisualStudio.targets b/VisualStudio.targets index de15983095a..f5d1af3182f 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -171,12 +171,15 @@ --> - + + - - + %(IntermediateZipItem.Filename)\%(IntermediateZipItem.Language)\%(IntermediateZipItem.OutputSubPath)\%(IntermediateZipItem.Culture) @@ -187,7 +190,7 @@ - $(GetVsixSourceItemsDependsOn);GetVsixTemplateItems + $(GetVsixSourceItemsDependsOn);_GetVsixTemplateItems diff --git a/XUnit.props b/XUnit.props index 442371f0fdf..9d29994c8a9 100644 --- a/XUnit.props +++ b/XUnit.props @@ -12,7 +12,7 @@ - + From c87f3356084b58d741ea24c91fb1846798573761 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Mon, 17 Jul 2017 19:28:20 -0700 Subject: [PATCH 021/100] RepoToolset v27 --- RepoLayout.props | 13 +++++++------ Sign.proj | 2 +- VisualStudio.targets | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/RepoLayout.props b/RepoLayout.props index fcb53853c8f..ec9bd2e1e24 100644 --- a/RepoLayout.props +++ b/RepoLayout.props @@ -8,13 +8,14 @@ $(RepoRoot).dotnet\ $(DotNetRoot)dotnet.exe $(RepoRoot)artifacts\ - $(ArtifactsDir)$(Configuration)\bin\ - $(ArtifactsDir)$(Configuration)\obj\ + $(ArtifactsDir)$(Configuration)\ + $(ArtifactsConfigurationDir)\bin\ + $(ArtifactsConfigurationDir)\obj\ $(ArtifactsDir)toolset\ - $(ArtifactsDir)$(Configuration)\TestResults\ - $(ArtifactsDir)$(Configuration)\packages\ - $(ArtifactsDir)$(Configuration)\VSSetup\ + $(ArtifactsConfigurationDir)\TestResults\ + $(ArtifactsConfigurationDir)\packages\ + $(ArtifactsConfigurationDir)\VSSetup\ $(VisualStudioSetupOutputPath)Insertion\ - $(ArtifactsDir)$(Configuration)\VSSetup.obj\ + $(ArtifactsConfigurationDir)\VSSetup.obj\ \ No newline at end of file diff --git a/Sign.proj b/Sign.proj index da78eea3e1c..f4f4fc4a2f5 100644 --- a/Sign.proj +++ b/Sign.proj @@ -16,7 +16,7 @@ - + diff --git a/VisualStudio.targets b/VisualStudio.targets index f5d1af3182f..25908cf9d21 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -174,7 +174,7 @@ - + - 0.2.0-beta-000051 + 0.2.0-beta-000053 2.2.0-b491 2.3.0-beta3-build3705 15.1.192 From d76fdac93e190a20d9a9fe0137b92dbcd5a3b25e Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 20 Jul 2017 14:07:20 -0700 Subject: [PATCH 023/100] Remove extra backslash in paths --- RepoLayout.props | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/RepoLayout.props b/RepoLayout.props index ec9bd2e1e24..666d882e527 100644 --- a/RepoLayout.props +++ b/RepoLayout.props @@ -9,13 +9,13 @@ $(DotNetRoot)dotnet.exe $(RepoRoot)artifacts\ $(ArtifactsDir)$(Configuration)\ - $(ArtifactsConfigurationDir)\bin\ - $(ArtifactsConfigurationDir)\obj\ + $(ArtifactsConfigurationDir)bin\ + $(ArtifactsConfigurationDir)obj\ $(ArtifactsDir)toolset\ - $(ArtifactsConfigurationDir)\TestResults\ - $(ArtifactsConfigurationDir)\packages\ - $(ArtifactsConfigurationDir)\VSSetup\ + $(ArtifactsConfigurationDir)TestResults\ + $(ArtifactsConfigurationDir)packages\ + $(ArtifactsConfigurationDir)VSSetup\ $(VisualStudioSetupOutputPath)Insertion\ - $(ArtifactsConfigurationDir)\VSSetup.obj\ + $(ArtifactsConfigurationDir)VSSetup.obj\ \ No newline at end of file From 3de64cfdd79d9bb368c579839dc56c57fd9b4f51 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 20 Jul 2017 14:07:35 -0700 Subject: [PATCH 024/100] Fix signing: always public sign --- StrongName.targets | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/StrongName.targets b/StrongName.targets index afadd5a1c05..e536a38fa94 100644 --- a/StrongName.targets +++ b/StrongName.targets @@ -13,21 +13,11 @@ PublicKeyToken AssemblyOriginatorKeyFile --> - - - - true - false - - - - - - false - true - - - + + + false + true + From 799986ab15917a49b3059747214e3fb70185d243 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 20 Jul 2017 14:07:58 -0700 Subject: [PATCH 025/100] Remove Swix validation, it's not reliable on MicroBuild. --- VisualStudio.targets | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/VisualStudio.targets b/VisualStudio.targets index 25908cf9d21..05b879708df 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -83,16 +83,6 @@ BeforeTargets="CreateVsixContainer" DependsOnTargets="_SetStubFileNameFromManifest;_WriteComponentStubFile" Condition="'$(CreateVsixContainer)' == 'true' and '$(VisualStudioInsertionComponent)' != ''"/> - - - - <_SwixNugets Include="$(NuGetPackageRoot)MicroBuild.Plugins.swixbuild\**\*.nupkg"/> - - - - - - PreserveNewest - - - PreserveNewest - \ No newline at end of file diff --git a/XUnit.targets b/XUnit.targets index 342e42baacc..d6b7cbe52a2 100644 --- a/XUnit.targets +++ b/XUnit.targets @@ -26,7 +26,9 @@ <_TestEnvironment>$(TargetFramework)|$(_TestArchitecture) <_TestOutPathNoExt>$(ArtifactsTestResultsDir)$(MSBuildProjectName)_$(TargetFramework)_$(_TestArchitecture) <_TestStdOutPath>$(_TestOutPathNoExt).log - <_TestLogPath>$(_TestOutPathNoExt).xml + <_TestStdErrPath>$(_TestOutPathNoExt).error.log + <_TestResultsXmlPath>$(_TestOutPathNoExt).xml + <_TestResultsHtmlPath>$(_TestOutPathNoExt).html <_TargetFileNameNoExt>$([System.IO.Path]::GetFileNameWithoutExtension('$(TargetFileName)')) <_CoreRuntimeConfigPath>$(TargetDir)$(_TargetFileNameNoExt).runtimeconfig.json <_CoreDepsPath>$(TargetDir)$(_TargetFileNameNoExt).deps.json @@ -35,22 +37,21 @@ - <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\netcoreapp1.0\xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestLogPath)" + <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\netcoreapp1.0\xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath)" <_XUnitConsoleExe>xunit.console.exe <_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe - <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -verbose -xml "$(_TestLogPath)" + <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -noshadow -xml "$(_TestResultsXmlPath)" -html "$(_TestResultsHtmlPath)" - - + - @@ -63,15 +64,10 @@ <_FailedTestRuns Include="$(_TestEnvironment)" Condition="'$(_TestErrorCode)' != '0'" /> - - - <_TestResultMessage Condition="'$(_TestErrorCode)' == '0'">Tests succeeded: $(TargetPath) [$(_TestEnvironment)] - <_TestResultMessage Condition="'$(_TestErrorCode)' != '0'">Tests failed: $(TargetPath) [$(_TestEnvironment)]; $(_TestStdOutPath) - - - - + + + @@ -79,13 +75,13 @@ <_TargetFramework Include="$(TargetFrameworks)" /> - + + + + $(MSBuildProjectFullPath) + + Date: Thu, 20 Jul 2017 14:10:45 -0700 Subject: [PATCH 028/100] Use lower-cased package names --- OptimizationData.targets | 2 +- Sign.proj | 2 +- Tools.props | 2 +- VisualStudio.Insertion.Pack.proj | 4 ++-- VisualStudio.targets | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/OptimizationData.targets b/OptimizationData.targets index e3f952bbf4b..57fa94783cc 100644 --- a/OptimizationData.targets +++ b/OptimizationData.targets @@ -17,7 +17,7 @@ <_RunIbc>false <_RunIbc Condition="'$(Configuration)' == 'Release' and '$(OfficialBuild)' == 'true'">true - <_IbcMergePath>$(NuGetPackageRoot)\Microsoft.DotNet.IBCMerge\$(MicrosoftDotNetIBCMergeVersion)\lib\net45\ibcmerge.exe + <_IbcMergePath>$(NuGetPackageRoot)\microsoft.dotnet.ibcmerge\$(MicrosoftDotNetIBCMergeVersion)\lib\net45\ibcmerge.exe <_IbcMergeCommandLineArgs>-q -f -partialNGEN -minify -mo "@(IntermediateAssembly)" -incremental "$(_OptimizationDataFile)" diff --git a/Sign.proj b/Sign.proj index f4f4fc4a2f5..b29481c2541 100644 --- a/Sign.proj +++ b/Sign.proj @@ -19,6 +19,6 @@ - + diff --git a/Tools.props b/Tools.props index 840d891bc47..441fc8ebcf3 100644 --- a/Tools.props +++ b/Tools.props @@ -4,6 +4,6 @@ - $(NuGetPackageRoot)Microsoft.Net.Compilers\$(MicrosoftNetCompilersVersion)\ + $(NuGetPackageRoot)microsoft.net.compilers\$(MicrosoftNetCompilersVersion)\ \ No newline at end of file diff --git a/VisualStudio.Insertion.Pack.proj b/VisualStudio.Insertion.Pack.proj index b1d102ba4f9..80014463291 100644 --- a/VisualStudio.Insertion.Pack.proj +++ b/VisualStudio.Insertion.Pack.proj @@ -38,7 +38,7 @@ Condition="'$(_RemoveExperimentalFlag)' == 'true'"/> - <_ModifyVsixManifestToolExe>$(NuGetPackageRoot)\RoslynTools.Microsoft.ModifyVsixManifest\$(RoslynToolsMicrosoftModifyVsixManifestVersion)\tools\ModifyVsixManifest.exe + <_ModifyVsixManifestToolExe>$(NuGetPackageRoot)\roslyntools.microsoft.modifyvsixmanifest\$(RoslynToolsMicrosoftModifyVsixManifestVersion)\tools\ModifyVsixManifest.exe <_ModifyVsixManifestArgs>--remove=//x:PackageManifest/x:Installation/@Experimental --add-attribute=//x:PackageManifest/x:Installation;SystemComponent;true @@ -60,7 +60,7 @@ <_Args Include="ComponentName=$(_ComponentName)"/> <_Args Include="SetupOutputPath=$(VisualStudioSetupInsertionPath)"/> <_Args Include="ComponentIntermediateOutputPath=$(VisualStudioSetupIntermediateOutputPath)$(_ComponentName)\"/> - <_Args Include="MicroBuildPath=$(NuGetPackageRoot)MicroBuild.Core\$(MicroBuildCoreVersion)\"/> + <_Args Include="MicroBuildPath=$(NuGetPackageRoot)microbuild.core\$(MicroBuildCoreVersion)\"/> diff --git a/VisualStudio.targets b/VisualStudio.targets index 05b879708df..5a8d847d115 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -101,7 +101,7 @@ <_SwixArgs Include="SwrFiles=$([MSBuild]::Escape($(_SwrFiles)))"/> <_SwixArgs Include="SwrPackageName=$(TargetName)"/> <_SwixArgs Include="IntermediateOutputPath=$(IntermediateOutputPath)"/> - <_SwixArgs Include="MicroBuildPath=$(NuGetPackageRoot)MicroBuild.Core\$(MicroBuildCoreVersion)\"/> + <_SwixArgs Include="MicroBuildPath=$(NuGetPackageRoot)microbuild.core\$(MicroBuildCoreVersion)\"/> From 8e5a059f085370262f65c78512561c7cf0503c72 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 25 Jul 2017 17:16:36 -0700 Subject: [PATCH 029/100] Use VSIX version 42.42.42.42 when building locally --- Version.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Version.props b/Version.props index a880a6766ee..7fca4e916d9 100644 --- a/Version.props +++ b/Version.props @@ -56,7 +56,7 @@ $(VersionBase)-dev 42.42.42.42 42.42.42.42 - $(VersionBase).9000000 + 42.42.42.42 $(FileVersion) From 29e7b26f291b92abeca93d7b3dcddf39fd7c205c Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 25 Jul 2017 17:16:59 -0700 Subject: [PATCH 030/100] Implement quiet restore workaround --- Build.proj | 34 +++++++++++++++++++++++++++++++--- RepoLayout.props | 2 ++ 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/Build.proj b/Build.proj index 2924e1c0482..7fb3c1b88dc 100644 --- a/Build.proj +++ b/Build.proj @@ -17,7 +17,6 @@ Sign "true" to sign built binaries Pack "true" to build NuGet packages Properties List of properties to pass to each build phase ("Name=Value;Name=Value;...") - --> @@ -58,7 +60,32 @@ + + + + <_PropsItems Include="$(Props)" /> + <_PropsArgs Include="@(_PropsItems->'/p:%(Identity)')" /> + <_RestoreToolsPropArgs Include="@(RestoreToolsProp->'/p:%(Identity)')" /> + + + + <_PropsCmdLine>@(_PropsCmd, ' ') + <_RestoreToolsPropsCmdLine>@(_RestoreToolsPropArgs, ' ') + + + + + + + + + @@ -18,7 +18,7 @@ $(SwrPackageName) - + <_SwrProperties Include="$([MSBuild]::Unescape($(SwrProperties)))" /> @@ -33,5 +33,5 @@ - + \ No newline at end of file diff --git a/VisualStudio.SetupPackage.vsmanproj b/VisualStudio.SetupPackage.vsmanproj index c7c741bb4e3..8f99fdb4b4e 100644 --- a/VisualStudio.SetupPackage.vsmanproj +++ b/VisualStudio.SetupPackage.vsmanproj @@ -5,7 +5,7 @@ ComponentName Name of the component (VSIX) SetupOutputPath Directory to drop Willow manifests to. ComponentIntermediateOutputPath Intermediate directory where the component is being built. - MicroBuildPath MicroBuild package path. + SwixBuildPath SwixBuild package path. --> @@ -14,7 +14,7 @@ false - + true @@ -35,5 +35,5 @@ false - + diff --git a/VisualStudio.targets b/VisualStudio.targets index 5a8d847d115..bca4f3328af 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -101,7 +101,7 @@ <_SwixArgs Include="SwrFiles=$([MSBuild]::Escape($(_SwrFiles)))"/> <_SwixArgs Include="SwrPackageName=$(TargetName)"/> <_SwixArgs Include="IntermediateOutputPath=$(IntermediateOutputPath)"/> - <_SwixArgs Include="MicroBuildPath=$(NuGetPackageRoot)microbuild.core\$(MicroBuildCoreVersion)\"/> + <_SwixArgs Include="SwixBuildPath=$(NuGetPackageRoot)microbuild.plugins.swixbuild\$(MicroBuildPluginsSwixBuildVersion)\"/> From 49323abd2985e24e9afb185c8d0b1116a3fe969c Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Mon, 28 Aug 2017 18:03:01 -0700 Subject: [PATCH 034/100] Pass msbuild path to signtool to avoid locating VS --- Sign.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/Sign.proj b/Sign.proj index b29481c2541..1ed186f4ceb 100644 --- a/Sign.proj +++ b/Sign.proj @@ -16,6 +16,7 @@ + From a15786e61d8a51c0d41409d2db84dbc699bdff6b Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 29 Aug 2017 13:21:35 -0700 Subject: [PATCH 035/100] Fix file and vsix versions in CI build --- Version.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Version.props b/Version.props index 7fca4e916d9..bc3297825b3 100644 --- a/Version.props +++ b/Version.props @@ -45,8 +45,8 @@ $(VersionBase)-ci - $(VersionBase).65535 - $(VersionBase).9000000 + 42.42.42.42 + 42.42.42.42 $(FileVersion) From 8230cddf49c995401e6926d7facbbcb2d4e4eff1 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 29 Aug 2017 17:39:10 -0700 Subject: [PATCH 036/100] Pack insertion VSIXes before signing --- Build.proj | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/Build.proj b/Build.proj index 5dfbb6df2c0..4571d14fbaf 100644 --- a/Build.proj +++ b/Build.proj @@ -101,6 +101,19 @@ BuildInParallel="true" Condition="'@(PreSignTargets)' != ''"/> + + + - - - - \ No newline at end of file From 66ac4ec24863f3f79e004797453564967d67d980 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 31 Aug 2017 13:21:24 -0700 Subject: [PATCH 037/100] Fix vsman hash calculation --- Build.proj | 14 ++++++++++++-- ...ertion.Pack.proj => VisualStudio.Insertion.proj | 10 +++++++--- 2 files changed, 19 insertions(+), 5 deletions(-) rename VisualStudio.Insertion.Pack.proj => VisualStudio.Insertion.proj (90%) diff --git a/Build.proj b/Build.proj index 4571d14fbaf..851c7d8a9b8 100644 --- a/Build.proj +++ b/Build.proj @@ -108,9 +108,9 @@ VSIX packages that are inserted are updated (experimental flag is removed), so we need to do that before signing. --> - @@ -120,6 +120,16 @@ BuildInParallel="true" Condition="'$(Sign)' == 'true'"/> + + + - + - + @@ -50,7 +50,11 @@ - + + <_ComponentDir>%(_StubDirs.Identity) <_ComponentName>$(_ComponentDir.TrimEnd('\')) From a09738eded605c2b95de8f6adfd69d141b6c54bc Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Fri, 1 Sep 2017 10:46:19 -0700 Subject: [PATCH 038/100] Build of swix packages during Build phase, not Pack --- Build.proj | 27 ++++++++++++++------------- DefaultVersions.props | 2 +- VisualStudio.Insertion.proj | 5 +++-- VisualStudio.targets | 6 +++--- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/Build.proj b/Build.proj index 851c7d8a9b8..fde4bd76ab5 100644 --- a/Build.proj +++ b/Build.proj @@ -15,7 +15,7 @@ Test "true" to run tests IntegrationTest "true" to run integration tests Sign "true" to sign built binaries - Pack "true" to build NuGet packages + Pack "true" to build NuGet packages and VS insertion manifests Properties List of properties to pass to each build phase ("Name=Value;Name=Value;...") --> @@ -107,29 +107,19 @@ VSIX packages that are inserted are updated (experimental flag is removed), so we need to do that before signing. + + TODO: Consider moving to solution Build phase --> - - - + \ No newline at end of file diff --git a/DefaultVersions.props b/DefaultVersions.props index 6406268efcf..4219bc734d3 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -24,6 +24,6 @@ 2.3.0-beta3-build3705 15.3.0-preview-20170628-02 2.3.0 - 0.2.4-beta + 0.3.3-beta \ No newline at end of file diff --git a/VisualStudio.Insertion.proj b/VisualStudio.Insertion.proj index 051587becf4..53bb5b3937f 100644 --- a/VisualStudio.Insertion.proj +++ b/VisualStudio.Insertion.proj @@ -15,9 +15,10 @@ @@ -67,7 +68,7 @@ <_Args Include="SwixBuildPath=$(NuGetPackageRoot)microbuild.plugins.swixbuild\$(MicroBuildPluginsSwixBuildVersion)\"/> - + diff --git a/VisualStudio.targets b/VisualStudio.targets index bca4f3328af..a3a6272d90b 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -85,11 +85,11 @@ Condition="'$(CreateVsixContainer)' == 'true' and '$(VisualStudioInsertionComponent)' != ''"/> - From d402264160d68e25bac4556ec41dd3fdb68fa928 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 5 Sep 2017 16:56:33 -0700 Subject: [PATCH 039/100] Use vswhere to locate msbuild used for signing --- Sign.proj | 11 +++++++++-- vswhere.exe | Bin 0 -> 402040 bytes 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 vswhere.exe diff --git a/Sign.proj b/Sign.proj index 1ed186f4ceb..9f3285631eb 100644 --- a/Sign.proj +++ b/Sign.proj @@ -9,14 +9,21 @@ - + + + + + - + diff --git a/vswhere.exe b/vswhere.exe new file mode 100644 index 0000000000000000000000000000000000000000..3d91a17dc4beec6fa57dca0eec5bcee1dcd9229b GIT binary patch literal 402040 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%0Df#hH#H7V2x1@>#N%o>Ixxu>*7hDTA#i#YLN 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 NvWu}CVp~ Date: Tue, 5 Sep 2017 16:57:37 -0700 Subject: [PATCH 040/100] RepoToolset v38 --- Sign.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sign.proj b/Sign.proj index 9f3285631eb..e83e9c8e660 100644 --- a/Sign.proj +++ b/Sign.proj @@ -9,7 +9,7 @@ - + Date: Wed, 6 Sep 2017 09:05:41 -0700 Subject: [PATCH 041/100] Add package reference to MicroBuild --- DefaultVersions.props | 1 + Tools.proj | 2 ++ 2 files changed, 3 insertions(+) diff --git a/DefaultVersions.props b/DefaultVersions.props index 4219bc734d3..696b0b0fb7f 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -19,6 +19,7 @@ 2.3.0-beta3-build3705 15.1.192 1.0.147 + 0.2.0 4.7.1-alpha-00001 0.3.3-beta 2.3.0-beta3-build3705 diff --git a/Tools.proj b/Tools.proj index 56961e0099f..c3e56c90fb3 100644 --- a/Tools.proj +++ b/Tools.proj @@ -10,5 +10,7 @@ + + \ No newline at end of file From c78f447be2ba6122d913df002d8cb4cffbd7babd Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 6 Sep 2017 10:07:19 -0700 Subject: [PATCH 042/100] v40 --- Build.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/Build.proj b/Build.proj index fde4bd76ab5..0402792031f 100644 --- a/Build.proj +++ b/Build.proj @@ -57,6 +57,7 @@ + From baa132bb98b351d293c58c74554a701cd2cea383 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Thu, 7 Sep 2017 14:55:54 -0700 Subject: [PATCH 043/100] enable F# support --- GenerateResxSource.csx | 25 ++++++++++++++++++++++--- GenerateResxSource.targets | 1 + ProjectDefaults.props | 1 + 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/GenerateResxSource.csx b/GenerateResxSource.csx index d8b55654aa4..04ca4365b39 100644 --- a/GenerateResxSource.csx +++ b/GenerateResxSource.csx @@ -26,11 +26,12 @@ else className = nameParts.Last(); } -bool cs = false, vb = false; +bool cs = false, vb = false, fs = false; switch (languageStr.ToUpperInvariant()) { case "C#": cs = true; break; case "VB": vb = true; break; + case "F#": fs = true; break; default: throw new NotSupportedException($"GenerateResxSource doesn't support language: '{languageStr}'"); } @@ -77,7 +78,7 @@ foreach (var node in XDocument.Load(resxFile).Descendants("data")) foreach (var line in escapedTrimmedValue.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None)) { - strings.Append($"{memberIndent}{(cs ? "///" : vb ? "'''" : throw null)} "); + strings.Append($"{memberIndent}{(cs || fs ? "///" : vb ? "'''" : throw null)} "); strings.AppendLine(line); } @@ -95,6 +96,10 @@ foreach (var node in XDocument.Load(resxFile).Descendants("data")) strings.AppendLine($"{memberIndent} End Get"); strings.AppendLine($"{memberIndent}End Property"); } + else if (fs) + { + strings.AppendLine($" let {identifier} = ResourceManager.GetString(\"{name}\", Culture)"); + } else { throw null; @@ -102,7 +107,7 @@ foreach (var node in XDocument.Load(resxFile).Descendants("data")) } string namespaceStart, namespaceEnd; -if (namespaceName == null) +if (namespaceName == null || fs) { namespaceStart = namespaceEnd = null; } @@ -149,4 +154,18 @@ Imports System.Reflection {strings} {classIndent}End Class {namespaceEnd}" +: fs ? +$@"// + +namespace {namespaceName ?? "SR"} + +open System.Reflection + +module {className} = + type private C (_dummy:System.Object) = class end + let mutable Culture = System.Globalization.CultureInfo.CurrentCulture + let ResourceManager = new System.Resources.ResourceManager(""{resourceName}"", C(null).GetType().GetTypeInfo().Assembly) + +{strings} +" : throw null); diff --git a/GenerateResxSource.targets b/GenerateResxSource.targets index 0f0c3364161..dd32fc4c526 100644 --- a/GenerateResxSource.targets +++ b/GenerateResxSource.targets @@ -38,6 +38,7 @@ <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'C#'">cs <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'VB'">vb + <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'F#'">fs diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 0abd2073f04..c306cbcb09f 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -34,6 +34,7 @@ C# VB + F# + + + + + + + - + From ee75d835ed326b7484be4091cb5568bdf2b25e00 Mon Sep 17 00:00:00 2001 From: Jonathon Marolf Date: Thu, 19 Oct 2017 10:01:44 -0700 Subject: [PATCH 046/100] adding comment --- OptimizationData.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OptimizationData.targets b/OptimizationData.targets index c3df09d8996..5ff6842e337 100644 --- a/OptimizationData.targets +++ b/OptimizationData.targets @@ -8,7 +8,8 @@ <_OptimizationDataFile>$([System.IO.Path]::GetFullPath('$(IbcOptimizationDataDir)$(TargetName).pgo')) - + Date: Thu, 19 Oct 2017 11:18:42 -0700 Subject: [PATCH 047/100] Add support for SymStore, PDB conversion, and including Portable PDBs in package --- Build.proj | 2 + DefaultVersions.props | 2 + Imports.targets | 1 + NuGet.config | 1 + RepoLayout.props | 3 +- SymStore.targets | 100 ++++++++++++++++++++++++++++++++++++++++++ Tests.props | 5 +++ Tools.proj | 1 + Workarounds.targets | 5 +++ 9 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 SymStore.targets diff --git a/Build.proj b/Build.proj index 0402792031f..18bfe73f6d2 100644 --- a/Build.proj +++ b/Build.proj @@ -59,6 +59,8 @@ + + false false + false 0.2.0-beta-000053 @@ -26,5 +27,6 @@ 15.3.0-preview-20170628-02 2.3.0 0.3.3-beta + 1.1.0-beta1-62209-01 \ No newline at end of file diff --git a/Imports.targets b/Imports.targets index 37cff2b0b1b..8e4f11e0d87 100644 --- a/Imports.targets +++ b/Imports.targets @@ -15,6 +15,7 @@ + + + + <_DeployToSymStoreTargetName Condition="'$(TargetFrameworks)' == ''">_InnerDeployToSymStore + <_DeployToSymStoreTargetName Condition="'$(TargetFrameworks)' != ''">_OuterDeployToSymStore + + + + + + + <_TargetFramework Include="$(TargetFrameworks)" /> + + + + + + + + <_TargetPdbPath /> + <_TargetPdbPath Condition="'$(DebugType)' != 'embedded'">$([System.IO.Path]::ChangeExtension($(TargetPath), '.pdb')) + + <_SymStoreOutputDir>$(ArtifactsSymStoreDirectory)$(MSBuildProjectName)\$(TargetFramework)\ + <_SymStorePdbPath>$(_SymStoreOutputDir)$(TargetName).pdb + <_SymStoreAssemblyPath>$(_SymStoreOutputDir)$(TargetName)$(TargetExt) + + true + + + + + + + + <_PdbConverterPath>$(NuGetPackageRoot)pdb2pdb\$(Pdb2PdbVersion)\tools\Pdb2Pdb.exe + <_PdbConverterCommandLineArgs>"$(TargetPath)" /out "$(_SymStorePdbPath)" /verbose /sourcelink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests.props b/Tests.props index 44170b10eee..82415c2ee19 100644 --- a/Tests.props +++ b/Tests.props @@ -22,4 +22,9 @@ + + + + false + \ No newline at end of file diff --git a/Tools.proj b/Tools.proj index c3e56c90fb3..4d91075e186 100644 --- a/Tools.proj +++ b/Tools.proj @@ -12,5 +12,6 @@ + \ No newline at end of file diff --git a/Workarounds.targets b/Workarounds.targets index 9ecc549429c..5eba43035f4 100644 --- a/Workarounds.targets +++ b/Workarounds.targets @@ -78,4 +78,9 @@ <_GenerateBindingRedirectsIntermediateAppConfig>$(IntermediateOutputPath)$(TargetFileName).config + + + + $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + \ No newline at end of file From 24092eabeadbf8301b7615501dc2ce355b75cdb9 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 19 Oct 2017 11:19:05 -0700 Subject: [PATCH 048/100] Couple of style fixes. --- OptimizationData.targets | 8 +++++--- VisualStudio.Insertion.proj | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/OptimizationData.targets b/OptimizationData.targets index 5ff6842e337..7f12e79313e 100644 --- a/OptimizationData.targets +++ b/OptimizationData.targets @@ -8,8 +8,10 @@ <_OptimizationDataFile>$([System.IO.Path]::GetFullPath('$(IbcOptimizationDataDir)$(TargetName).pgo')) - + false <_RunIbc Condition="'$(Configuration)' == 'Release' and '$(OfficialBuild)' == 'true'">true - <_IbcMergePath>$(NuGetPackageRoot)\microsoft.dotnet.ibcmerge\$(MicrosoftDotNetIBCMergeVersion)\lib\net45\ibcmerge.exe + <_IbcMergePath>$(NuGetPackageRoot)microsoft.dotnet.ibcmerge\$(MicrosoftDotNetIBCMergeVersion)\lib\net45\ibcmerge.exe <_IbcMergeCommandLineArgs>-q -f -partialNGEN -minify -mo "@(IntermediateAssembly)" -incremental "$(_OptimizationDataFile)" diff --git a/VisualStudio.Insertion.proj b/VisualStudio.Insertion.proj index 53bb5b3937f..60c53207b84 100644 --- a/VisualStudio.Insertion.proj +++ b/VisualStudio.Insertion.proj @@ -39,7 +39,7 @@ Condition="'$(_RemoveExperimentalFlag)' == 'true'"/> - <_ModifyVsixManifestToolExe>$(NuGetPackageRoot)\roslyntools.microsoft.modifyvsixmanifest\$(RoslynToolsMicrosoftModifyVsixManifestVersion)\tools\ModifyVsixManifest.exe + <_ModifyVsixManifestToolExe>$(NuGetPackageRoot)roslyntools.microsoft.modifyvsixmanifest\$(RoslynToolsMicrosoftModifyVsixManifestVersion)\tools\ModifyVsixManifest.exe <_ModifyVsixManifestArgs>--remove=//x:PackageManifest/x:Installation/@Experimental --add-attribute=//x:PackageManifest/x:Installation;SystemComponent;true From f894f48bcaea16d39ea4fb1cdceb0d3596300e5a Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Wed, 18 Oct 2017 11:38:50 -0700 Subject: [PATCH 049/100] Updating the repo toolset props/targets to be part of 'MSBuildAllProjects'. --- DefaultVersions.props | 8 +++++ GenerateInternalsVisibleTo.targets | 9 ++++- GenerateNuspecProperties.targets | 17 +++++++--- GenerateResxSource.targets | 9 ++++- GitHash.props | 16 ++++++--- Imports.targets | 13 +++++-- Localization.props | 12 +++++-- NuGet.props | 7 ++++ OptimizationData.targets | 7 ++++ ProjectDefaults.props | 35 +++++++++++-------- ProjectLayout.props | 8 ++++- RepoLayout.props | 10 ++++-- Settings.props | 11 ++++-- SourceLink.props | 11 ++++-- StrongName.props | 7 ++++ StrongName.targets | 17 +++++++--- Tests.props | 9 ++++- Tools.props | 8 +++++ Version.props | 18 ++++++---- VisualStudio.DesignTimeBuild.targets | 10 +++++- VisualStudio.ImportSdk.targets | 8 +++++ VisualStudio.props | 11 ++++-- VisualStudio.targets | 51 ++++++++++++++++------------ Workarounds.targets | 23 ++++++++----- XUnit.props | 11 ++++-- XUnit.targets | 23 ++++++++----- 26 files changed, 277 insertions(+), 92 deletions(-) diff --git a/DefaultVersions.props b/DefaultVersions.props index e169f58611d..d4d14c6ad09 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -1,8 +1,15 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + true @@ -29,4 +36,5 @@ 0.3.3-beta 1.1.0-beta1-62209-01 + \ No newline at end of file diff --git a/GenerateInternalsVisibleTo.targets b/GenerateInternalsVisibleTo.targets index 525163f3c02..d9af87382b6 100644 --- a/GenerateInternalsVisibleTo.targets +++ b/GenerateInternalsVisibleTo.targets @@ -1,5 +1,11 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + $(IntermediateOutputPath)$(MSBuildProjectName).InternalsVisibleTo$(DefaultLanguageSourceExtension) @@ -21,7 +27,7 @@ + \ No newline at end of file diff --git a/GenerateNuspecProperties.targets b/GenerateNuspecProperties.targets index 41a1f0ecef4..60fa419f194 100644 --- a/GenerateNuspecProperties.targets +++ b/GenerateNuspecProperties.targets @@ -1,12 +1,14 @@ - + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + $(OutputPath) $(GenerateNuspecDependsOn);GenerateNuspecProperties @@ -34,4 +40,5 @@ version=$(Version);@(_PropsForDependencies, ';') - + + \ No newline at end of file diff --git a/GenerateResxSource.targets b/GenerateResxSource.targets index e75e27c2c54..898ab36583e 100644 --- a/GenerateResxSource.targets +++ b/GenerateResxSource.targets @@ -1,11 +1,17 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + - + @@ -48,4 +54,5 @@ + \ No newline at end of file diff --git a/GitHash.props b/GitHash.props index d6c4a43d897..29b123ba55c 100644 --- a/GitHash.props +++ b/GitHash.props @@ -1,26 +1,33 @@ + - + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + $(BUILD_SOURCEVERSION) + $(GIT_COMMIT) + Not found @@ -32,4 +39,5 @@ + \ No newline at end of file diff --git a/Imports.targets b/Imports.targets index 8e4f11e0d87..c920a47a7bb 100644 --- a/Imports.targets +++ b/Imports.targets @@ -1,12 +1,18 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + $(__DeployProjectOutput) - + - + @@ -17,10 +23,11 @@ - + \ No newline at end of file diff --git a/Localization.props b/Localization.props index 11dd845f26f..10457a64103 100644 --- a/Localization.props +++ b/Localization.props @@ -1,9 +1,16 @@ + - + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + true @@ -11,4 +18,5 @@ + \ No newline at end of file diff --git a/NuGet.props b/NuGet.props index 128dea02246..3e570ee2b77 100644 --- a/NuGet.props +++ b/NuGet.props @@ -1,5 +1,11 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + $(NUGET_PACKAGES) @@ -7,4 +13,5 @@ $([System.Environment]::GetFolderPath(SpecialFolder.Personal))\.nuget\packages\ $(NuGetPackageRoot)\ + \ No newline at end of file diff --git a/OptimizationData.targets b/OptimizationData.targets index 7f12e79313e..57edea81ffa 100644 --- a/OptimizationData.targets +++ b/OptimizationData.targets @@ -1,5 +1,11 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + - + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + true MicrosoftShared true @@ -15,15 +21,15 @@ false - false - false @@ -36,11 +42,11 @@ VB F# - - @@ -61,10 +67,10 @@ - + - + @@ -72,7 +78,7 @@ true $(NoWarn);1591 - + true full @@ -85,7 +91,7 @@ true - + @@ -104,7 +110,7 @@ true true - + true full @@ -112,4 +118,5 @@ + \ No newline at end of file diff --git a/ProjectLayout.props b/ProjectLayout.props index d911a60e7d2..781a60c558c 100644 --- a/ProjectLayout.props +++ b/ProjectLayout.props @@ -1,11 +1,16 @@ + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + - + $(MSBuildProjectName) $([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\')) @@ -13,4 +18,5 @@ $([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(MSBuildProjectName)\')) $(BaseIntermediateOutputPath) + \ No newline at end of file diff --git a/RepoLayout.props b/RepoLayout.props index 107a33b530b..fd1c70eeb24 100644 --- a/RepoLayout.props +++ b/RepoLayout.props @@ -1,9 +1,14 @@ - + + - + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + $(RepoRoot).dotnet\ $(DotNetRoot)dotnet.exe @@ -21,4 +26,5 @@ $(VisualStudioSetupOutputPath)Insertion\ $(ArtifactsConfigurationDir)VSSetup.obj\ + \ No newline at end of file diff --git a/Settings.props b/Settings.props index bbd2e28d061..fe90c3e6e34 100644 --- a/Settings.props +++ b/Settings.props @@ -1,5 +1,11 @@ - + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + @@ -7,9 +13,10 @@ - + + \ No newline at end of file diff --git a/SourceLink.props b/SourceLink.props index 95adca7954f..3dfeed70866 100644 --- a/SourceLink.props +++ b/SourceLink.props @@ -1,13 +1,20 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + true - + $(RepoRoot) - + + \ No newline at end of file diff --git a/StrongName.props b/StrongName.props index ba48a4d9e43..3f674c4f024 100644 --- a/StrongName.props +++ b/StrongName.props @@ -1,7 +1,14 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + 0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9 002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293 + \ No newline at end of file diff --git a/StrongName.targets b/StrongName.targets index e536a38fa94..b434491b4c1 100644 --- a/StrongName.targets +++ b/StrongName.targets @@ -1,11 +1,13 @@ + - - + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + false true @@ -38,7 +44,7 @@ @@ -66,4 +72,5 @@ + \ No newline at end of file diff --git a/Tests.props b/Tests.props index 82415c2ee19..6e5c013d302 100644 --- a/Tests.props +++ b/Tests.props @@ -1,5 +1,11 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + false true @@ -13,7 +19,7 @@ false true - + false @@ -27,4 +33,5 @@ false + \ No newline at end of file diff --git a/Tools.props b/Tools.props index 441fc8ebcf3..f7ab5e6d3a2 100644 --- a/Tools.props +++ b/Tools.props @@ -1,9 +1,17 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + $(NuGetPackageRoot)microsoft.net.compilers\$(MicrosoftNetCompilersVersion)\ + \ No newline at end of file diff --git a/Version.props b/Version.props index bc3297825b3..78d52d4352c 100644 --- a/Version.props +++ b/Version.props @@ -1,32 +1,37 @@ + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + $(VersionBase).0 false true - + @@ -61,4 +66,5 @@ - + + \ No newline at end of file diff --git a/VisualStudio.DesignTimeBuild.targets b/VisualStudio.DesignTimeBuild.targets index 5d8220f48d6..89f57127528 100644 --- a/VisualStudio.DesignTimeBuild.targets +++ b/VisualStudio.DesignTimeBuild.targets @@ -1,10 +1,18 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + \ No newline at end of file diff --git a/VisualStudio.ImportSdk.targets b/VisualStudio.ImportSdk.targets index 7f32c2ef7d3..2ab9ef24eaf 100644 --- a/VisualStudio.ImportSdk.targets +++ b/VisualStudio.ImportSdk.targets @@ -1,3 +1,11 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + \ No newline at end of file diff --git a/VisualStudio.props b/VisualStudio.props index 54423c9b600..deb1e0b5128 100644 --- a/VisualStudio.props +++ b/VisualStudio.props @@ -1,5 +1,11 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + $(MSBuildProjectDirectory)\source.extension.vsixmanifest @@ -13,11 +19,11 @@ false - + Program $(DevEnvDir)devenv.exe /rootsuffix $(VSSDKTargetPlatformRegRootSuffix) /log - + true true All @@ -27,4 +33,5 @@ true + \ No newline at end of file diff --git a/VisualStudio.targets b/VisualStudio.targets index a3a6272d90b..2adb505193a 100644 --- a/VisualStudio.targets +++ b/VisualStudio.targets @@ -1,12 +1,18 @@ + + - + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + <_TargetVsixContainerDir>$(VisualStudioSetupOutputPath) - + $(TargetName).vsix $(_TargetVsixContainerDir)$(TargetVsixContainerName) - + false true <_ComponentIntermediateDir Condition="'$(VisualStudioInsertionComponent)' != ''">$(VisualStudioSetupIntermediateOutputPath)$(VisualStudioInsertionComponent)\ - @@ -54,18 +60,18 @@ - - - + - @@ -83,15 +89,15 @@ BeforeTargets="CreateVsixContainer" DependsOnTargets="_SetStubFileNameFromManifest;_WriteComponentStubFile" Condition="'$(CreateVsixContainer)' == 'true' and '$(VisualStudioInsertionComponent)' != ''"/> - + - - + <_SwrProperties>@(SwrProperty) <_SwrFiles>@(SwrFile->'%(FullPath)') @@ -108,19 +114,19 @@ - + - + <_PackageStubFile>$(_ComponentIntermediateDir)$(TargetName).stub - + @@ -167,7 +173,7 @@ @@ -185,4 +191,5 @@ + \ No newline at end of file diff --git a/Workarounds.targets b/Workarounds.targets index 5eba43035f4..aedd6b1c183 100644 --- a/Workarounds.targets +++ b/Workarounds.targets @@ -1,13 +1,19 @@ + - $(MSBuildProjectFullPath) - + - @@ -47,8 +53,8 @@ - @@ -61,7 +67,7 @@ @@ -69,7 +75,7 @@ - $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + \ No newline at end of file diff --git a/XUnit.props b/XUnit.props index 5f29c671821..df80b1493e1 100644 --- a/XUnit.props +++ b/XUnit.props @@ -1,12 +1,18 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + <_DotNetCliToolExists>false <_DotNetCliToolExists Condition="Exists('$(DotNetTool)')">true - + $(_DotNetCliToolExists) - + @@ -14,4 +20,5 @@ + \ No newline at end of file diff --git a/XUnit.targets b/XUnit.targets index ac5855ffbde..3528512b760 100644 --- a/XUnit.targets +++ b/XUnit.targets @@ -1,5 +1,11 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + true <_TestTargetName Condition="'$(TargetFrameworks)' == ''">InnerTest @@ -17,10 +23,10 @@ <_TestArchitectureItems Include="$(TestArchitectures)" /> - + - + <_TestArchitecture>%(_TestArchitectureItems.Identity) <_TestEnvironment>$(TargetFramework)|$(_TestArchitecture) @@ -65,12 +71,12 @@ <_FailedTestRuns Include="$(_TestEnvironment)" Condition="'$(_TestErrorCode)' != '0'" /> - + - + <_TargetFramework Include="$(TargetFrameworks)" /> @@ -85,16 +91,16 @@ - @@ -107,4 +113,5 @@ RemoveDuplicateXUnitContent;$(PrepareForBuildDependsOn) + \ No newline at end of file From 7453c67d5ce449cb56ff840e7a007a873634f3f1 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Wed, 18 Oct 2017 11:44:54 -0700 Subject: [PATCH 050/100] Ensure DOTNET_INSTALL_DIR is respected, if set. --- RepoLayout.props | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/RepoLayout.props b/RepoLayout.props index fd1c70eeb24..e43867feb11 100644 --- a/RepoLayout.props +++ b/RepoLayout.props @@ -10,7 +10,13 @@ - $(RepoRoot).dotnet\ + + $(DOTNET_INSTALL_DIR) + $(RepoRoot).dotnet\ + $(DotNetRoot)\ + + + $(DotNetRoot)dotnet.exe $(RepoRoot)artifacts\ $(ArtifactsDir)toolset\ From 67ab2fd3d7052d8d6705e40fe59f6d414089f2d7 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Wed, 18 Oct 2017 11:47:22 -0700 Subject: [PATCH 051/100] Ensure that 'ProjectLanguage' is set. --- ProjectDefaults.props | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 3fe59cad869..568c3d2ed79 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -77,6 +77,7 @@ true $(NoWarn);1591 + CSharp @@ -100,6 +101,7 @@ On On On + VisualBasic Embed true @@ -117,6 +119,13 @@ true + + + + + FSharp + + \ No newline at end of file From 2a6bc82f55b4eb8225941196dc5b7dc3fcd78938 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Wed, 18 Oct 2017 11:48:55 -0700 Subject: [PATCH 052/100] Updating C# NoWarn to include the SDK defaults, if NoWarn is not already set. --- ProjectDefaults.props | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 568c3d2ed79..13101d9407d 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -58,6 +58,7 @@ $(MSBuildToolsPath)\Microsoft.CSharp.targets + VB @@ -76,7 +77,7 @@ true - $(NoWarn);1591 + 1701;1702;1705;1591 CSharp From 85d7b84e1621797b2aecbef1453bff875d179f4c Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Wed, 18 Oct 2017 12:59:28 -0700 Subject: [PATCH 053/100] Reorganizing the default versions. --- DefaultVersions.props | 17 +++++++++-------- XUnit.props | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/DefaultVersions.props b/DefaultVersions.props index d4d14c6ad09..70a43df85ea 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -22,19 +22,20 @@ false - 0.2.0-beta-000053 - 2.2.0-b491 - 2.3.0-beta3-build3705 - 15.1.192 1.0.147 0.2.0 4.7.1-alpha-00001 - 0.3.3-beta - 2.3.0-beta3-build3705 - 15.3.0-preview-20170628-02 2.3.0 - 0.3.3-beta + 15.3.0-preview-20170628-02 + 15.1.192 1.1.0-beta1-62209-01 + 0.3.3-beta + 0.3.3-beta + 2.2.0-b491 + 0.2.0-beta-000053 + 2.3.0-beta3-build3705 + $(XUnitVersion) + 2.3.0-beta3-build3705 \ No newline at end of file diff --git a/XUnit.props b/XUnit.props index df80b1493e1..c3590605aa6 100644 --- a/XUnit.props +++ b/XUnit.props @@ -18,7 +18,7 @@ - + \ No newline at end of file From c90d247cce4eb6228a9fd3b0dbceb9605399df7c Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Wed, 18 Oct 2017 13:14:59 -0700 Subject: [PATCH 054/100] Adding support for the netcore toolset compiler. --- DefaultVersions.props | 8 +++++--- Settings.props | 2 +- Tools.props | 26 ++++++++++++++++++++------ 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/DefaultVersions.props b/DefaultVersions.props index 70a43df85ea..618158583a1 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -15,6 +15,7 @@ true true true + true false @@ -26,16 +27,17 @@ 0.2.0 4.7.1-alpha-00001 2.3.0 - 15.3.0-preview-20170628-02 + 2.3.0 + 15.3.0 15.1.192 1.1.0-beta1-62209-01 0.3.3-beta 0.3.3-beta 2.2.0-b491 0.2.0-beta-000053 - 2.3.0-beta3-build3705 + 2.3.0 $(XUnitVersion) - 2.3.0-beta3-build3705 + 2.3.0 \ No newline at end of file diff --git a/Settings.props b/Settings.props index fe90c3e6e34..07a5325f6af 100644 --- a/Settings.props +++ b/Settings.props @@ -11,9 +11,9 @@ - + diff --git a/Tools.props b/Tools.props index f7ab5e6d3a2..cb897f2326c 100644 --- a/Tools.props +++ b/Tools.props @@ -6,12 +6,26 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - + + + + + - - $(NuGetPackageRoot)microsoft.net.compilers\$(MicrosoftNetCompilersVersion)\ - + + $(NuGetPackageRoot)microsoft.net.compilers.netcore\$(MicrosoftNetCompilersNetCoreVersion)\ + + + + + + + + + + $(NuGetPackageRoot)microsoft.net.compilers\$(MicrosoftNetCompilersVersion)\ + + + \ No newline at end of file From 5e5226f4249c4453d72aa12ad9a1f7a8e12779ff Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Thu, 19 Oct 2017 10:50:43 -0700 Subject: [PATCH 055/100] Dropping support for the netcore compiler toolset, as it is not RTM ready yet. --- Compiler.props | 17 +++++++++++++++++ Settings.props | 2 +- Tools.props | 31 ------------------------------- 3 files changed, 18 insertions(+), 32 deletions(-) create mode 100644 Compiler.props delete mode 100644 Tools.props diff --git a/Compiler.props b/Compiler.props new file mode 100644 index 00000000000..f7ab5e6d3a2 --- /dev/null +++ b/Compiler.props @@ -0,0 +1,17 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + + + $(NuGetPackageRoot)microsoft.net.compilers\$(MicrosoftNetCompilersVersion)\ + + + \ No newline at end of file diff --git a/Settings.props b/Settings.props index 07a5325f6af..9a936732e86 100644 --- a/Settings.props +++ b/Settings.props @@ -13,7 +13,7 @@ - + diff --git a/Tools.props b/Tools.props deleted file mode 100644 index cb897f2326c..00000000000 --- a/Tools.props +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - - - - - $(NuGetPackageRoot)microsoft.net.compilers.netcore\$(MicrosoftNetCompilersNetCoreVersion)\ - - - - - - - - - - $(NuGetPackageRoot)microsoft.net.compilers\$(MicrosoftNetCompilersVersion)\ - - - - - \ No newline at end of file From d42e5a47b91356a8acbd184e1731de9c5a48ecc8 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Thu, 19 Oct 2017 14:05:59 -0700 Subject: [PATCH 056/100] Removing the ProjectLanguage properties. --- ProjectDefaults.props | 9 --------- 1 file changed, 9 deletions(-) diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 13101d9407d..786e5d8d8d9 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -78,7 +78,6 @@ true 1701;1702;1705;1591 - CSharp @@ -102,7 +101,6 @@ On On On - VisualBasic Embed true @@ -120,13 +118,6 @@ true - - - - - FSharp - - \ No newline at end of file From 5cfc85810f2f07c173e1dde4e2394d1ba2967f6d Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Thu, 19 Oct 2017 15:57:10 -0700 Subject: [PATCH 057/100] Updating NoWarn to not be optional. --- ProjectDefaults.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 786e5d8d8d9..47e760bf8ac 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -77,7 +77,7 @@ true - 1701;1702;1705;1591 + $(NoWarn);1701;1702;1705;1591 From 888565e0d7e5be402917538ac1cdc886e0d11031 Mon Sep 17 00:00:00 2001 From: Jonathon Marolf Date: Fri, 20 Oct 2017 18:23:10 -0700 Subject: [PATCH 058/100] Actually creating PostCompileBinaryModificationSentinelFile variable --- OptimizationData.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OptimizationData.targets b/OptimizationData.targets index 57edea81ffa..012a9106a48 100644 --- a/OptimizationData.targets +++ b/OptimizationData.targets @@ -12,9 +12,10 @@ --> <_OptimizationDataFile>$([System.IO.Path]::GetFullPath('$(IbcOptimizationDataDir)$(TargetName).pgo')) + $(IntermediateOutputPath)$(TargetFileName).pcbm - From 82768e59c5911ce8db129747d91fea7e4ec1f068 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Tue, 24 Oct 2017 10:49:38 -0700 Subject: [PATCH 059/100] add auto-generated IVT file to F#'s CompileBefore collection This ensures that the IVT files are included before the remaining code files which ensures that a program's entry point is never overwritten. --- GenerateInternalsVisibleTo.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/GenerateInternalsVisibleTo.targets b/GenerateInternalsVisibleTo.targets index d9af87382b6..3297a690bd9 100644 --- a/GenerateInternalsVisibleTo.targets +++ b/GenerateInternalsVisibleTo.targets @@ -39,7 +39,8 @@ - + + From 2c5a97b219d835f508778e47587e9f4cd1c5f802 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 24 Oct 2017 12:16:41 -0700 Subject: [PATCH 060/100] SourceLink and PathMap --- DefaultVersions.props | 3 +-- GitHash.props | 2 +- Imports.targets | 1 + ProjectDefaults.props | 27 ++++++++++++++++++++---- Settings.props | 2 +- SourceLink.props | 20 ------------------ SourceLink.targets | 48 +++++++++++++++++++++++++++++++++++++++++++ SymStore.targets | 4 ++-- Version.props | 3 +-- Workarounds.targets | 12 +++++++++++ 10 files changed, 90 insertions(+), 32 deletions(-) delete mode 100644 SourceLink.props create mode 100644 SourceLink.targets diff --git a/DefaultVersions.props b/DefaultVersions.props index 618158583a1..9424b9cc291 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -30,10 +30,9 @@ 2.3.0 15.3.0 15.1.192 - 1.1.0-beta1-62209-01 + 1.1.0-beta1-62221-01 0.3.3-beta 0.3.3-beta - 2.2.0-b491 0.2.0-beta-000053 2.3.0 $(XUnitVersion) diff --git a/GitHash.props b/GitHash.props index 29b123ba55c..c04273f718b 100644 --- a/GitHash.props +++ b/GitHash.props @@ -30,7 +30,7 @@ - Not found + <_DotGitDir>$(RepoRoot)\.git <_HeadFileContent Condition="Exists('$(_DotGitDir)/HEAD')">$([System.IO.File]::ReadAllText('$(_DotGitDir)/HEAD').Trim()) <_RefPath Condition="$(_HeadFileContent.StartsWith('ref: '))">$(_DotGitDir)/$(_HeadFileContent.Substring(5)) diff --git a/Imports.targets b/Imports.targets index c920a47a7bb..d1b4afa7c0c 100644 --- a/Imports.targets +++ b/Imports.targets @@ -18,6 +18,7 @@ + diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 47e760bf8ac..c4eadf71dfe 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -18,6 +18,21 @@ true http://go.microsoft.com/fwlink/?LinkId=529443 + + /_/ + false @@ -82,12 +97,10 @@ true - full DEBUG;TRACE - full TRACE true @@ -107,17 +120,23 @@ true - full true true true - full true + + + + + + + + \ No newline at end of file diff --git a/Settings.props b/Settings.props index 9a936732e86..5053915fc9a 100644 --- a/Settings.props +++ b/Settings.props @@ -6,6 +6,7 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + @@ -15,7 +16,6 @@ - diff --git a/SourceLink.props b/SourceLink.props deleted file mode 100644 index 3dfeed70866..00000000000 --- a/SourceLink.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - true - - $(RepoRoot) - - - - - - - \ No newline at end of file diff --git a/SourceLink.targets b/SourceLink.targets new file mode 100644 index 00000000000..7a393195fdd --- /dev/null +++ b/SourceLink.targets @@ -0,0 +1,48 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + $(IntermediateOutputPath)$(MSBuildProjectName).sourcelink.json + + + $(DeterministicSourceRoot) + $(RepoRoot) + + + + + + + + + <_EscapedSourceLinkRoot>$(SourceLinkRoot.Replace('\', '\\').Replace('"', '\"')) + + <_EscapedUrl>$(RepositoryRawUrl) + <_EscapedUrl Condition="'$(_EscapedUrl)' == '' and $(RepositoryUrl.StartsWith('https://github.com/'))">https://raw.githubusercontent.com/$(RepositoryUrl.SubString(19)) + <_EscapedUrl Condition="'$(_EscapedUrl)' == '' and $(RepositoryUrl.StartsWith('http://github.com/'))">https://raw.githubusercontent.com/$(RepositoryUrl.SubString(18)) + <_EscapedUrl>$(_EscapedUrl.TrimEnd('/').Replace('\', '\\').Replace('"', '\"')) + + + + + + + + + + + + + \ No newline at end of file diff --git a/SymStore.targets b/SymStore.targets index 03b9ce6095c..75e52e5a931 100644 --- a/SymStore.targets +++ b/SymStore.targets @@ -34,7 +34,7 @@ <_PdbConverterPath>$(NuGetPackageRoot)pdb2pdb\$(Pdb2PdbVersion)\tools\Pdb2Pdb.exe - <_PdbConverterCommandLineArgs>"$(TargetPath)" /out "$(_SymStorePdbPath)" /verbose /sourcelink + <_PdbConverterCommandLineArgs>"$(TargetPath)" /out "$(_SymStorePdbPath)" /verbose true - - diff --git a/Workarounds.targets b/Workarounds.targets index aedd6b1c183..d23e7b61923 100644 --- a/Workarounds.targets +++ b/Workarounds.targets @@ -90,4 +90,16 @@ $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + + + $(RepoRoot)=$(DeterministicSourceRoot) + + + + + \ No newline at end of file From 6d0ec51bb7dd88f3f0d810f70c874e01d76bc83f Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 24 Oct 2017 17:55:11 -0700 Subject: [PATCH 061/100] DebugType defaults --- ProjectDefaults.props | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ProjectDefaults.props b/ProjectDefaults.props index c4eadf71dfe..773104303fb 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -50,6 +50,21 @@ IOperation,$(Features) + + + portable + embedded From 7476b91a99fb58d70aab1c339d9bfe8d8aa8a003 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 25 Oct 2017 16:16:07 -0700 Subject: [PATCH 062/100] More tweaks, v48 --- DefaultVersions.props | 3 +-- GitHash.props | 2 +- Imports.targets | 2 +- ProjectDefaults.props | 31 ++++++++++++++++--------------- SymStore.targets | 5 +++++ 5 files changed, 24 insertions(+), 19 deletions(-) diff --git a/DefaultVersions.props b/DefaultVersions.props index 9424b9cc291..0029a689a26 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -13,7 +13,6 @@ true - true true true @@ -30,7 +29,7 @@ 2.3.0 15.3.0 15.1.192 - 1.1.0-beta1-62221-01 + 1.1.0-beta1-62225-01 0.3.3-beta 0.3.3-beta 0.2.0-beta-000053 diff --git a/GitHash.props b/GitHash.props index c04273f718b..aa4c9e3df3e 100644 --- a/GitHash.props +++ b/GitHash.props @@ -31,7 +31,7 @@ - <_DotGitDir>$(RepoRoot)\.git + <_DotGitDir>$(RepoRoot).git <_HeadFileContent Condition="Exists('$(_DotGitDir)/HEAD')">$([System.IO.File]::ReadAllText('$(_DotGitDir)/HEAD').Trim()) <_RefPath Condition="$(_HeadFileContent.StartsWith('ref: '))">$(_DotGitDir)/$(_HeadFileContent.Substring(5)) $([System.IO.File]::ReadAllText('$(_RefPath)').Trim()) diff --git a/Imports.targets b/Imports.targets index d1b4afa7c0c..52e255a0b15 100644 --- a/Imports.targets +++ b/Imports.targets @@ -18,7 +18,7 @@ - + diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 773104303fb..1e6006e82d7 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -18,21 +18,6 @@ true http://go.microsoft.com/fwlink/?LinkId=529443 - - /_/ - false @@ -65,6 +50,22 @@ --> portable embedded + + + /_/ + + true diff --git a/SymStore.targets b/SymStore.targets index 75e52e5a931..b40a42c24f5 100644 --- a/SymStore.targets +++ b/SymStore.targets @@ -1,5 +1,10 @@ + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + <_DeployToSymStoreTargetName Condition="'$(TargetFrameworks)' == ''">_InnerDeployToSymStore <_DeployToSymStoreTargetName Condition="'$(TargetFrameworks)' != ''">_OuterDeployToSymStore From 170a61cf2440af39cbc12dcffc4ffa1985d60cd2 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Tue, 31 Oct 2017 13:50:22 -0700 Subject: [PATCH 063/100] Updating repo-toolset to use the correct dotnet host name on non-windows --- RepoLayout.props | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RepoLayout.props b/RepoLayout.props index e43867feb11..5aa2508fa35 100644 --- a/RepoLayout.props +++ b/RepoLayout.props @@ -17,7 +17,8 @@ - $(DotNetRoot)dotnet.exe + $(DotNetRoot)dotnet + $(DotNetTool).exe $(RepoRoot)artifacts\ $(ArtifactsDir)toolset\ $(ArtifactsDir)$(Configuration)\ From b90cb578b9790e44fb50dfa84641b42a31a5e8a6 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 2 Nov 2017 11:17:26 -0700 Subject: [PATCH 064/100] Fix comment --- SymStore.targets | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SymStore.targets b/SymStore.targets index b40a42c24f5..4d32644514a 100644 --- a/SymStore.targets +++ b/SymStore.targets @@ -67,7 +67,9 @@ Date: Thu, 2 Nov 2017 14:26:43 -0700 Subject: [PATCH 065/100] Implement PipeBuild overrides --- Build.proj | 22 +++++++++++++++++++--- Sign.proj | 10 +++++----- StrongName.targets | 3 --- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/Build.proj b/Build.proj index 18bfe73f6d2..4093c836b4c 100644 --- a/Build.proj +++ b/Build.proj @@ -1,5 +1,5 @@  - + + + + false + true + + false + false + false + + @@ -12,7 +12,7 @@ @@ -22,8 +22,8 @@ - - + + diff --git a/StrongName.targets b/StrongName.targets index b434491b4c1..ece4965b229 100644 --- a/StrongName.targets +++ b/StrongName.targets @@ -5,7 +5,6 @@ <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\netcoreapp1.0\xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath)" + <_TestResultsDisplayPath>$(_TestStdOutPath) <_XUnitConsoleExe>xunit.console.exe <_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -noshadow -xml "$(_TestResultsXmlPath)" -html "$(_TestResultsHtmlPath)" + <_TestResultsDisplayPath>$(_TestResultsHtmlPath) @@ -57,7 +59,8 @@ - + @@ -66,15 +69,14 @@ - <_FailedTestRuns Include="$(_TestEnvironment)" Condition="'$(_TestErrorCode)' != '0'" /> - - + + From 879057e23175ae2c19f82e7c4abeb304ce8610cb Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Sun, 5 Nov 2017 06:53:29 -0800 Subject: [PATCH 067/100] Adding the ability to pass additional parameters to the test runner command. --- XUnit.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/XUnit.targets b/XUnit.targets index 4c7528aab23..e55e3c606d5 100644 --- a/XUnit.targets +++ b/XUnit.targets @@ -43,14 +43,14 @@ - <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\netcoreapp1.0\xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath)" + <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\netcoreapp1.0\xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath) $(XUnitRunnerAdditionalArguments)" <_TestResultsDisplayPath>$(_TestStdOutPath) <_XUnitConsoleExe>xunit.console.exe <_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe - <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -noshadow -xml "$(_TestResultsXmlPath)" -html "$(_TestResultsHtmlPath)" + <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -noshadow -xml "$(_TestResultsXmlPath)" -html "$(_TestResultsHtmlPath) $(XUnitRunnerAdditionalArguments)" <_TestResultsDisplayPath>$(_TestResultsHtmlPath) From 27e6e0730ff5d411571d66cc329c31743c64b15b Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Mon, 6 Nov 2017 08:53:56 -0800 Subject: [PATCH 068/100] Updating Test.props to consider .Tests projects as Unit Tests --- Tests.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests.props b/Tests.props index 6e5c013d302..c80066648ff 100644 --- a/Tests.props +++ b/Tests.props @@ -13,7 +13,7 @@ false - true + true From 063ea2fdb4556a7b14f3625ceaf4f6f05bd3e7a9 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Mon, 6 Nov 2017 18:55:50 -0800 Subject: [PATCH 069/100] NuGet restore sources --- Build.proj | 54 +++++++++++++++++++++++++++---------------- DefaultVersions.props | 16 +++++++++++++ Tools.proj | 9 ++++++++ 3 files changed, 59 insertions(+), 20 deletions(-) diff --git a/Build.proj b/Build.proj index 4093c836b4c..e667164aa96 100644 --- a/Build.proj +++ b/Build.proj @@ -24,6 +24,7 @@ PB_SignType {''|'public'|'real'|'test'} Disables signing if set to a value other than 'real' PB_SkipTests {''|'true'|'false'} Disables tests if set to 'true'. + PB_RestoreSource {''|URL} URL of pipe build package feed. --> @@ -52,31 +53,37 @@ Debug - $(Properties);Configuration=$(Configuration);CIBuild=$(CIBuild);__DeployProjectOutput=$(Deploy) <_QuietRestore>false <_QuietRestore Condition="'$(CIBuild)' != 'true' and '$(RepoToolsetQuietRestore)' == 'true'">true - - - + <_PreSignTargets Include="Rebuild" Condition="'$(Rebuild)' == 'true'" /> + <_PreSignTargets Include="Build" Condition="'$(Build)' == 'true' and '$(Rebuild)' != 'true'" /> - - + <_PreSignTargets Include="Test" Condition="'$(Test)' == 'true'" /> + <_PreSignTargets Include="IntegrationTest" Condition="'$(IntegrationTest)' == 'true'" /> - - - - - - - - - + <_RestoreToolsProps Include="BaseIntermediateOutputPath=$(ArtifactsToolsetDir)Common"/> + <_RestoreToolsProps Include="ExcludeRestorePackageImports=true"/> + <_RestoreToolsProps Include="UsingToolVSSDK=$(UsingToolVSSDK)"/> + <_RestoreToolsProps Include="RoslynToolsMicrosoftSignToolVersion=$(RoslynToolsMicrosoftSignToolVersion)"/> + <_RestoreToolsProps Include="MicroBuildPluginsSwixBuildVersion=$(MicroBuildPluginsSwixBuildVersion)"/> + <_RestoreToolsProps Include="MicroBuildCoreVersion=$(MicroBuildCoreVersion)"/> + <_RestoreToolsProps Include="RoslynToolsMicrosoftModifyVsixManifestVersion=$(RoslynToolsMicrosoftModifyVsixManifestVersion)"/> + <_RestoreToolsProps Include="Pdb2PdbVersion=$(Pdb2PdbVersion)"/> + <_RestoreToolsProps Include="UsingToolPdbConverter=$(UsingToolPdbConverter)"/> + <_RestoreToolsProps Include="ExternalRestoreSources=$(PB_RestoreSource)" Condition="'$(PB_RestoreSource)' != ''"/> + + + + <_SolutionBuildProps Include="Configuration=$(Configuration)"/> + <_SolutionBuildProps Include="CIBuild=$(CIBuild)"/> + <_SolutionBuildProps Include="__DeployProjectOutput=$(Deploy)"/> + <_SolutionBuildProps Include="__ExternalRestoreSources=$(PB_RestoreSource)" Condition="'$(PB_RestoreSource)' != ''"/> + + Condition="'@(_PreSignTargets)' != ''"/> + $(__ExternalRestoreSources);$(RestoreSources) + \ No newline at end of file diff --git a/Tools.proj b/Tools.proj index 4d91075e186..def6cf42282 100644 --- a/Tools.proj +++ b/Tools.proj @@ -3,8 +3,17 @@ + + + <_RestoreSources Include="$(ExternalRestoreSources)" Condition="'$(ExternalRestoreSources)' != ''"/> + <_RestoreSources Include="https://api.nuget.org/v3/index.json"/> + <_RestoreSources Include="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json"/> + <_RestoreSources Include="https://dotnet.myget.org/F/symreader-converter/api/v3/index.json" + Condition="'$(UsingToolPdbConverter)' == 'true' and $(Pdb2PdbVersion.Contains('-'))"/> + net462 + @(_RestoreSources) From bf1ba260d6a0f622a86c64da183c5a1bb65d2a02 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Mon, 6 Nov 2017 19:00:42 -0800 Subject: [PATCH 070/100] Use Pdb2Pdb by default --- DefaultVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DefaultVersions.props b/DefaultVersions.props index 460caf074ee..15bf60e6e5c 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -15,11 +15,11 @@ true true true + true false false - false 1.0.147 From ed2f9ae8fcb9c333ed7b08f60d73fab757180e93 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 7 Nov 2017 14:24:01 -0800 Subject: [PATCH 071/100] Delete nuget.config --- NuGet.config | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 NuGet.config diff --git a/NuGet.config b/NuGet.config deleted file mode 100644 index 72c89ff5eed..00000000000 --- a/NuGet.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - From 0dc57ad4146bceda5eb19ac43674b7cf3c235732 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Tue, 7 Nov 2017 14:29:44 -0800 Subject: [PATCH 072/100] Updating _TestRunnerCommand so we don't get an error on Linux. --- XUnit.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/XUnit.targets b/XUnit.targets index e55e3c606d5..c7649764486 100644 --- a/XUnit.targets +++ b/XUnit.targets @@ -43,14 +43,14 @@ - <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\netcoreapp1.0\xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath) $(XUnitRunnerAdditionalArguments)" + <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console/$(XUnitVersion)/tools/netcoreapp1.0/xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath)" $(XUnitRunnerAdditionalArguments) <_TestResultsDisplayPath>$(_TestStdOutPath) <_XUnitConsoleExe>xunit.console.exe <_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe - <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -noshadow -xml "$(_TestResultsXmlPath)" -html "$(_TestResultsHtmlPath) $(XUnitRunnerAdditionalArguments)" + <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -noshadow -xml "$(_TestResultsXmlPath)" -html "$(_TestResultsHtmlPath)" $(XUnitRunnerAdditionalArguments) <_TestResultsDisplayPath>$(_TestResultsHtmlPath) From 64c2218d41c800c154c0a7ef7b732e52e0e9ab62 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 8 Nov 2017 19:12:17 -0800 Subject: [PATCH 073/100] PipeBuild publishing --- Build.proj | 45 +++++++++++++++++++++++++++++------------- DefaultVersions.props | 1 + PipeBuild.Publish.proj | 30 ++++++++++++++++++++++++++++ Tools.proj | 3 +++ 4 files changed, 65 insertions(+), 14 deletions(-) create mode 100644 PipeBuild.Publish.proj diff --git a/Build.proj b/Build.proj index e667164aa96..e437cf24212 100644 --- a/Build.proj +++ b/Build.proj @@ -22,10 +22,12 @@ false @@ -34,6 +36,9 @@ false false false + + <_PipeBuildPublishing>false + <_PipeBuildPublishing Condition="$(PB_PublishType.Contains('blob'))">true - <_PropsItems Include="$(Props)" /> - <_PropsArgs Include="@(_PropsItems->'/p:%(Identity)')" /> + <_SolutionBuildPropsItems Include="$(_SolutionBuildProps)" /> + <_SolutionBuildPropsArgs Include="@(_SolutionBuildPropsItems->'/p:%(Identity)')" /> <_RestoreToolsPropArgs Include="@(_RestoreToolsProps->'/p:%(Identity)')" /> - <_PropsCmdLine>@(_PropsCmd, ' ') + <_SolutionBuildPropsCmdLine>@(_SolutionBuildPropsArgs, ' ') <_RestoreToolsPropsCmdLine>@(_RestoreToolsPropArgs, ' ') @@ -108,7 +120,7 @@ - @@ -159,7 +171,7 @@ overwrite the signed files with the ones from obj dir. --> @@ -171,8 +183,13 @@ Hence we need to run this task after both signing and packaging is done on the solution. --> + + \ No newline at end of file diff --git a/DefaultVersions.props b/DefaultVersions.props index 15bf60e6e5c..33ee60cc312 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -36,6 +36,7 @@ 2.3.0 $(XUnitVersion) 2.3.0 + 1.0.0-prerelease-02124-02 diff --git a/PipeBuild.Publish.proj b/PipeBuild.Publish.proj new file mode 100644 index 00000000000..6aa37b74382 --- /dev/null +++ b/PipeBuild.Publish.proj @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tools.proj b/Tools.proj index def6cf42282..2d23d0887ee 100644 --- a/Tools.proj +++ b/Tools.proj @@ -10,6 +10,8 @@ <_RestoreSources Include="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json"/> <_RestoreSources Include="https://dotnet.myget.org/F/symreader-converter/api/v3/index.json" Condition="'$(UsingToolPdbConverter)' == 'true' and $(Pdb2PdbVersion.Contains('-'))"/> + <_RestoreSources Include="https://dotnetfeed.blob.core.windows.net/dotnet-core/packages/index.json" + Condition="'$(UsingPipeBuildPublishing)' == 'true'" /> net462 @@ -22,5 +24,6 @@ + \ No newline at end of file From 047318f0e9ed121f22b579769edf91a5005d8bef Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 9 Nov 2017 11:06:49 -0800 Subject: [PATCH 074/100] Eliminate RepoRestoreSources --- DefaultVersions.props | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/DefaultVersions.props b/DefaultVersions.props index 33ee60cc312..125db6c6ad7 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -39,18 +39,10 @@ 1.0.0-prerelease-02124-02 - - - - - - - - - @(RepoRestoreSources);$(RestoreSources) + $(RestoreSources);https://api.nuget.org/v3/index.json + $(RestoreSources);https://dotnet.myget.org/F/dotnet-core/api/v3/index.json + $(RestoreSources);https://dotnet.myget.org/F/roslyn/api/v3/index.json $(__ExternalRestoreSources);$(RestoreSources) From 05be43455690b25a2d054bed1731ade654f1e92c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Thu, 9 Nov 2017 15:04:05 -0800 Subject: [PATCH 075/100] Update DefaultVersions.props --- DefaultVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DefaultVersions.props b/DefaultVersions.props index 125db6c6ad7..697320a8080 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -29,7 +29,7 @@ 2.3.0 15.3.0 15.1.192 - 1.1.0-beta1-62225-01 + 1.1.0-beta1-62309-01 0.3.3-beta 0.3.3-beta 0.2.0-beta-000053 @@ -47,4 +47,4 @@ $(__ExternalRestoreSources);$(RestoreSources) - \ No newline at end of file + From 23ada645c18ea03160247f742dc6dc38c3d22f69 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Sun, 12 Nov 2017 22:29:52 -0800 Subject: [PATCH 076/100] Sign after Pack --- Build.proj | 89 ++++++++++++++++++------------------- DefaultVersions.props | 15 ++++--- VisualStudio.Insertion.proj | 37 --------------- VisualStudio.targets | 66 ++++++++++++++++++++++++--- XUnit.props | 7 --- XUnit.targets | 12 +++-- 6 files changed, 119 insertions(+), 107 deletions(-) diff --git a/Build.proj b/Build.proj index e437cf24212..7384e39aeb1 100644 --- a/Build.proj +++ b/Build.proj @@ -51,7 +51,7 @@ $([System.IO.Path]::Combine('$(_DirectoryBuildPropsBasePath)', '$(_DirectoryBuildPropsFile)')) - + @@ -64,11 +64,12 @@ - <_PreSignTargets Include="Rebuild" Condition="'$(Rebuild)' == 'true'" /> - <_PreSignTargets Include="Build" Condition="'$(Build)' == 'true' and '$(Rebuild)' != 'true'" /> + <_SolutionBuildTargets Include="Rebuild" Condition="'$(Rebuild)' == 'true'" /> + <_SolutionBuildTargets Include="Build" Condition="'$(Build)' == 'true' and '$(Rebuild)' != 'true'" /> - <_PreSignTargets Include="Test" Condition="'$(Test)' == 'true'" /> - <_PreSignTargets Include="IntegrationTest" Condition="'$(IntegrationTest)' == 'true'" /> + <_SolutionBuildTargets Include="Test" Condition="'$(Test)' == 'true'" /> + <_SolutionBuildTargets Include="IntegrationTest" Condition="'$(IntegrationTest)' == 'true'" /> + <_SolutionBuildTargets Include="Pack" Condition="'$(Pack)' == 'true' and '$(Sign)' != 'true'" /> @@ -98,13 +99,8 @@ <_SolutionBuildProps Include="__ExternalRestoreSources=$(PB_RestoreSource)" Condition="'$(PB_RestoreSource)' != ''"/> - - <_SolutionBuildPropsItems Include="$(_SolutionBuildProps)" /> - <_SolutionBuildPropsArgs Include="@(_SolutionBuildPropsItems->'/p:%(Identity)')" /> + <_SolutionBuildPropsArgs Include="@(_SolutionBuildProps->'/p:%(Identity)')" /> <_RestoreToolsPropArgs Include="@(_RestoreToolsProps->'/p:%(Identity)')" /> @@ -113,6 +109,10 @@ <_RestoreToolsPropsCmdLine>@(_RestoreToolsPropArgs, ' ') + @@ -120,67 +120,64 @@ - - - + + + Condition="'@(_SolutionBuildTargets)' != ''" /> - - + + - - - - 2.3.0 15.3.0 15.1.192 - 1.1.0-beta1-62309-01 + 1.1.0-beta1-62225-01 0.3.3-beta - 0.3.3-beta + 0.3.7-beta 0.2.0-beta-000053 - 2.3.0 + 2.3.1 $(XUnitVersion) - 2.3.0 + $(XUnitVersion) 1.0.0-prerelease-02124-02 $(RestoreSources);https://api.nuget.org/v3/index.json $(RestoreSources);https://dotnet.myget.org/F/dotnet-core/api/v3/index.json - $(RestoreSources);https://dotnet.myget.org/F/roslyn/api/v3/index.json - + $(RestoreSources);https://dotnet.myget.org/F/roslyn/api/v3/index.json + $(RestoreSources);https://www.myget.org/F/xunit/api/v3/index.json + $(__ExternalRestoreSources);$(RestoreSources) - + \ No newline at end of file diff --git a/VisualStudio.Insertion.proj b/VisualStudio.Insertion.proj index 60c53207b84..bbf6934d9ea 100644 --- a/VisualStudio.Insertion.proj +++ b/VisualStudio.Insertion.proj @@ -13,43 +13,6 @@ <_StubFiles Include="$(VisualStudioSetupIntermediateOutputPath)**\*.stub"/> <_StubDirs Include="@(_StubFiles->'%(RecursiveDir)')"/> - - - - - - - - - <_VsixFileName>@(_StubLines) - <_JsonFileName>%(_StubFiles.FileName).json - <_RemoveExperimentalFlag>false - <_RemoveExperimentalFlag Condition="Exists('$(VisualStudioSetupOutputPath)$(_VsixFileName)')">true - - - - - - - - <_ModifyVsixManifestToolExe>$(NuGetPackageRoot)roslyntools.microsoft.modifyvsixmanifest\$(RoslynToolsMicrosoftModifyVsixManifestVersion)\tools\ModifyVsixManifest.exe - <_ModifyVsixManifestArgs>--remove=//x:PackageManifest/x:Installation/@Experimental --add-attribute=//x:PackageManifest/x:Installation;SystemComponent;true - - - - - - - - @@ -16,7 +27,7 @@ <_VsxXmlNamespace><Namespace Prefix='vsx' Uri='http://schemas.microsoft.com/developer/vsx-schema/2011'/> + @@ -85,10 +99,50 @@ - + + + + + <_JsonFileName>$(_VsixPackageId).json + + + + <_FinalizeInsertionVsixFilesInputs Include="$(VisualStudioSetupOutputPath)$(TargetVsixContainerName)" /> + <_FinalizeInsertionVsixFilesInputs Include="$(VisualStudioSetupOutputPath)$(_JsonFileName)" /> + + <_FinalizeInsertionVsixFilesOutputs Include="$(VisualStudioSetupInsertionPath)$(TargetVsixContainerName)" /> + <_FinalizeInsertionVsixFilesOutputs Include="$(VisualStudioSetupInsertionPath)$(_JsonFileName)" /> + + + + + + + + + + + <_ModifyVsixManifestToolExe>$(NuGetPackageRoot)roslyntools.microsoft.modifyvsixmanifest\$(RoslynToolsMicrosoftModifyVsixManifestVersion)\tools\ModifyVsixManifest.exe + <_ModifyVsixManifestArgs>--remove=//x:PackageManifest/x:Installation/@Experimental --add-attribute=//x:PackageManifest/x:Installation;SystemComponent;true + + + + + + + + diff --git a/XUnit.targets b/XUnit.targets index c7649764486..9da9ba490f6 100644 --- a/XUnit.targets +++ b/XUnit.targets @@ -34,14 +34,18 @@ <_TestStdOutPath>$(_TestOutPathNoExt).log <_TestResultsXmlPath>$(_TestOutPathNoExt).xml <_TestResultsHtmlPath>$(_TestOutPathNoExt).html - <_TargetFileNameNoExt>$([System.IO.Path]::GetFileNameWithoutExtension('$(TargetFileName)')) - <_CoreRuntimeConfigPath>$(TargetDir)$(_TargetFileNameNoExt).runtimeconfig.json - <_CoreDepsPath>$(TargetDir)$(_TargetFileNameNoExt).deps.json <_RunOnCore>false - <_RunOnCore Condition="'$(TestUsingDotNetCli)' == 'true' and $(TargetFramework.StartsWith('netcoreapp'))">true + <_RunOnCore Condition="$(TargetFramework.StartsWith('netcoreapp'))">true + + + <_TargetFileNameNoExt>$([System.IO.Path]::GetFileNameWithoutExtension('$(TargetFileName)')) + <_CoreRuntimeConfigPath>$(TargetDir)$(_TargetFileNameNoExt).runtimeconfig.json + <_CoreDepsPath>$(TargetDir)$(_TargetFileNameNoExt).deps.json + <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console/$(XUnitVersion)/tools/netcoreapp1.0/xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath)" $(XUnitRunnerAdditionalArguments) <_TestResultsDisplayPath>$(_TestStdOutPath) From 1d1aaf5421ed2d4a29b9f5507752a35abd826186 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 15 Nov 2017 15:47:03 -0800 Subject: [PATCH 077/100] RepoToolset v55 --- DefaultVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DefaultVersions.props b/DefaultVersions.props index 2b87d3a7340..2f1a3c10dbc 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -29,7 +29,7 @@ 2.3.0 15.3.0 15.1.192 - 1.1.0-beta1-62225-01 + 1.1.0-beta1-62314-02 0.3.3-beta 0.3.7-beta 0.2.0-beta-000053 From 39e9dde53c6b0b95ed122421a4689aa24ed9ff5b Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 15 Nov 2017 16:13:37 -0800 Subject: [PATCH 078/100] 56 --- Build.proj | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Build.proj b/Build.proj index 7384e39aeb1..84f673fa403 100644 --- a/Build.proj +++ b/Build.proj @@ -56,6 +56,11 @@ + + <_MSBuildCmd Condition="'$(MSBuildRuntimeType)' != 'Core'">"$(MSBuildBinPath)\MSBuild.exe" + <_MSBuildCmd Condition="'$(MSBuildRuntimeType)' == 'Core'">"$(DotNetTool)" msbuild + + Debug @@ -117,10 +122,10 @@ - - - + + - + true diff --git a/ProjectDefaults.props b/ProjectDefaults.props index 1e6006e82d7..ac35da55513 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -46,12 +46,16 @@ - Embed PDBs to make it easier to debug Jenkins crash dumps. Developer build: - - Embed PDBs to be consistent with Jenkins builds. + - TODO: Embed PDBs to be consistent with Jenkins builds. + - Two issues with local builds: + - Live Unit Testing doesn't support embedded PDBs: + https://github.com/dotnet/testimpact/issues/1877 + - Xunit doesn't display line numbers for embedded PDBs. --> - portable - embedded + portable + embedded - + + $(ArtifactsToolsetDir)PackageVersionOverrides.props + + + + $(RestoreSources);https://api.nuget.org/v3/index.json $(RestoreSources);https://dotnet.myget.org/F/dotnet-core/api/v3/index.json diff --git a/Settings.props b/Settings.props index 5053915fc9a..ea4b0a427c1 100644 --- a/Settings.props +++ b/Settings.props @@ -6,9 +6,9 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - + + From 5ce1512fd60d81bcdfef380e529542b5f8b5f203 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Fri, 17 Nov 2017 16:24:31 -0800 Subject: [PATCH 081/100] 58 --- DefaultVersions.props | 6 +++++- ProjectDefaults.props | 12 ++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/DefaultVersions.props b/DefaultVersions.props index d8d531f42cd..f5ff4c0d876 100644 --- a/DefaultVersions.props +++ b/DefaultVersions.props @@ -27,7 +27,8 @@ 4.7.1-alpha-00001 2.3.0 2.3.0 - 15.3.0 + + 15.6.0-dev 15.1.192 1.1.0-beta1-62314-02 0.3.3-beta @@ -54,6 +55,9 @@ $(RestoreSources);https://dotnet.myget.org/F/roslyn/api/v3/index.json $(RestoreSources);https://www.myget.org/F/xunit/api/v3/index.json + + $(RestoreSources);https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json + $(__ExternalRestoreSources);$(RestoreSources) diff --git a/ProjectDefaults.props b/ProjectDefaults.props index ac35da55513..eb40a0c0b7d 100644 --- a/ProjectDefaults.props +++ b/ProjectDefaults.props @@ -46,14 +46,14 @@ - Embed PDBs to make it easier to debug Jenkins crash dumps. Developer build: - - TODO: Embed PDBs to be consistent with Jenkins builds. - - Two issues with local builds: - - Live Unit Testing doesn't support embedded PDBs: - https://github.com/dotnet/testimpact/issues/1877 - - Xunit doesn't display line numbers for embedded PDBs. + - Embed PDBs to be consistent with Jenkins builds. + + TODO: + - Live Unit Testing doesn't support embedded PDBs: + https://github.com/dotnet/testimpact/issues/1877 --> portable - embedded + embedded 15.6.0-dev 15.1.192 - 1.1.0-beta1-62314-02 + 1.1.0-beta1-62318-01 0.3.3-beta 0.3.7-beta 0.2.0-beta-000053 diff --git a/SymStore.targets b/SymStore.targets index 4d32644514a..e4bca83b31a 100644 --- a/SymStore.targets +++ b/SymStore.targets @@ -40,6 +40,9 @@ Convert Portable and Embedded PDBs. We publish converted PDBs to Symbol Store so that WinDBG can find them when debugging crash dumps. Convert source link to srcsvr so that both WinDBG and VS can open the source files. + + We add SRC_INDEX=public srcsvr variable in order to preserve the source server stream when + it's published to the public symbol server (msdl.microsoft.com). --> - <_PdbConverterPath>$(NuGetPackageRoot)pdb2pdb\$(Pdb2PdbVersion)\tools\Pdb2Pdb.exe - <_PdbConverterCommandLineArgs>"$(TargetPath)" /out "$(_SymStorePdbPath)" /verbose + <_PdbConverterPath>$(NuGetPackageRoot)microsoft.diasymreader.pdb2pdb\$(MicrosoftDiaSymReaderPdb2PdbVersion)\tools\Pdb2Pdb.exe + <_PdbConverterCommandLineArgs>"$(TargetPath)" /out "$(_SymStorePdbPath)" /verbose /srcsvrvar SRC_INDEX=public <_RestoreSources Include="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json"/> <_RestoreSources Include="https://dotnet.myget.org/F/symreader-converter/api/v3/index.json" - Condition="'$(UsingToolPdbConverter)' == 'true' and $(Pdb2PdbVersion.Contains('-'))"/> + Condition="'$(UsingToolPdbConverter)' == 'true' and $(MicrosoftDiaSymReaderPdb2PdbVersion.Contains('-'))"/> <_RestoreSources Include="https://dotnetfeed.blob.core.windows.net/dotnet-core/packages/index.json" Condition="'$(UsingPipeBuildPublishing)' == 'true'" /> @@ -23,7 +23,7 @@ - + \ No newline at end of file From 6de8e7da321a09975a74a5b4ebf8f5fec421930b Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Wed, 15 Nov 2017 15:35:46 -0800 Subject: [PATCH 083/100] Move to RepoToolset --- 35MSSharedLib1024.snk | Bin 160 -> 0 bytes Build.proj | 197 --------------------- Compiler.props | 17 -- DefaultVersions.props | 64 ------- GenerateInternalsVisibleTo.targets | 48 ------ GenerateNuspecProperties.csx | 13 -- GenerateNuspecProperties.targets | 44 ----- GenerateResxSource.csx | 152 ---------------- GenerateResxSource.targets | 58 ------- GitHash.props | 43 ----- Imports.targets | 37 ---- Localization.props | 22 --- MSFT.snk | Bin 160 -> 0 bytes NuGet.props | 17 -- OptimizationData.targets | 58 ------- PipeBuild.Publish.proj | 30 ---- ProjectDefaults.props | 162 ----------------- ProjectLayout.props | 22 --- RepoLayout.props | 37 ---- Settings.props | 22 --- Sign.proj | 32 ---- SourceLink.targets | 48 ------ StrongName.props | 14 -- StrongName.targets | 73 -------- SymStore.targets | 110 ------------ Tests.props | 37 ---- Tools.proj | 29 ---- Version.props | 69 -------- VisualStudio.DesignTimeBuild.targets | 18 -- VisualStudio.ImportSdk.targets | 11 -- VisualStudio.Insertion.proj | 40 ----- VisualStudio.SetupPackage.swixproj | 37 ---- VisualStudio.SetupPackage.vsmanproj | 39 ----- VisualStudio.props | 37 ---- VisualStudio.targets | 249 --------------------------- Workarounds.targets | 105 ----------- XUnit.props | 17 -- XUnit.targets | 123 ------------- vswhere.exe | Bin 402040 -> 0 bytes 39 files changed, 2131 deletions(-) delete mode 100644 35MSSharedLib1024.snk delete mode 100644 Build.proj delete mode 100644 Compiler.props delete mode 100644 DefaultVersions.props delete mode 100644 GenerateInternalsVisibleTo.targets delete mode 100644 GenerateNuspecProperties.csx delete mode 100644 GenerateNuspecProperties.targets delete mode 100644 GenerateResxSource.csx delete mode 100644 GenerateResxSource.targets delete mode 100644 GitHash.props delete mode 100644 Imports.targets delete mode 100644 Localization.props delete mode 100644 MSFT.snk delete mode 100644 NuGet.props delete mode 100644 OptimizationData.targets delete mode 100644 PipeBuild.Publish.proj delete mode 100644 ProjectDefaults.props delete mode 100644 ProjectLayout.props delete mode 100644 RepoLayout.props delete mode 100644 Settings.props delete mode 100644 Sign.proj delete mode 100644 SourceLink.targets delete mode 100644 StrongName.props delete mode 100644 StrongName.targets delete mode 100644 SymStore.targets delete mode 100644 Tests.props delete mode 100644 Tools.proj delete mode 100644 Version.props delete mode 100644 VisualStudio.DesignTimeBuild.targets delete mode 100644 VisualStudio.ImportSdk.targets delete mode 100644 VisualStudio.Insertion.proj delete mode 100644 VisualStudio.SetupPackage.swixproj delete mode 100644 VisualStudio.SetupPackage.vsmanproj delete mode 100644 VisualStudio.props delete mode 100644 VisualStudio.targets delete mode 100644 Workarounds.targets delete mode 100644 XUnit.props delete mode 100644 XUnit.targets delete mode 100644 vswhere.exe diff --git a/35MSSharedLib1024.snk b/35MSSharedLib1024.snk deleted file mode 100644 index 695f1b38774e839e5b90059bfb7f32df1dff4223..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmV;R0AK$ABme*efB*oL000060ssI2Bme+XQ$aBR1ONa50098C{E+7Ye`kjtcRG*W zi8#m|)B?I?xgZ^2Sw5D;l4TxtPwG;3)3^j?qDHjEteSTF{rM+4WI`v zCD?tsZ^;k+S&r1&HRMb=j738S=;J$tCKNrc$@P|lZ - - - - - - false - true - - false - false - false - - <_PipeBuildPublishing>false - <_PipeBuildPublishing Condition="$(PB_PublishType.Contains('blob'))">true - - - - - <_DirectoryBuildPropsFile>Directory.Build.props - <_DirectoryBuildPropsBasePath>$([MSBuild]::GetDirectoryNameOfFileAbove('$(SolutionPath)', '$(_DirectoryBuildPropsFile)')) - $([System.IO.Path]::Combine('$(_DirectoryBuildPropsBasePath)', '$(_DirectoryBuildPropsFile)')) - - - - - - - - - <_MSBuildCmd Condition="'$(MSBuildRuntimeType)' != 'Core'">"$(MSBuildBinPath)\MSBuild.exe" /nodeReuse:false - <_MSBuildCmd Condition="'$(MSBuildRuntimeType)' == 'Core'">"$(DotNetTool)" msbuild - - - - Debug - - <_QuietRestore>false - <_QuietRestore Condition="'$(CIBuild)' != 'true' and '$(RepoToolsetQuietRestore)' == 'true'">true - - - - <_SolutionBuildTargets Include="Rebuild" Condition="'$(Rebuild)' == 'true'" /> - <_SolutionBuildTargets Include="Build" Condition="'$(Build)' == 'true' and '$(Rebuild)' != 'true'" /> - - <_SolutionBuildTargets Include="Test" Condition="'$(Test)' == 'true'" /> - <_SolutionBuildTargets Include="IntegrationTest" Condition="'$(IntegrationTest)' == 'true'" /> - <_SolutionBuildTargets Include="Pack" Condition="'$(Pack)' == 'true' and '$(Sign)' != 'true'" /> - - - - <_CommonProps Include="Configuration=$(Configuration)"/> - <_CommonProps Include="CIBuild=$(CIBuild)"/> - - - - <_RestoreToolsProps Include="@(_CommonProps)"/> - <_RestoreToolsProps Include="BaseIntermediateOutputPath=$(ArtifactsToolsetDir)Common"/> - <_RestoreToolsProps Include="ExcludeRestorePackageImports=true"/> - <_RestoreToolsProps Include="UsingToolVSSDK=$(UsingToolVSSDK)"/> - <_RestoreToolsProps Include="RoslynToolsMicrosoftSignToolVersion=$(RoslynToolsMicrosoftSignToolVersion)"/> - <_RestoreToolsProps Include="MicroBuildPluginsSwixBuildVersion=$(MicroBuildPluginsSwixBuildVersion)"/> - <_RestoreToolsProps Include="MicroBuildCoreVersion=$(MicroBuildCoreVersion)"/> - <_RestoreToolsProps Include="RoslynToolsMicrosoftModifyVsixManifestVersion=$(RoslynToolsMicrosoftModifyVsixManifestVersion)"/> - <_RestoreToolsProps Include="MicrosoftDiaSymReaderPdb2PdbVersion=$(MicrosoftDiaSymReaderPdb2PdbVersion)"/> - <_RestoreToolsProps Include="UsingToolPdbConverter=$(UsingToolPdbConverter)"/> - <_RestoreToolsProps Include="ExternalRestoreSources=$(PB_RestoreSource)" Condition="'$(PB_RestoreSource)' != ''"/> - <_RestoreToolsProps Include="UsingPipeBuildPublishing=$(_PipeBuildPublishing)"/> - <_RestoreToolsProps Include="MicrosoftDotNetBuildTasksFeedVersion=$(MicrosoftDotNetBuildTasksFeedVersion)"/> - - - - <_SolutionBuildProps Include="@(_CommonProps)"/> - <_SolutionBuildProps Include="__DeployProjectOutput=$(Deploy)"/> - <_SolutionBuildProps Include="__ExternalRestoreSources=$(PB_RestoreSource)" Condition="'$(PB_RestoreSource)' != ''"/> - - - - <_SolutionBuildPropsArgs Include="@(_SolutionBuildProps->'/p:%(Identity)')" /> - <_RestoreToolsPropArgs Include="@(_RestoreToolsProps->'/p:%(Identity)')" /> - - - - <_SolutionBuildPropsCmdLine>@(_SolutionBuildPropsArgs, ' ') - <_RestoreToolsPropsCmdLine>@(_RestoreToolsPropArgs, ' ') - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Compiler.props b/Compiler.props deleted file mode 100644 index f7ab5e6d3a2..00000000000 --- a/Compiler.props +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - - - $(NuGetPackageRoot)microsoft.net.compilers\$(MicrosoftNetCompilersVersion)\ - - - \ No newline at end of file diff --git a/DefaultVersions.props b/DefaultVersions.props deleted file mode 100644 index 999895c20c0..00000000000 --- a/DefaultVersions.props +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - true - true - true - true - - - false - false - - - 1.0.147 - 0.2.0 - 4.7.1-alpha-00001 - 2.3.0 - 2.3.0 - - 15.6.0-dev - 15.1.192 - 1.1.0-beta1-62318-01 - 0.3.3-beta - 0.3.7-beta - 0.2.0-beta-000053 - 2.3.1 - $(XUnitVersion) - $(XUnitVersion) - 1.0.0-prerelease-02124-02 - - - - - $(ArtifactsToolsetDir)PackageVersionOverrides.props - - - - - - $(RestoreSources);https://api.nuget.org/v3/index.json - $(RestoreSources);https://dotnet.myget.org/F/dotnet-core/api/v3/index.json - $(RestoreSources);https://dotnet.myget.org/F/roslyn/api/v3/index.json - $(RestoreSources);https://www.myget.org/F/xunit/api/v3/index.json - - - $(RestoreSources);https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json - - - $(__ExternalRestoreSources);$(RestoreSources) - - \ No newline at end of file diff --git a/GenerateInternalsVisibleTo.targets b/GenerateInternalsVisibleTo.targets deleted file mode 100644 index 3297a690bd9..00000000000 --- a/GenerateInternalsVisibleTo.targets +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - $(IntermediateOutputPath)$(MSBuildProjectName).InternalsVisibleTo$(DefaultLanguageSourceExtension) - - - - - false - - - - - - <_InternalsVisibleToAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute"> - <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' != ''">%(InternalsVisibleTo.Identity), PublicKey=%(InternalsVisibleTo.Key) - <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == ''">%(InternalsVisibleTo.Identity), PublicKey=$(PublicKey) - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/GenerateNuspecProperties.csx b/GenerateNuspecProperties.csx deleted file mode 100644 index 8fa595ce2f3..00000000000 --- a/GenerateNuspecProperties.csx +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) Microsoft.All Rights Reserved.Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -#r "System.Xml.Linq" -using System.Xml.Linq; - -// Args: -// - Path to Dependencies.props -// - Output file path - -File.WriteAllLines(Args[1], - from e in XDocument.Load(Args[0]).Root.Descendants() - where e.Name.LocalName.EndsWith("Version") - select $"{e.Name.LocalName}={e.Value}"); diff --git a/GenerateNuspecProperties.targets b/GenerateNuspecProperties.targets deleted file mode 100644 index 60fa419f194..00000000000 --- a/GenerateNuspecProperties.targets +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - $(OutputPath) - $(GenerateNuspecDependsOn);GenerateNuspecProperties - - - - - <_NuspecPropertiesTempFile>$(IntermediateOutputPath)NuspecProps.txt - - - - - - - - - - version=$(Version);@(_PropsForDependencies, ';') - - - - \ No newline at end of file diff --git a/GenerateResxSource.csx b/GenerateResxSource.csx deleted file mode 100644 index d8b55654aa4..00000000000 --- a/GenerateResxSource.csx +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -#r "System.Xml.Linq" -using System.Xml.Linq; -using System.Globalization; - -const int maxDocCommentLength = 256; - -string languageStr = Args[0]; -string resxFile = Args[1]; -string resourceName = Args[2]; -string sourceOutputPath = Args[3]; - -string namespaceName; -string className; - -string[] nameParts = resourceName.Split('.'); -if (nameParts.Length == 1) -{ - namespaceName = null; - className = nameParts[0]; -} -else -{ - namespaceName = string.Join(".", nameParts, 0, nameParts.Length - 1); - className = nameParts.Last(); -} - -bool cs = false, vb = false; -switch (languageStr.ToUpperInvariant()) -{ - case "C#": cs = true; break; - case "VB": vb = true; break; - default: throw new NotSupportedException($"GenerateResxSource doesn't support language: '{languageStr}'"); -} - -bool IsLetterChar(UnicodeCategory cat) -{ - // letter-character: - // A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl - // A Unicode-escape-sequence representing a character of classes Lu, Ll, Lt, Lm, Lo, or Nl - - switch (cat) - { - case UnicodeCategory.UppercaseLetter: - case UnicodeCategory.LowercaseLetter: - case UnicodeCategory.TitlecaseLetter: - case UnicodeCategory.ModifierLetter: - case UnicodeCategory.OtherLetter: - case UnicodeCategory.LetterNumber: - return true; - } - - return false; -} - -string classIndent = (namespaceName == null ? "" : " "); -string memberIndent = classIndent + " "; - -var strings = new StringBuilder(); -foreach (var node in XDocument.Load(resxFile).Descendants("data")) -{ - string name = node.Attribute("name")?.Value ?? throw new InvalidDataException($"Missing resource name"); - string value = node.Elements("value").FirstOrDefault()?.Value.Trim() ?? throw new InvalidDataException($"Missing resource value: '{name}'"); - - if (name == "") - { - throw new InvalidDataException($"Empty resource name"); - } - - if (value.Length > maxDocCommentLength) - { - value = value.Substring(0, maxDocCommentLength) + " ..."; - } - - string escapedTrimmedValue = new XElement("summary", value).ToString(); - - foreach (var line in escapedTrimmedValue.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None)) - { - strings.Append($"{memberIndent}{(cs ? "///" : vb ? "'''" : throw null)} "); - strings.AppendLine(line); - } - - string identifier = IsLetterChar(char.GetUnicodeCategory(name[0])) ? name : "_" + name; - - if (cs) - { - strings.AppendLine($"{memberIndent}internal static string {identifier} => ResourceManager.GetString(\"{name}\", Culture);"); - } - else if (vb) - { - strings.AppendLine($"{memberIndent}Friend Shared ReadOnly Property {identifier} As String"); - strings.AppendLine($"{memberIndent} Get"); - strings.AppendLine($"{memberIndent} Return ResourceManager.GetString(\"{name}\", Culture)"); - strings.AppendLine($"{memberIndent} End Get"); - strings.AppendLine($"{memberIndent}End Property"); - } - else - { - throw null; - } -} - -string namespaceStart, namespaceEnd; -if (namespaceName == null) -{ - namespaceStart = namespaceEnd = null; -} -else if (cs) -{ - namespaceStart = $@"namespace {namespaceName}{Environment.NewLine}{{"; - namespaceEnd = "}" + Environment.NewLine; -} -else if (vb) -{ - namespaceStart = $"Namespace {namespaceName}"; - namespaceEnd = "End Namespace" + Environment.NewLine; -} -else -{ - throw null; -} - -File.WriteAllText(sourceOutputPath, cs ? -$@"// -using System.Reflection; - -{namespaceStart} -{classIndent}internal static class {className} -{classIndent}{{ -{memberIndent}internal static global::System.Globalization.CultureInfo Culture {{ get; set; }} -{memberIndent}internal static global::System.Resources.ResourceManager ResourceManager {{ get; }} = new global::System.Resources.ResourceManager(""{resourceName}"", typeof({className}).GetTypeInfo().Assembly); - -{strings} -{classIndent}}} -{namespaceEnd} -" : vb ? -$@"' -Imports System.Reflection - -{namespaceStart} -{classIndent}Friend Class {className} -{memberIndent}Private Sub New -{memberIndent}End Sub -{memberIndent} -{memberIndent}Friend Shared Property Culture As Global.System.Globalization.CultureInfo -{memberIndent}Friend Shared ReadOnly Property ResourceManager As New Global.System.Resources.ResourceManager(""{resourceName}"", GetType({className}).GetTypeInfo().Assembly) - -{strings} -{classIndent}End Class -{namespaceEnd}" -: throw null); diff --git a/GenerateResxSource.targets b/GenerateResxSource.targets deleted file mode 100644 index 898ab36583e..00000000000 --- a/GenerateResxSource.targets +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - - - - - - - - - %(EmbeddedResource.Namespace).%(EmbeddedResource.Filename) - - - - - - - - - - - - <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'C#'">cs - <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'VB'">vb - <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'F#'">fs - - - - - - $(IntermediateOutputPath)%(EmbeddedResourceSG.ManifestResourceName).$(_EmbeddedResourceSourceExtension) - - - - - \ No newline at end of file diff --git a/GitHash.props b/GitHash.props deleted file mode 100644 index aa4c9e3df3e..00000000000 --- a/GitHash.props +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - $(BUILD_SOURCEVERSION) - - - - - - $(GIT_COMMIT) - - - - - - - <_DotGitDir>$(RepoRoot).git - <_HeadFileContent Condition="Exists('$(_DotGitDir)/HEAD')">$([System.IO.File]::ReadAllText('$(_DotGitDir)/HEAD').Trim()) - <_RefPath Condition="$(_HeadFileContent.StartsWith('ref: '))">$(_DotGitDir)/$(_HeadFileContent.Substring(5)) - $([System.IO.File]::ReadAllText('$(_RefPath)').Trim()) - $(_HeadFileContent) - - - - - \ No newline at end of file diff --git a/Imports.targets b/Imports.targets deleted file mode 100644 index 2fb321a1ff2..00000000000 --- a/Imports.targets +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - $(__DeployProjectOutput) - - - true - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Localization.props b/Localization.props deleted file mode 100644 index 10457a64103..00000000000 --- a/Localization.props +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - true - - - - - - - \ No newline at end of file diff --git a/MSFT.snk b/MSFT.snk deleted file mode 100644 index 110b59c7b0d27388353dcf4116f721595f473e58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmV;R0AK$ABme*efB*oL000060ssI2Bme+XQ$aBR1ONa500968(fU`!uG#RTE`+KN zuKf+^=>2N!kB9pMc5H)8nUWr|JLj6&)!f0|n$k8CAp(#KayILlN=pn$R@96PlTucm;!K;}lU1BV%Wh@=~);)AxZ!P8VeqOH+#FjlK9EuV{ OWf&lBz>_phTGEsG5JRQ_ diff --git a/NuGet.props b/NuGet.props deleted file mode 100644 index 3e570ee2b77..00000000000 --- a/NuGet.props +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - $(NUGET_PACKAGES) - $(UserProfile)\.nuget\packages\ - $([System.Environment]::GetFolderPath(SpecialFolder.Personal))\.nuget\packages\ - $(NuGetPackageRoot)\ - - - \ No newline at end of file diff --git a/OptimizationData.targets b/OptimizationData.targets deleted file mode 100644 index 012a9106a48..00000000000 --- a/OptimizationData.targets +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - <_OptimizationDataFile>$([System.IO.Path]::GetFullPath('$(IbcOptimizationDataDir)$(TargetName).pgo')) - $(IntermediateOutputPath)$(TargetFileName).pcbm - - - - - - - - - - - - - - - - - <_RunIbc>false - <_RunIbc Condition="'$(Configuration)' == 'Release' and '$(OfficialBuild)' == 'true'">true - - <_IbcMergePath>$(NuGetPackageRoot)microsoft.dotnet.ibcmerge\$(MicrosoftDotNetIBCMergeVersion)\lib\net45\ibcmerge.exe - <_IbcMergeCommandLineArgs>-q -f -partialNGEN -minify -mo "@(IntermediateAssembly)" -incremental "$(_OptimizationDataFile)" - - - - - - - - - - - - \ No newline at end of file diff --git a/PipeBuild.Publish.proj b/PipeBuild.Publish.proj deleted file mode 100644 index 6aa37b74382..00000000000 --- a/PipeBuild.Publish.proj +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ProjectDefaults.props b/ProjectDefaults.props deleted file mode 100644 index eb40a0c0b7d..00000000000 --- a/ProjectDefaults.props +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - true - MicrosoftShared - true - en-US - Microsoft Corporation - © Microsoft Corporation. All rights reserved. - Microsoft - true - true - http://go.microsoft.com/fwlink/?LinkId=529443 - - - false - - - false - - - false - - - IOperation,$(Features) - - - portable - embedded - - - /_/ - - true - - - - C# - VB - F# - - - - - - - - - C# - $(MSBuildToolsPath)\Microsoft.CSharp.targets - - - - - - VB - $(MSBuildToolsPath)\Microsoft.VisualBasic.targets - - - - - - - - - - - - - true - $(NoWarn);1701;1702;1705;1591 - - - - true - DEBUG;TRACE - - - - TRACE - true - - - - - - - Empty - Binary - On - On - On - Embed - true - - - - true - true - true - - - - true - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/ProjectLayout.props b/ProjectLayout.props deleted file mode 100644 index 781a60c558c..00000000000 --- a/ProjectLayout.props +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - $(MSBuildProjectName) - $([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\')) - $(BaseOutputPath) - $([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(MSBuildProjectName)\')) - $(BaseIntermediateOutputPath) - - - \ No newline at end of file diff --git a/RepoLayout.props b/RepoLayout.props deleted file mode 100644 index 5aa2508fa35..00000000000 --- a/RepoLayout.props +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - $(DOTNET_INSTALL_DIR) - $(RepoRoot).dotnet\ - $(DotNetRoot)\ - - - - $(DotNetRoot)dotnet - $(DotNetTool).exe - $(RepoRoot)artifacts\ - $(ArtifactsDir)toolset\ - $(ArtifactsDir)$(Configuration)\ - $(ArtifactsConfigurationDir)bin\ - $(ArtifactsConfigurationDir)obj\ - $(ArtifactsConfigurationDir)log\ - $(ArtifactsConfigurationDir)tmp\ - $(ArtifactsConfigurationDir)TestResults\ - $(ArtifactsConfigurationDir)SymStore\ - $(ArtifactsConfigurationDir)packages\ - $(ArtifactsConfigurationDir)VSSetup\ - $(VisualStudioSetupOutputPath)Insertion\ - $(ArtifactsConfigurationDir)VSSetup.obj\ - - - \ No newline at end of file diff --git a/Settings.props b/Settings.props deleted file mode 100644 index ea4b0a427c1..00000000000 --- a/Settings.props +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Sign.proj b/Sign.proj deleted file mode 100644 index ae25757c966..00000000000 --- a/Sign.proj +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SourceLink.targets b/SourceLink.targets deleted file mode 100644 index 7a393195fdd..00000000000 --- a/SourceLink.targets +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - $(IntermediateOutputPath)$(MSBuildProjectName).sourcelink.json - - - $(DeterministicSourceRoot) - $(RepoRoot) - - - - - - - - - <_EscapedSourceLinkRoot>$(SourceLinkRoot.Replace('\', '\\').Replace('"', '\"')) - - <_EscapedUrl>$(RepositoryRawUrl) - <_EscapedUrl Condition="'$(_EscapedUrl)' == '' and $(RepositoryUrl.StartsWith('https://github.com/'))">https://raw.githubusercontent.com/$(RepositoryUrl.SubString(19)) - <_EscapedUrl Condition="'$(_EscapedUrl)' == '' and $(RepositoryUrl.StartsWith('http://github.com/'))">https://raw.githubusercontent.com/$(RepositoryUrl.SubString(18)) - <_EscapedUrl>$(_EscapedUrl.TrimEnd('/').Replace('\', '\\').Replace('"', '\"')) - - - - - - - - - - - - - \ No newline at end of file diff --git a/StrongName.props b/StrongName.props deleted file mode 100644 index 3f674c4f024..00000000000 --- a/StrongName.props +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - 0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9 - 002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293 - - - \ No newline at end of file diff --git a/StrongName.targets b/StrongName.targets deleted file mode 100644 index ece4965b229..00000000000 --- a/StrongName.targets +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - false - true - - - - - - - $(MSBuildThisFileDirectory)MSFT.snk - $(MicrosoftPublicKey) - b03f5f7f11d50a3a - - - - - $(MSBuildThisFileDirectory)35MSSharedLib1024.snk - $(MicrosoftSharedPublicKey) - 31BF3856AD364E35 - - - - - - - - <_DelaySignMainAssembly>$(DelaySign) - true - - - - - $(_DelaySignMainAssembly) - - - - - - $(PrepareForBuildDependsOn);VerifyBuildFlags - - - - - - - - \ No newline at end of file diff --git a/SymStore.targets b/SymStore.targets deleted file mode 100644 index e4bca83b31a..00000000000 --- a/SymStore.targets +++ /dev/null @@ -1,110 +0,0 @@ - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - <_DeployToSymStoreTargetName Condition="'$(TargetFrameworks)' == ''">_InnerDeployToSymStore - <_DeployToSymStoreTargetName Condition="'$(TargetFrameworks)' != ''">_OuterDeployToSymStore - - - - - - - <_TargetFramework Include="$(TargetFrameworks)" /> - - - - - - - - <_TargetPdbPath /> - <_TargetPdbPath Condition="'$(DebugType)' != 'embedded'">$([System.IO.Path]::ChangeExtension($(TargetPath), '.pdb')) - - <_SymStoreOutputDir>$(ArtifactsSymStoreDirectory)$(MSBuildProjectName)\$(TargetFramework)\ - <_SymStorePdbPath>$(_SymStoreOutputDir)$(TargetName).pdb - <_SymStoreAssemblyPath>$(_SymStoreOutputDir)$(TargetName)$(TargetExt) - - true - - - - - - - - <_PdbConverterPath>$(NuGetPackageRoot)microsoft.diasymreader.pdb2pdb\$(MicrosoftDiaSymReaderPdb2PdbVersion)\tools\Pdb2Pdb.exe - <_PdbConverterCommandLineArgs>"$(TargetPath)" /out "$(_SymStorePdbPath)" /verbose /srcsvrvar SRC_INDEX=public - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Tests.props b/Tests.props deleted file mode 100644 index c80066648ff..00000000000 --- a/Tests.props +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - false - true - - - - false - true - - - - false - true - - - false - - - - - - - - - - false - - - \ No newline at end of file diff --git a/Tools.proj b/Tools.proj deleted file mode 100644 index 6caee5e8469..00000000000 --- a/Tools.proj +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - <_RestoreSources Include="$(ExternalRestoreSources)" Condition="'$(ExternalRestoreSources)' != ''"/> - <_RestoreSources Include="https://api.nuget.org/v3/index.json"/> - <_RestoreSources Include="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json"/> - <_RestoreSources Include="https://dotnet.myget.org/F/symreader-converter/api/v3/index.json" - Condition="'$(UsingToolPdbConverter)' == 'true' and $(MicrosoftDiaSymReaderPdb2PdbVersion.Contains('-'))"/> - <_RestoreSources Include="https://dotnetfeed.blob.core.windows.net/dotnet-core/packages/index.json" - Condition="'$(UsingPipeBuildPublishing)' == 'true'" /> - - - net462 - @(_RestoreSources) - - - - - - - - - - - \ No newline at end of file diff --git a/Version.props b/Version.props deleted file mode 100644 index 0d881f4d16a..00000000000 --- a/Version.props +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - $(VersionBase).0 - false - true - - - - - - <_BuildNumberFiveDigitDateStamp>$([MSBuild]::Subtract($(BUILD_BUILDNUMBER.Split('.')[0].Substring(3).Trim()), 8800)) - <_BuildNumberBuildOfTheDayPadded>$(BUILD_BUILDNUMBER.Split('.')[1].PadLeft(2,'0')) - $(VersionBase) - $(Version)-$(PreReleaseVersionLabel)-$(_BuildNumberFiveDigitDateStamp)-$(_BuildNumberBuildOfTheDayPadded) - $(VersionBase).$(_BuildNumberFiveDigitDateStamp) - $(VersionBase).$(_BuildNumberFiveDigitDateStamp)$(_BuildNumberBuildOfTheDayPadded) - $(Version). Commit Hash: $(GitHeadSha) - - - - - - $(VersionBase)-ci - 42.42.42.42 - 42.42.42.42 - $(FileVersion) - - - - - - $(VersionBase)-dev - 42.42.42.42 - 42.42.42.42 - 42.42.42.42 - $(FileVersion) - - - - - \ No newline at end of file diff --git a/VisualStudio.DesignTimeBuild.targets b/VisualStudio.DesignTimeBuild.targets deleted file mode 100644 index 89f57127528..00000000000 --- a/VisualStudio.DesignTimeBuild.targets +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - - \ No newline at end of file diff --git a/VisualStudio.ImportSdk.targets b/VisualStudio.ImportSdk.targets deleted file mode 100644 index 2ab9ef24eaf..00000000000 --- a/VisualStudio.ImportSdk.targets +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - \ No newline at end of file diff --git a/VisualStudio.Insertion.proj b/VisualStudio.Insertion.proj deleted file mode 100644 index bbf6934d9ea..00000000000 --- a/VisualStudio.Insertion.proj +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - <_StubFiles Include="$(VisualStudioSetupIntermediateOutputPath)**\*.stub"/> - <_StubDirs Include="@(_StubFiles->'%(RecursiveDir)')"/> - - - - - - <_ComponentDir>%(_StubDirs.Identity) - <_ComponentName>$(_ComponentDir.TrimEnd('\')) - - - - <_Args Include="ComponentName=$(_ComponentName)"/> - <_Args Include="SetupOutputPath=$(VisualStudioSetupInsertionPath)"/> - <_Args Include="ComponentIntermediateOutputPath=$(VisualStudioSetupIntermediateOutputPath)$(_ComponentName)\"/> - <_Args Include="SwixBuildPath=$(NuGetPackageRoot)microbuild.plugins.swixbuild\$(MicroBuildPluginsSwixBuildVersion)\"/> - - - - - - - - - diff --git a/VisualStudio.SetupPackage.swixproj b/VisualStudio.SetupPackage.swixproj deleted file mode 100644 index 6600af919ca..00000000000 --- a/VisualStudio.SetupPackage.swixproj +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - v4.6 - neutral - false - vsix - true - $(SwrPackageName) - - - - - - <_SwrProperties Include="$([MSBuild]::Unescape($(SwrProperties)))" /> - - - - $(PackagePreprocessorDefinitions);@(_SwrProperties) - $(IntermediateOutputPath) - - - - - - - - \ No newline at end of file diff --git a/VisualStudio.SetupPackage.vsmanproj b/VisualStudio.SetupPackage.vsmanproj deleted file mode 100644 index 8f99fdb4b4e..00000000000 --- a/VisualStudio.SetupPackage.vsmanproj +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - false - false - false - - - - - - true - true - true - v4.6 - $(ComponentName) - $(SetupOutputPath) - $(ComponentIntermediateOutputPath) - - - - <_PackageStubFiles Include="$(ComponentIntermediateOutputPath)*.stub"/> - - - - - false - - - - diff --git a/VisualStudio.props b/VisualStudio.props deleted file mode 100644 index deb1e0b5128..00000000000 --- a/VisualStudio.props +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - $(MSBuildProjectDirectory)\source.extension.vsixmanifest - false - true - - - - - - - - false - - Program - $(DevEnvDir)devenv.exe - /rootsuffix $(VSSDKTargetPlatformRegRootSuffix) /log - - true - true - All - 3 - - - - true - - - \ No newline at end of file diff --git a/VisualStudio.targets b/VisualStudio.targets deleted file mode 100644 index 9f11fbdef6b..00000000000 --- a/VisualStudio.targets +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - <_TargetVsixContainerDir>$(VisualStudioSetupOutputPath) - - $(TargetName).vsix - $(_TargetVsixContainerDir)$(TargetVsixContainerName) - - false - true - - <_ComponentIntermediateDir Condition="'$(VisualStudioInsertionComponent)' != ''">$(VisualStudioSetupIntermediateOutputPath)$(VisualStudioInsertionComponent)\ - - - - - - <_VsxXmlNamespace><Namespace Prefix='vsx' Uri='http://schemas.microsoft.com/developer/vsx-schema/2011'/> - - - - - - - - - - - - - - - <_PackageStubFile>$(_ComponentIntermediateDir)$(_VsixPackageId).stub - - - - - - - - - - - - - - - - - - - - - - - - - - <_JsonFileName>$(_VsixPackageId).json - - - - <_FinalizeInsertionVsixFilesInputs Include="$(VisualStudioSetupOutputPath)$(TargetVsixContainerName)" /> - <_FinalizeInsertionVsixFilesInputs Include="$(VisualStudioSetupOutputPath)$(_JsonFileName)" /> - - <_FinalizeInsertionVsixFilesOutputs Include="$(VisualStudioSetupInsertionPath)$(TargetVsixContainerName)" /> - <_FinalizeInsertionVsixFilesOutputs Include="$(VisualStudioSetupInsertionPath)$(_JsonFileName)" /> - - - - - - - - - - - <_ModifyVsixManifestToolExe>$(NuGetPackageRoot)roslyntools.microsoft.modifyvsixmanifest\$(RoslynToolsMicrosoftModifyVsixManifestVersion)\tools\ModifyVsixManifest.exe - <_ModifyVsixManifestArgs>--remove=//x:PackageManifest/x:Installation/@Experimental --add-attribute=//x:PackageManifest/x:Installation;SystemComponent;true - - - - - - - - - - - - - - <_SwrProperties>@(SwrProperty) - <_SwrFiles>@(SwrFile->'%(FullPath)') - - - <_SwixArgs Include="SwrProperties=$([MSBuild]::Escape($(_SwrProperties)))"/> - <_SwixArgs Include="SwrFiles=$([MSBuild]::Escape($(_SwrFiles)))"/> - <_SwixArgs Include="SwrPackageName=$(TargetName)"/> - <_SwixArgs Include="IntermediateOutputPath=$(IntermediateOutputPath)"/> - <_SwixArgs Include="SwixBuildPath=$(NuGetPackageRoot)microbuild.plugins.swixbuild\$(MicroBuildPluginsSwixBuildVersion)\"/> - - - - - - - - - - - - - - - <_PackageStubFile>$(_ComponentIntermediateDir)$(TargetName).stub - - - - - - - <_GeneratedCTOFilesWithCulture Include="@(_GeneratedCTOFilesWithNoCulture)"> - en - true - - <_GeneratedCTOFilesWithNoCulture Remove="@(_GeneratedCTOFilesWithNoCulture)" /> - <_ResourcesToMergeWithCTOWithCultureMetadata Condition="'%(WithCulture)' != 'true'"> - en - true - - - - - - - - - - - - - - - %(IntermediateZipItem.Filename)\%(IntermediateZipItem.Language)\%(IntermediateZipItem.OutputSubPath)\%(IntermediateZipItem.Culture) - - - %(IntermediateZipProject.Filename)\%(IntermediateZipProject.Language)\%(IntermediateZipProject.OutputSubPath)\%(IntermediateZipProject.Culture) - - - - - $(GetVsixSourceItemsDependsOn);_GetVsixTemplateItems - - - - - - \ No newline at end of file diff --git a/Workarounds.targets b/Workarounds.targets deleted file mode 100644 index d23e7b61923..00000000000 --- a/Workarounds.targets +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - $(MSBuildProjectFullPath) - - - - - - - true - - - - - - - false - - - - - - - - - - - - - - - - $([System.IO.Directory]::GetParent(%(ResourceCopyLocalItems.FullPath)).get_Name())\ - - - - - - - - - - - - - <_GenerateBindingRedirectsIntermediateAppConfig>$(IntermediateOutputPath)$(TargetFileName).config - - - - - - $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb - - - - - $(RepoRoot)=$(DeterministicSourceRoot) - - - - - - \ No newline at end of file diff --git a/XUnit.props b/XUnit.props deleted file mode 100644 index 5c09fa84724..00000000000 --- a/XUnit.props +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - - - - - - \ No newline at end of file diff --git a/XUnit.targets b/XUnit.targets deleted file mode 100644 index 9da9ba490f6..00000000000 --- a/XUnit.targets +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - true - <_TestTargetName Condition="'$(TargetFrameworks)' == ''">InnerTest - <_TestTargetName Condition="'$(TargetFrameworks)' != ''">OuterTest - - - - $(PlatformTarget) - x64 - - - - - - - <_TestArchitectureItems Include="$(TestArchitectures)" /> - - - - - - - <_TestArchitecture>%(_TestArchitectureItems.Identity) - <_TestEnvironment>$(TargetFramework)|$(_TestArchitecture) - <_TestOutPathNoExt>$(ArtifactsTestResultsDir)$(MSBuildProjectName)_$(TargetFramework)_$(_TestArchitecture) - <_TestStdOutPath>$(_TestOutPathNoExt).log - <_TestResultsXmlPath>$(_TestOutPathNoExt).xml - <_TestResultsHtmlPath>$(_TestOutPathNoExt).html - <_RunOnCore>false - <_RunOnCore Condition="$(TargetFramework.StartsWith('netcoreapp'))">true - - - - - - <_TargetFileNameNoExt>$([System.IO.Path]::GetFileNameWithoutExtension('$(TargetFileName)')) - <_CoreRuntimeConfigPath>$(TargetDir)$(_TargetFileNameNoExt).runtimeconfig.json - <_CoreDepsPath>$(TargetDir)$(_TargetFileNameNoExt).deps.json - - - <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console/$(XUnitVersion)/tools/netcoreapp1.0/xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath)" $(XUnitRunnerAdditionalArguments) - <_TestResultsDisplayPath>$(_TestStdOutPath) - - - - <_XUnitConsoleExe>xunit.console.exe - <_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe - <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -noshadow -xml "$(_TestResultsXmlPath)" -html "$(_TestResultsHtmlPath)" $(XUnitRunnerAdditionalArguments) - <_TestResultsDisplayPath>$(_TestResultsHtmlPath) - - - - - - - - - - - - - - - - - <_FailedTestRuns Include="$(_TestEnvironment)" Condition="'$(_TestErrorCode)' != '0'" /> - - - - - - - - - - <_TargetFramework Include="$(TargetFrameworks)" /> - - - - - - - - - - - - - - - - - RemoveDuplicateXUnitContent;$(PrepareForBuildDependsOn) - - - \ No newline at end of file diff --git a/vswhere.exe b/vswhere.exe deleted file mode 100644 index 3d91a17dc4beec6fa57dca0eec5bcee1dcd9229b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 402040 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%0Df#hH#H7V2x1@>#N%o>Ixxu>*7hDTA#i#YLN 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 NvWu}CVp~ Date: Sun, 10 Jun 2018 16:43:05 -0700 Subject: [PATCH 084/100] Restructure RepoToolset build tasks --- RoslynTools.RepoToolset.csproj | 31 +++ RoslynTools.RepoToolset.nuspec | 28 ++ sdk/Sdk.props | 20 ++ sdk/Sdk.targets | 30 ++ tools/35MSSharedLib1024.snk | Bin 0 -> 160 bytes tools/AfterSigning.proj | 27 ++ tools/AfterSolutionBuild.proj | 18 ++ tools/AspNet.snk | Bin 0 -> 596 bytes tools/Build.proj | 250 +++++++++++++++++ tools/BuildReleasePackages.targets | 27 ++ tools/BuildStep.props | 5 + tools/BuildTasks.props | 11 + tools/Compiler.props | 16 ++ tools/DefaultVersions.props | 89 ++++++ tools/Directory.Build.props | 5 + tools/Directory.Build.targets | 5 + tools/Empty.targets | 22 ++ tools/GenerateInternalsVisibleTo.targets | 48 ++++ tools/GenerateResxSource.targets | 70 +++++ tools/Imports.targets | 41 +++ tools/Localization.props | 27 ++ tools/MSFT.snk | Bin 0 -> 160 bytes tools/OptimizationData.targets | 58 ++++ tools/Performance.targets | 32 +++ tools/ProjectDefaults.props | 139 ++++++++++ tools/ProjectLayout.props | 26 ++ tools/Publish.proj | 134 +++++++++ tools/RepoLayout.props | 78 ++++++ tools/RepositoryInfo.targets | 16 ++ tools/Settings.props | 25 ++ tools/Sign.proj | 40 +++ tools/StrongName.props | 15 + tools/StrongName.targets | 64 +++++ tools/SymStore.targets | 110 ++++++++ tools/Tests.props | 42 +++ tools/Tools.proj | 60 ++++ tools/Version.props | 64 +++++ tools/Version.targets | 31 +++ tools/VisualStudio.DesignTimeBuild.targets | 18 ++ tools/VisualStudio.ImportSdk.targets | 11 + tools/VisualStudio.InsertionManifests.targets | 37 +++ tools/VisualStudio.SetupPackage.swixproj | 37 +++ tools/VisualStudio.SetupPackage.vsmanproj | 39 +++ tools/VisualStudio.props | 37 +++ tools/VisualStudio.targets | 256 ++++++++++++++++++ tools/Workarounds.targets | 131 +++++++++ tools/XUnit.props | 17 ++ tools/XUnit.targets | 109 ++++++++ tools/vswhere.exe | Bin 0 -> 402040 bytes 49 files changed, 2396 insertions(+) create mode 100644 RoslynTools.RepoToolset.csproj create mode 100644 RoslynTools.RepoToolset.nuspec create mode 100644 sdk/Sdk.props create mode 100644 sdk/Sdk.targets create mode 100644 tools/35MSSharedLib1024.snk create mode 100644 tools/AfterSigning.proj create mode 100644 tools/AfterSolutionBuild.proj create mode 100644 tools/AspNet.snk create mode 100644 tools/Build.proj create mode 100644 tools/BuildReleasePackages.targets create mode 100644 tools/BuildStep.props create mode 100644 tools/BuildTasks.props create mode 100644 tools/Compiler.props create mode 100644 tools/DefaultVersions.props create mode 100644 tools/Directory.Build.props create mode 100644 tools/Directory.Build.targets create mode 100644 tools/Empty.targets create mode 100644 tools/GenerateInternalsVisibleTo.targets create mode 100644 tools/GenerateResxSource.targets create mode 100644 tools/Imports.targets create mode 100644 tools/Localization.props create mode 100644 tools/MSFT.snk create mode 100644 tools/OptimizationData.targets create mode 100644 tools/Performance.targets create mode 100644 tools/ProjectDefaults.props create mode 100644 tools/ProjectLayout.props create mode 100644 tools/Publish.proj create mode 100644 tools/RepoLayout.props create mode 100644 tools/RepositoryInfo.targets create mode 100644 tools/Settings.props create mode 100644 tools/Sign.proj create mode 100644 tools/StrongName.props create mode 100644 tools/StrongName.targets create mode 100644 tools/SymStore.targets create mode 100644 tools/Tests.props create mode 100644 tools/Tools.proj create mode 100644 tools/Version.props create mode 100644 tools/Version.targets create mode 100644 tools/VisualStudio.DesignTimeBuild.targets create mode 100644 tools/VisualStudio.ImportSdk.targets create mode 100644 tools/VisualStudio.InsertionManifests.targets create mode 100644 tools/VisualStudio.SetupPackage.swixproj create mode 100644 tools/VisualStudio.SetupPackage.vsmanproj create mode 100644 tools/VisualStudio.props create mode 100644 tools/VisualStudio.targets create mode 100644 tools/Workarounds.targets create mode 100644 tools/XUnit.props create mode 100644 tools/XUnit.targets create mode 100644 tools/vswhere.exe diff --git a/RoslynTools.RepoToolset.csproj b/RoslynTools.RepoToolset.csproj new file mode 100644 index 00000000000..9aed724e30a --- /dev/null +++ b/RoslynTools.RepoToolset.csproj @@ -0,0 +1,31 @@ + + + + net461;netcoreapp2.0 + + false + + true + $(MSBuildProjectName).nuspec + $(OutputPath) + + Common toolset for repositories + Roslyn Build Repository Toolset MSBuild SDK + true + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RoslynTools.RepoToolset.nuspec b/RoslynTools.RepoToolset.nuspec new file mode 100644 index 00000000000..ca5d62c77fe --- /dev/null +++ b/RoslynTools.RepoToolset.nuspec @@ -0,0 +1,28 @@ + + + + $PackageId$ + $Description$ + $Version$ + $Authors$ + $RequireLicenseAcceptance$ + $PackageLicenseUrl$ + $PackageProjectUrl$ + $Copyright$ + $DevelopmentDependency$ + $PackageTags$ + $Serviceable$ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdk/Sdk.props b/sdk/Sdk.props new file mode 100644 index 00000000000..91eca8f9ab3 --- /dev/null +++ b/sdk/Sdk.props @@ -0,0 +1,20 @@ + + + + + $(MSBuildThisFileFullPath);$(MSBuildAllProjects) + + + + + <_SuppressSdkImports>false + <_SuppressSdkImports Condition="'$(__ToolsetLocationOutputFile)' != ''">true + + + + + diff --git a/sdk/Sdk.targets b/sdk/Sdk.targets new file mode 100644 index 00000000000..ad59db6e5b8 --- /dev/null +++ b/sdk/Sdk.targets @@ -0,0 +1,30 @@ + + + + + $(MSBuildThisFileFullPath);$(MSBuildAllProjects) + + + + + <_SuppressAllTargets>false + <_SuppressAllTargets Condition="'$(DotNetBuildFromSource)' == 'true' and '$(ExcludeFromSourceBuild)' == 'true'">true + + + + + + + + + + + + + diff --git a/tools/35MSSharedLib1024.snk b/tools/35MSSharedLib1024.snk new file mode 100644 index 0000000000000000000000000000000000000000..695f1b38774e839e5b90059bfb7f32df1dff4223 GIT binary patch literal 160 zcmV;R0AK$ABme*efB*oL000060ssI2Bme+XQ$aBR1ONa50098C{E+7Ye`kjtcRG*W zi8#m|)B?I?xgZ^2Sw5D;l4TxtPwG;3)3^j?qDHjEteSTF{rM+4WI`v zCD?tsZ^;k+S&r1&HRMb=j738S=;J$tCKNrc$@P|lZ + + + + + + + + + + + + + + + + + + diff --git a/tools/AfterSolutionBuild.proj b/tools/AfterSolutionBuild.proj new file mode 100644 index 00000000000..8ed2a80b465 --- /dev/null +++ b/tools/AfterSolutionBuild.proj @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/tools/AspNet.snk b/tools/AspNet.snk new file mode 100644 index 0000000000000000000000000000000000000000..e10e4889c125d3120cd9e81582243d70f7cbb806 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50098=Iw=HCsnz~#iVhm& zj%TU(_THUee?3yHBjk$37ysB?i5#7WD$={H zV4B!OxRPrb|8)HPg~A}8P>^=#y<)56#=E&NzcjOtPK~<4n6GHt=K$ro*T(lhby_@U zEk(hLzk1H)0yXj{A_5>fk-TgNoP|q6(tP2xo8zt8i%212CWM#AeCd?`hS|4~L({h~Moo(~vy&3Z z1uI}`fd^*>o=rwbAGymj6RM^pZm(*Kfhs+Y1#`-2JPWZMK8@;ZWCk2+9bX4YP);~fj-BU*R zQPvWv$89!{Rl9wM+zR>_TSkn^voYxA?2G iKnV#iZ6Ah`K>b=@=IjYJXrxL124zR(38)nxe+&q_$QXwJ literal 0 HcmV?d00001 diff --git a/tools/Build.proj b/tools/Build.proj new file mode 100644 index 00000000000..567dc936f9d --- /dev/null +++ b/tools/Build.proj @@ -0,0 +1,250 @@ + + + + + + + <_ProjectToBuild Include="$(Projects)"/> + + + + <_RepoRootOriginal>$(RepoRoot) + $([System.IO.Path]::GetFullPath('$(RepoRoot)/')) + + <_RemoveProps>Projects;Restore;QuietRestore;Build;Rebuild;Deploy;Test;IntegrationTest;PerformanceTest;Pack;Sign;Publish + + + + + + + + false + true + + false + false + false + false + + + <_PublishToBlobStorage>false + <_PublishToBlobStorage Condition="$(PB_PublishType.Contains('blob'))">true + + <_DotNetOutputBlobFeedDir>$(DotNetOutputBlobFeedDir) + <_DotNetOutputBlobFeedDir Condition="'$(_DotNetOutputBlobFeedDir)' != '' and !HasTrailingSlash('$(_DotNetOutputBlobFeedDir)')">$(_DotNetOutputBlobFeedDir)\ + + <_PackageVersionOverridesPath Condition="'$(PB_PackageVersionPropsUrl)' != ''">$(ArtifactsToolsetDir)PackageVersionOverrides.props + $(_PackageVersionOverridesPath) + + + + + + + + + + + + <_MSBuildCmd Condition="'$(MSBuildRuntimeType)' != 'Core'">"$(MSBuildBinPath)\MSBuild.exe" /nodeReuse:false + <_MSBuildCmd Condition="'$(MSBuildRuntimeType)' == 'Core'">"$(DotNetTool)" msbuild + + + + <_QuietRestore>false + <_QuietRestore Condition="'$(CIBuild)' != 'true' and '$(QuietRestore)' == 'true'">true + + + <_RestoreTools>false + <_RestoreTools Condition="'$(Restore)' == 'true' and '$(DotNetBuildFromSource)' != 'true'">true + + + + <_SolutionBuildTargets Include="Rebuild" Condition="'$(Rebuild)' == 'true'" /> + <_SolutionBuildTargets Include="Build" Condition="'$(Build)' == 'true' and '$(Rebuild)' != 'true'" /> + + <_SolutionBuildTargets Include="Test" Condition="'$(Test)' == 'true'" /> + + <_SolutionBuildTargets Include="Pack" Condition="'$(Pack)' == 'true'" /> + <_SolutionBuildTargets Include="IntegrationTest" Condition="'$(IntegrationTest)' == 'true'" /> + <_SolutionBuildTargets Include="PerformanceTest" Condition="'$(PerformanceTest)' == 'true'" /> + + + + <_CommonProps Include="Configuration=$(Configuration)"/> + <_CommonProps Include="CIBuild=$(CIBuild)"/> + <_CommonProps Include="RepoRoot=$(RepoRoot)"/> + <_CommonProps Include="VersionsPropsPath=$(VersionsPropsPath)"/> + <_CommonProps Include="FixedVersionsPropsPath=$(FixedVersionsPropsPath)" Condition="'$(FixedVersionsPropsPath)' != ''"/> + <_CommonProps Include="DotNetPackageVersionPropsPath=$(DotNetPackageVersionPropsPath)"/> + + <_CommonProps Include="DisableWarnForInvalidRestoreProjects=true" Condition="'$(DotNetBuildFromSource)' == 'true'"/> + + + + <_RestoreToolsProps Include="@(_CommonProps)"/> + <_RestoreToolsProps Include="BaseIntermediateOutputPath=$(ArtifactsToolsetDir)Common"/> + <_RestoreToolsProps Include="ExcludeRestorePackageImports=true"/> + <_RestoreToolsProps Include="PublishingToBlobStorage=$(_PublishToBlobStorage)"/> + <_RestoreToolsProps Include="ExternalRestoreSources=$(PB_RestoreSource)" Condition="'$(PB_RestoreSource)' != ''"/> + + + + <_PublishProps Include="@(_CommonProps)"/> + <_PublishProps Include="AzureFeedUrl=$(PB_PublishBlobFeedUrl)" Condition="$(_PublishToBlobStorage)" /> + <_PublishProps Include="AzureAccountKey=$(PB_PublishBlobFeedKey)" Condition="$(_PublishToBlobStorage)" /> + <_PublishProps Include="DotNetOutputBlobFeedDir=$(_DotNetOutputBlobFeedDir)" Condition="'$(_DotNetOutputBlobFeedDir)' != ''" /> + + + + <_SolutionBuildProps Include="@(_CommonProps)"/> + <_SolutionBuildProps Include="__DeployProjectOutput=$(Deploy)" Condition="'$(Deploy)' != ''"/> + <_SolutionBuildProps Include="__ExternalRestoreSources=$(PB_RestoreSource)" Condition="'$(PB_RestoreSource)' != ''"/> + + + + <_SolutionBuildPropsArgs Include="@(_SolutionBuildProps->'/p:%(Identity)')" /> + <_RestoreToolsPropArgs Include="@(_RestoreToolsProps->'/p:%(Identity)')" /> + + + + <_SolutionBuildPropsCmdLine>@(_SolutionBuildPropsArgs, ' ') + <_RestoreToolsPropsCmdLine>@(_RestoreToolsPropArgs, ' ') + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/BuildReleasePackages.targets b/tools/BuildReleasePackages.targets new file mode 100644 index 00000000000..8aa20205aac --- /dev/null +++ b/tools/BuildReleasePackages.targets @@ -0,0 +1,27 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + <_NuGetRepackAssembly Condition="'$(MSBuildRuntimeType)' != 'Core'">$(NuGetPackageRoot)roslyntools.nugetrepack.buildtasks\$(RoslynToolsNuGetRepackVersion)\tools\net461\RoslynTools.NuGetRepack.BuildTasks.dll + <_NuGetRepackAssembly Condition="'$(MSBuildRuntimeType)' == 'Core'">$(NuGetPackageRoot)roslyntools.nugetrepack.buildtasks\$(RoslynToolsNuGetRepackVersion)\tools\netcoreapp2.0\RoslynTools.NuGetRepack.BuildTasks.dll + + + + + + + + + + <_BuiltPackages Include="$(PackageOutputPath)*.nupkg" /> + + + + + + + \ No newline at end of file diff --git a/tools/BuildStep.props b/tools/BuildStep.props new file mode 100644 index 00000000000..064e50f3d08 --- /dev/null +++ b/tools/BuildStep.props @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/tools/BuildTasks.props b/tools/BuildTasks.props new file mode 100644 index 00000000000..59f6193cef9 --- /dev/null +++ b/tools/BuildTasks.props @@ -0,0 +1,11 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + $(MSBuildThisFileDirectory)tasks\net461\RoslynTools.RepoToolset.dll + $(MSBuildThisFileDirectory)tasks\netcoreapp2.0\RoslynTools.RepoToolset.dll + + \ No newline at end of file diff --git a/tools/Compiler.props b/tools/Compiler.props new file mode 100644 index 00000000000..a2cd33c706d --- /dev/null +++ b/tools/Compiler.props @@ -0,0 +1,16 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + + + + + diff --git a/tools/DefaultVersions.props b/tools/DefaultVersions.props new file mode 100644 index 00000000000..59e0b728dfc --- /dev/null +++ b/tools/DefaultVersions.props @@ -0,0 +1,89 @@ + + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + + + true + true + true + + + true + + + false + false + false + false + false + + + 1.0.147 + 0.2.0 + 4.7.1-alpha-00001 + 2.8.0 + $(MicrosoftNetCompilersVersion) + + 15.6.0-dev + 15.1.192 + 1.1.0-beta1-62506-02 + 1.0.0-beta-62327-02 + 1.0.0-alpha-003 + 1.0.0-beta2-62922-01 + 1.0.0-beta-62414-01 + 0.2.0-beta-63004-01 + 2.3.1 + $(XUnitVersion) + $(XUnitVersion) + 2.2.0-prerelease-02431-01 + 1.0.0-beta-63001-01 + 1.0.0-beta-63008-01 + + + + + + + + + + + + $(DotNetRestoreSources) + + + + $(RestoreSources);https://api.nuget.org/v3/index.json + $(RestoreSources);https://dotnet.myget.org/F/dotnet-core/api/v3/index.json + $(RestoreSources);https://dotnet.myget.org/F/roslyn/api/v3/index.json + $(RestoreSources);https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json + $(RestoreSources);https://www.myget.org/F/xunit/api/v3/index.json + $(RestoreSources);https://dotnet.myget.org/F/sourcelink/api/v3/index.json + + + $(RestoreSources);https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json + + + $(__ExternalRestoreSources);$(RestoreSources) + + $(DotNetRestoreSources);$(RestoreSources) + + diff --git a/tools/Directory.Build.props b/tools/Directory.Build.props new file mode 100644 index 00000000000..cf497094cca --- /dev/null +++ b/tools/Directory.Build.props @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/tools/Directory.Build.targets b/tools/Directory.Build.targets new file mode 100644 index 00000000000..75d88ba47ac --- /dev/null +++ b/tools/Directory.Build.targets @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/tools/Empty.targets b/tools/Empty.targets new file mode 100644 index 00000000000..0615c16e5f8 --- /dev/null +++ b/tools/Empty.targets @@ -0,0 +1,22 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + + + + + + diff --git a/tools/GenerateInternalsVisibleTo.targets b/tools/GenerateInternalsVisibleTo.targets new file mode 100644 index 00000000000..3297a690bd9 --- /dev/null +++ b/tools/GenerateInternalsVisibleTo.targets @@ -0,0 +1,48 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + $(IntermediateOutputPath)$(MSBuildProjectName).InternalsVisibleTo$(DefaultLanguageSourceExtension) + + + + + false + + + + + + <_InternalsVisibleToAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute"> + <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' != ''">%(InternalsVisibleTo.Identity), PublicKey=%(InternalsVisibleTo.Key) + <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == ''">%(InternalsVisibleTo.Identity), PublicKey=$(PublicKey) + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/GenerateResxSource.targets b/tools/GenerateResxSource.targets new file mode 100644 index 00000000000..0c724b3074b --- /dev/null +++ b/tools/GenerateResxSource.targets @@ -0,0 +1,70 @@ + + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + + + MSBuild:_GenerateResxSource + + + + + + + + + + + + + + + %(EmbeddedResource.Namespace).%(EmbeddedResource.Filename) + + + + + + + + + + + + <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'C#'">cs + <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'VB'">vb + <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'F#'">fs + + + + + + $(IntermediateOutputPath)%(EmbeddedResourceSG.ManifestResourceName).$(_EmbeddedResourceSourceExtension) + + + + + \ No newline at end of file diff --git a/tools/Imports.targets b/tools/Imports.targets new file mode 100644 index 00000000000..83b367e7058 --- /dev/null +++ b/tools/Imports.targets @@ -0,0 +1,41 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + $(__DeployProjectOutput) + + + true + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/Localization.props b/tools/Localization.props new file mode 100644 index 00000000000..414ed029833 --- /dev/null +++ b/tools/Localization.props @@ -0,0 +1,27 @@ + + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + true + + + true + + + + + + + \ No newline at end of file diff --git a/tools/MSFT.snk b/tools/MSFT.snk new file mode 100644 index 0000000000000000000000000000000000000000..110b59c7b0d27388353dcf4116f721595f473e58 GIT binary patch literal 160 zcmV;R0AK$ABme*efB*oL000060ssI2Bme+XQ$aBR1ONa500968(fU`!uG#RTE`+KN zuKf+^=>2N!kB9pMc5H)8nUWr|JLj6&)!f0|n$k8CAp(#KayILlN=pn$R@96PlTucm;!K;}lU1BV%Wh@=~);)AxZ!P8VeqOH+#FjlK9EuV{ OWf&lBz>_phTGEsG5JRQ_ literal 0 HcmV?d00001 diff --git a/tools/OptimizationData.targets b/tools/OptimizationData.targets new file mode 100644 index 00000000000..012a9106a48 --- /dev/null +++ b/tools/OptimizationData.targets @@ -0,0 +1,58 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + <_OptimizationDataFile>$([System.IO.Path]::GetFullPath('$(IbcOptimizationDataDir)$(TargetName).pgo')) + $(IntermediateOutputPath)$(TargetFileName).pcbm + + + + + + + + + + + + + + + + + <_RunIbc>false + <_RunIbc Condition="'$(Configuration)' == 'Release' and '$(OfficialBuild)' == 'true'">true + + <_IbcMergePath>$(NuGetPackageRoot)microsoft.dotnet.ibcmerge\$(MicrosoftDotNetIBCMergeVersion)\lib\net45\ibcmerge.exe + <_IbcMergeCommandLineArgs>-q -f -partialNGEN -minify -mo "@(IntermediateAssembly)" -incremental "$(_OptimizationDataFile)" + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/Performance.targets b/tools/Performance.targets new file mode 100644 index 00000000000..507cb13b0ef --- /dev/null +++ b/tools/Performance.targets @@ -0,0 +1,32 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + 10 + $(ArtifactsTestResultsDir)Performance + stopwatch + + + + + + + + + + + + + + + diff --git a/tools/ProjectDefaults.props b/tools/ProjectDefaults.props new file mode 100644 index 00000000000..e56ec8bb003 --- /dev/null +++ b/tools/ProjectDefaults.props @@ -0,0 +1,139 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + true + MicrosoftShared + SHA256 + true + en-US + Microsoft Corporation + © Microsoft Corporation. All rights reserved. + Microsoft + true + false + true + http://go.microsoft.com/fwlink/?LinkId=529443 + true + $(CIBuild) + + + false + + + portable + embedded + + + + C# + VB + F# + C++ + + + + + + + + + C# + $(MSBuildToolsPath)\Microsoft.CSharp.targets + + + + + + VB + $(MSBuildToolsPath)\Microsoft.VisualBasic.targets + + + + + + + + + + + + + true + $(NoWarn);1701;1702;1705;1591 + + + + true + DEBUG;TRACE + + + + TRACE + true + + + + + + + Empty + Binary + On + On + On + Embed + true + + + + true + true + true + + + + true + true + + + + + + + + false + + + + + + + + + + diff --git a/tools/ProjectLayout.props b/tools/ProjectLayout.props new file mode 100644 index 00000000000..0f2ad891ac0 --- /dev/null +++ b/tools/ProjectLayout.props @@ -0,0 +1,26 @@ + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + $(MSBuildProjectName) + + $([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\')) + $(BaseOutputPath) + $(OutputPath)$(PlatformName)\ + + $([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(MSBuildProjectName)\')) + $(BaseIntermediateOutputPath)$(Configuration)\ + $(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\ + + + \ No newline at end of file diff --git a/tools/Publish.proj b/tools/Publish.proj new file mode 100644 index 00000000000..ee97b52422a --- /dev/null +++ b/tools/Publish.proj @@ -0,0 +1,134 @@ + + + + + + + + false + true + + false + true + + false + true + + + + + + + + $(ArtifactsTmpDir)SymbolPackages\ + + + + + + + + + $(SymbolPackagesDir)%(Filename).symbols.nupkg + + + + %(PackagesToPublish.Identity) + + + + + + + + + + + + + + + + + + 3650 + false + + + + true + DryRunPTA + DryRunPTA + + + + + + + + + false + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/RepoLayout.props b/tools/RepoLayout.props new file mode 100644 index 00000000000..ac3e500ad8b --- /dev/null +++ b/tools/RepoLayout.props @@ -0,0 +1,78 @@ + + + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + Debug + AnyCPU + $(Platform) + + + + + $(NUGET_PACKAGES) + $(UserProfile)\.nuget\packages\ + $([System.Environment]::GetFolderPath(SpecialFolder.Personal))\.nuget\packages\ + $(NuGetPackageRoot)\ + + + + + $(DOTNET_INSTALL_DIR) + $(RepoRoot).dotnet\ + $(DotNetRoot)\ + + + + $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'global.json'))\ + + + $(RepoRoot)eng\ + $(RepoRoot)build\ + + $(RepositoryEngineeringDir)Versions.props + $(RepositoryEngineeringDir)FixedVersions.props + $(RepositoryEngineeringDir)SignToolData.json + + $(DotNetRoot)dotnet + $(DotNetTool).exe + $(RepoRoot)artifacts\ + $(ArtifactsDir)toolset\ + $(ArtifactsDir)obj\ + $(ArtifactsDir)$(Configuration)\ + $(ArtifactsConfigurationDir)bin\ + $(ArtifactsConfigurationDir)log\ + $(ArtifactsConfigurationDir)tmp\ + $(ArtifactsConfigurationDir)TestResults\ + $(ArtifactsConfigurationDir)SymStore\ + $(ArtifactsConfigurationDir)packages\ + $(ArtifactsConfigurationDir)VSSetup\ + $(VisualStudioSetupOutputPath)Insertion\ + $(ArtifactsConfigurationDir)VSSetup.obj\ + + + \ No newline at end of file diff --git a/tools/RepositoryInfo.targets b/tools/RepositoryInfo.targets new file mode 100644 index 00000000000..438e861edac --- /dev/null +++ b/tools/RepositoryInfo.targets @@ -0,0 +1,16 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + GitHub + + + + + + + \ No newline at end of file diff --git a/tools/Settings.props b/tools/Settings.props new file mode 100644 index 00000000000..1b51b684e4b --- /dev/null +++ b/tools/Settings.props @@ -0,0 +1,25 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + true + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/Sign.proj b/tools/Sign.proj new file mode 100644 index 00000000000..d276f3d74a6 --- /dev/null +++ b/tools/Sign.proj @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/StrongName.props b/tools/StrongName.props new file mode 100644 index 00000000000..ea5d3133775 --- /dev/null +++ b/tools/StrongName.props @@ -0,0 +1,15 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + 0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9 + 002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293 + 0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb + + + \ No newline at end of file diff --git a/tools/StrongName.targets b/tools/StrongName.targets new file mode 100644 index 00000000000..a0b9649f107 --- /dev/null +++ b/tools/StrongName.targets @@ -0,0 +1,64 @@ + + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + false + true + + + + + + + $(MSBuildThisFileDirectory)MSFT.snk + $(MicrosoftPublicKey) + b03f5f7f11d50a3a + + + + + $(MSBuildThisFileDirectory)35MSSharedLib1024.snk + $(MicrosoftSharedPublicKey) + 31BF3856AD364E35 + + + + + $(MSBuildThisFileDirectory)AspNet.snk + $(MicrosoftAspNetPublicKey) + adb9793829ddae60 + false + + + + + + + $(PrepareForBuildDependsOn);VerifyBuildFlags + + + + + + + diff --git a/tools/SymStore.targets b/tools/SymStore.targets new file mode 100644 index 00000000000..0670b26969e --- /dev/null +++ b/tools/SymStore.targets @@ -0,0 +1,110 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + <_DeployToSymStoreTargetName Condition="'$(TargetFrameworks)' == ''">_InnerDeployToSymStore + <_DeployToSymStoreTargetName Condition="'$(TargetFrameworks)' != ''">_OuterDeployToSymStore + + + + + + + <_TargetFramework Include="$(TargetFrameworks)" /> + + + + + + + + <_TargetPdbPath /> + <_TargetPdbPath Condition="'$(DebugType)' != 'embedded'">$([System.IO.Path]::ChangeExtension($(TargetPath), '.pdb')) + + <_SymStoreOutputDir>$(ArtifactsSymStoreDirectory)$(MSBuildProjectName)\$(TargetFramework)\ + <_SymStorePdbPath>$(_SymStoreOutputDir)$(TargetName).pdb + <_SymStoreAssemblyPath>$(_SymStoreOutputDir)$(TargetName)$(TargetExt) + + true + + + + + + + + <_PdbConverterPath>$(NuGetPackageRoot)microsoft.diasymreader.pdb2pdb\$(MicrosoftDiaSymReaderPdb2PdbVersion)\tools\Pdb2Pdb.exe + <_PdbConverterCommandLineArgs>"$(TargetPath)" /out "$(_SymStorePdbPath)" /verbose /srcsvrvar SRC_INDEX=public + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/Tests.props b/tools/Tests.props new file mode 100644 index 00000000000..1e88e561e75 --- /dev/null +++ b/tools/Tests.props @@ -0,0 +1,42 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + false + true + + + + false + true + + + + false + true + + + + false + true + + + false + + + + + + + + + + false + + + \ No newline at end of file diff --git a/tools/Tools.proj b/tools/Tools.proj new file mode 100644 index 00000000000..45002f6884d --- /dev/null +++ b/tools/Tools.proj @@ -0,0 +1,60 @@ + + + + + + + + net462 + + + + + + $(RestoreSources); + $(ExternalRestoreSources) + + + $(RestoreSources); + https://api.nuget.org/v3/index.json; + https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json + + + $(RestoreSources); + https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json + + + $(RestoreSources); + https://dotnet.myget.org/F/symreader-converter/api/v3/index.json + + + $(RestoreSources); + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json + + + + + + + + + + + + + + + + + + diff --git a/tools/Version.props b/tools/Version.props new file mode 100644 index 00000000000..7820f0c76e0 --- /dev/null +++ b/tools/Version.props @@ -0,0 +1,64 @@ + + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + false + true + + + + + + + <_BuildNumberFiveDigitDateStamp>$([MSBuild]::Subtract($(BUILD_BUILDNUMBER.Split($([System.Convert]::ToString(`.`).ToCharArray())).GetValue($([System.Convert]::ToInt32(0)))), 20100000)) + <_BuildNumberFiveDigitDateStampYearsToOffset>$([System.Math]::Max($([System.Convert]::ToInt32($([MSBuild]::Subtract($([MSBuild]::Divide($(_BuildNumberFiveDigitDateStamp), 10000)), 6)))), 0)) + <_BuildNumberFiveDigitDateStamp>$([MSBuild]::Subtract($([System.Convert]::ToInt32($(_BuildNumberFiveDigitDateStamp))), $([MSBuild]::Multiply($(_BuildNumberFiveDigitDateStampYearsToOffset), 8800)))) + <_BuildNumberBuildOfTheDayPadded>$(BUILD_BUILDNUMBER.Split($([System.Convert]::ToString(`.`).ToCharArray())).GetValue($([System.Convert]::ToInt32(1))).PadLeft($([System.Convert]::ToInt32(2)), $([System.Convert]::ToChar(`0`)))) + + $(PB_VersionStamp) + $(PB_VersionStamp)-$(_BuildNumberFiveDigitDateStamp)-$(_BuildNumberBuildOfTheDayPadded) + $(PreReleaseVersionLabel)-$(_BuildNumberFiveDigitDateStamp)-$(_BuildNumberBuildOfTheDayPadded) + + + + + + ci + + + + + + dev + + + + + \ No newline at end of file diff --git a/tools/Version.targets b/tools/Version.targets new file mode 100644 index 00000000000..104ef73392d --- /dev/null +++ b/tools/Version.targets @@ -0,0 +1,31 @@ + + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + $(VersionPrefix).$(_BuildNumberFiveDigitDateStamp) + $(Version) + + + + 42.42.42.42 + 42.42.42.42 + $(FileVersion) + + + + \ No newline at end of file diff --git a/tools/VisualStudio.DesignTimeBuild.targets b/tools/VisualStudio.DesignTimeBuild.targets new file mode 100644 index 00000000000..89f57127528 --- /dev/null +++ b/tools/VisualStudio.DesignTimeBuild.targets @@ -0,0 +1,18 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + + \ No newline at end of file diff --git a/tools/VisualStudio.ImportSdk.targets b/tools/VisualStudio.ImportSdk.targets new file mode 100644 index 00000000000..2ab9ef24eaf --- /dev/null +++ b/tools/VisualStudio.ImportSdk.targets @@ -0,0 +1,11 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + \ No newline at end of file diff --git a/tools/VisualStudio.InsertionManifests.targets b/tools/VisualStudio.InsertionManifests.targets new file mode 100644 index 00000000000..e8737702939 --- /dev/null +++ b/tools/VisualStudio.InsertionManifests.targets @@ -0,0 +1,37 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + <_StubFiles Include="$(VisualStudioSetupIntermediateOutputPath)**\*.stub"/> + <_StubDirs Include="@(_StubFiles->'%(RecursiveDir)')"/> + + + + + + <_ComponentDir>%(_StubDirs.Identity) + <_ComponentName>$(_ComponentDir.TrimEnd('\')) + + + + <_Args Include="ComponentName=$(_ComponentName)"/> + <_Args Include="SetupOutputPath=$(VisualStudioSetupInsertionPath)"/> + <_Args Include="ComponentIntermediateOutputPath=$(VisualStudioSetupIntermediateOutputPath)$(_ComponentName)\"/> + <_Args Include="SwixBuildPath=$(NuGetPackageRoot)microbuild.plugins.swixbuild\$(MicroBuildPluginsSwixBuildVersion)\"/> + + + + + + + + diff --git a/tools/VisualStudio.SetupPackage.swixproj b/tools/VisualStudio.SetupPackage.swixproj new file mode 100644 index 00000000000..6600af919ca --- /dev/null +++ b/tools/VisualStudio.SetupPackage.swixproj @@ -0,0 +1,37 @@ + + + + + + v4.6 + neutral + false + vsix + true + $(SwrPackageName) + + + + + + <_SwrProperties Include="$([MSBuild]::Unescape($(SwrProperties)))" /> + + + + $(PackagePreprocessorDefinitions);@(_SwrProperties) + $(IntermediateOutputPath) + + + + + + + + \ No newline at end of file diff --git a/tools/VisualStudio.SetupPackage.vsmanproj b/tools/VisualStudio.SetupPackage.vsmanproj new file mode 100644 index 00000000000..8f99fdb4b4e --- /dev/null +++ b/tools/VisualStudio.SetupPackage.vsmanproj @@ -0,0 +1,39 @@ + + + + + + false + false + false + + + + + + true + true + true + v4.6 + $(ComponentName) + $(SetupOutputPath) + $(ComponentIntermediateOutputPath) + + + + <_PackageStubFiles Include="$(ComponentIntermediateOutputPath)*.stub"/> + + + + + false + + + + diff --git a/tools/VisualStudio.props b/tools/VisualStudio.props new file mode 100644 index 00000000000..85dbf2e40e8 --- /dev/null +++ b/tools/VisualStudio.props @@ -0,0 +1,37 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + $(MSBuildProjectDirectory)\source.extension.vsixmanifest + false + true + + + + + + + + false + + Program + $(DevEnvDir)devenv.exe + /rootsuffix $(VSSDKTargetPlatformRegRootSuffix) /log + + true + true + All + 3 + + + + true + + + \ No newline at end of file diff --git a/tools/VisualStudio.targets b/tools/VisualStudio.targets new file mode 100644 index 00000000000..b2f431b0015 --- /dev/null +++ b/tools/VisualStudio.targets @@ -0,0 +1,256 @@ + + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + <_TargetVsixContainerDir>$(VisualStudioSetupOutputPath) + + $(TargetName).vsix + $(_TargetVsixContainerDir)$(TargetVsixContainerName) + + false + true + + <_ComponentIntermediateDir Condition="'$(VisualStudioInsertionComponent)' != ''">$(VisualStudioSetupIntermediateOutputPath)$(VisualStudioInsertionComponent)\ + + + + + + <_VsxXmlNamespace><Namespace Prefix='vsx' Uri='http://schemas.microsoft.com/developer/vsx-schema/2011'/> + + + + + + + + + + + + + + + <_PackageStubFile>$(_ComponentIntermediateDir)$(_VsixPackageId).stub + + + + + + + + + + + + + + + + + + + + + + + + + + <_JsonFileName>$(_VsixPackageId).json + + + + <_FinalizeInsertionVsixFilesInputs Include="$(VisualStudioSetupOutputPath)$(TargetVsixContainerName)" /> + <_FinalizeInsertionVsixFilesInputs Include="$(VisualStudioSetupOutputPath)$(_JsonFileName)" /> + + <_FinalizeInsertionVsixFilesOutputs Include="$(VisualStudioSetupInsertionPath)$(TargetVsixContainerName)" /> + <_FinalizeInsertionVsixFilesOutputs Include="$(VisualStudioSetupInsertionPath)$(_JsonFileName)" /> + + + + + + + + + + + <_ModifyVsixManifestToolExe>$(NuGetPackageRoot)roslyntools.modifyvsixmanifest\$(RoslynToolsModifyVsixManifestVersion)\tools\ModifyVsixManifest.exe + <_ModifyVsixManifestArgs>--remove=//x:PackageManifest/x:Installation/@Experimental --add-attribute=//x:PackageManifest/x:Installation;SystemComponent;true + + + + + + + + + + + + + + <_SwrProperties>@(SwrProperty) + <_SwrFiles>@(SwrFile->'%(FullPath)') + + + <_SwixArgs Include="SwrProperties=$([MSBuild]::Escape($(_SwrProperties)))"/> + <_SwixArgs Include="SwrFiles=$([MSBuild]::Escape($(_SwrFiles)))"/> + <_SwixArgs Include="SwrPackageName=$(TargetName)"/> + <_SwixArgs Include="IntermediateOutputPath=$(IntermediateOutputPath)"/> + <_SwixArgs Include="SwixBuildPath=$(NuGetPackageRoot)microbuild.plugins.swixbuild\$(MicroBuildPluginsSwixBuildVersion)\"/> + + + + + + + + + + + + + + + <_PackageStubFile>$(_ComponentIntermediateDir)$(TargetName).stub + + + + + + + <_GeneratedCTOFilesWithCulture Include="@(_GeneratedCTOFilesWithNoCulture)"> + en + true + + <_GeneratedCTOFilesWithNoCulture Remove="@(_GeneratedCTOFilesWithNoCulture)" /> + <_ResourcesToMergeWithCTOWithCultureMetadata Condition="'%(WithCulture)' != 'true'"> + en + true + + + + + + + + + + + + + + + %(IntermediateZipItem.Filename)\%(IntermediateZipItem.Language)\%(IntermediateZipItem.OutputSubPath)\%(IntermediateZipItem.Culture) + + + %(IntermediateZipProject.Filename)\%(IntermediateZipProject.Language)\%(IntermediateZipProject.OutputSubPath)\%(IntermediateZipProject.Culture) + + + + + $(GetVsixSourceItemsDependsOn);_GetVsixTemplateItems + + + + + + <_VsixVersion Condition="'$(OfficialBuild)' == 'true'">$(VersionPrefix).$(_BuildNumberFiveDigitDateStamp)$(_BuildNumberBuildOfTheDayPadded) + <_VsixVersion Condition="'$(OfficialBuild)' != 'true'">42.42.42.42 + + + + diff --git a/tools/Workarounds.targets b/tools/Workarounds.targets new file mode 100644 index 00000000000..9f75860f28f --- /dev/null +++ b/tools/Workarounds.targets @@ -0,0 +1,131 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + $(MSBuildProjectFullPath) + + + + + + + true + + + + + + + false + + + + + + + + + + + $(IntermediateOutputPath)$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension) + + + + + $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + + + + + + + $(RepositoryUrl) + + + + + + + <_Prop Include="PackageId=$(PackageId)"/> + <_Prop Include="Authors=$(Authors)"/> + <_Prop Include="Description=$(Description)"/> + <_Prop Include="Copyright=$(Copyright)"/> + <_Prop Include="Version=$(Version)"/> + <_Prop Include="Serviceable=$(Serviceable)"/> + <_Prop Include="DevelopmentDependency=$(DevelopmentDependency)"/> + <_Prop Include="RequireLicenseAcceptance=$(PackageRequireLicenseAcceptance)"/> + <_Prop Include="PackageLicenseUrl=$(PackageLicenseUrl)"/> + <_Prop Include="PackageProjectUrl=$(PackageProjectUrl)"/> + <_Prop Include="PackageIconUrl=$(PackageIconUrl)" Condition="'$(PackageIconUrl)' != ''" /> + <_Prop Include="PackageReleaseNotes=$(PackageReleaseNotes)" Condition="'$(PackageReleaseNotes)' != ''" /> + <_Prop Include="PackageTags=$(PackageTags)" Condition="'$(PackageTags)' != ''" /> + <_Prop Include="RepositoryUrl=$(RepositoryUrl)" Condition="'$(RepositoryUrl)' != ''" /> + <_Prop Include="RepositoryType=$(RepositoryType)" Condition="'$(RepositoryType)' != ''" /> + <_Prop Include="RepositoryCommit=$(RepositoryCommit)" Condition="'$(RepositoryCommit)' != ''" /> + <_Prop Include="ProjectDirectory=$(MSBuildProjectDirectory)"/> + + + @(_Prop, ';') + + + + + + + + $(PrivateRepositoryUrl) + $(SourceRevisionId) + + + + + + Publish;$(TargetsForTfmSpecificContentInPackage) + + + + + + true + + + diff --git a/tools/XUnit.props b/tools/XUnit.props new file mode 100644 index 00000000000..5c09fa84724 --- /dev/null +++ b/tools/XUnit.props @@ -0,0 +1,17 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + + + + + + \ No newline at end of file diff --git a/tools/XUnit.targets b/tools/XUnit.targets new file mode 100644 index 00000000000..69118207a61 --- /dev/null +++ b/tools/XUnit.targets @@ -0,0 +1,109 @@ + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + true + <_TestTargetName Condition="'$(TargetFrameworks)' == ''">InnerTest + <_TestTargetName Condition="'$(TargetFrameworks)' != ''">OuterTest + + + + $(PlatformTarget) + x64 + + + + + + + <_TestArchitectureItems Include="$(TestArchitectures)" /> + + + + + + + <_TestArchitecture>%(_TestArchitectureItems.Identity) + <_TestEnvironment>$(TargetFramework)|$(_TestArchitecture) + <_TestOutPathNoExt>$(ArtifactsTestResultsDir)$(MSBuildProjectName)_$(TargetFramework)_$(_TestArchitecture) + <_TestStdOutPath>$(_TestOutPathNoExt).log + <_TestResultsXmlPath>$(_TestOutPathNoExt).xml + <_TestResultsHtmlPath>$(_TestOutPathNoExt).html + <_RunOnCore>false + <_RunOnCore Condition="$(TargetFramework.StartsWith('netcoreapp'))">true + + + + + + <_TargetFileNameNoExt>$([System.IO.Path]::GetFileNameWithoutExtension('$(TargetFileName)')) + <_CoreRuntimeConfigPath>$(TargetDir)$(_TargetFileNameNoExt).runtimeconfig.json + <_CoreDepsPath>$(TargetDir)$(_TargetFileNameNoExt).deps.json + + + <_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console/$(XUnitVersion)/tools/netcoreapp1.0/xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath)" $(XUnitRunnerAdditionalArguments) + <_TestResultsDisplayPath>$(_TestStdOutPath) + + + + <_XUnitConsoleExe>xunit.console.exe + <_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe + <_TestRunnerCommand>"$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)" "$(TargetPath)" -noshadow -xml "$(_TestResultsXmlPath)" -html "$(_TestResultsHtmlPath)" $(XUnitRunnerAdditionalArguments) + <_TestResultsDisplayPath>$(_TestResultsHtmlPath) + + + + + + + + + + + + + + + + + <_FailedTestRuns Include="$(_TestEnvironment)" Condition="'$(_TestErrorCode)' != '0'" /> + + + + + + + + + + <_TargetFramework Include="$(TargetFrameworks)" /> + + + + + + + + + + + + + + diff --git a/tools/vswhere.exe b/tools/vswhere.exe new file mode 100644 index 0000000000000000000000000000000000000000..3d91a17dc4beec6fa57dca0eec5bcee1dcd9229b GIT binary patch literal 402040 zcmeFae|%KMxxl@fEXe{3yJ*m;K|!O^hAI*&##Ic+2C6P@h}jTrz@K!xT7SSU;E%-E zC2bDlxwS2Awbd4{dTZ6*a&K*oifuw@5``il)u{9~YHBClRD)6onzHZrnX@55ZQp+0 zzh6F@J!j6GXJ(#xo@bt4GbeoIeXd-W%jMz!OvdGE;aC2Zo4^11Pr&VRO+4kfiLR%| z{(f4E`?B9pyCU}0Ra0+WdCON;Uh}o7*Ije-&9@|`UVFpTmC2i@e)Z<53ofsk`n6lG zzu~M26UG&1L0?#M?~L0odHe3+{|k-@YcdzDmOG&!nM)N!6?zQH5^6op$eNThjFZt?qF=^|cjVuy! zxh`|(xqiIm&f4KRJ+2)0c=yC{t_#4@(+rw_yNCD$n{x?8`dVc3!Kk*q+c>t8QQ3SQ(dmB&sur? zHHm9nuHT#kFd6$Se#?)pSWd}VPBqt_834F%jLUU0zbpA2^{?FJYCS7)(<&(%D}P#f z4h~IyxzGM9mwGE#t-OwVgA;IL2Kk*&!7D#&qWx?i++9nNH|7h2`-ueS1ch1DcQy73f2UVp^4yX5wao0yCGA=@70uC%o?)LRHJ zgOSdV-T^%81#d=x`1lJDsi%VmNH0JFl*MC|ZJ zeLb&16te7C7cK>%)`ef@ub%Q17YMh$C`C||$9_S^U!zwu;z+7B5Q!SR{+ZiU=OV6y zg9)!P)zhyV$}tFw-8}{3@x&KJ^heBi>~)#@$NnP3Gd(TD^M6vXK?>SqTCSVT^|RA| zPAA^An2-;obfr^cNUm2nHLm_|YHXDnd6!TcF{Rr_|BJQAeE<6MJl#NJs@`We6@jbR zI!0UiW>rM5pOoW*Q68E>X*|EyU(;&YGr4A_q~Z$eq1pWSCpDeNkM+@70RfLIN z1S9LgK#nW5wa}{DC=C2GZ#-(%ZKrQmxWx+Z zY*14mY+!E?a{Dt&h{Fj@av#z6kIO-VXuC;hSSB|TTLkaKkFSa?p*$W0U zzmj^H$&Y4B*B+1A2g@p?n_3eSp|r}(%(y2r zc?OJJlSz7QTM(?jFcn6xf5_!u*F$YE5wWX#vd`MbxLmb%s0Ru+bzeEn@JX%%Gf#OV zG?bbAAl*vUZ*(QbW|A8-lM89U4sX_DPXJ!{QSCOr>+~U3V%wIv(C?W`nKS*4xm+NZ zv&^MTv_8{Znnt&9S=!q7DhvY37?w4c8uuK&!tH7Fubaj7D6GGAjKO*gbm?3CN3bsU zeNFta>bgPq7-s+lc6B!e%DW_1AV>s-A)R_b=*pE?(A1hNkALk-+xAF@!X>a-e<3gD z*-cWSwnuc=WaMRyZC@bG6?=~~C-;5FndbJ`p*_5m4_0*+i%&6<+PJqilVpjoU)WB) z51*`b$PrA-y&hzt<~6VVg2<~(at}4llP8~i(l#g z?Jv^?0x5RWqpW?+{HcoS3nzJ~RY2EINVOIW!x1nMJr)SHwdoU7p4yR#cns_=1N(g- zrMCK1h0iif+Hz%KxvTv%_@fW%k>S0?uX;#0+zzkPuSluGB|=`dZMftGb7{E5XD$tw zxXq>Ek_Wj|?R}dV|7aw9e>%kjjB`S&!Jy$>Wy_ihG0p&J8i-Fd1 z%n6^}?{lP8`u#ccyG~D&U#G{%nM>2-@#fO>_)0{fZJQonZZ1ua|H@^{m~vO6?&xJ5 zir)yU_0u)|_Llyd7I9>?%>L=EbD%^(uA$+TwQuuNM9WP`M2#uHWh z?8PztHF>r;qHi$2vvr;Movwd@&SEbv(m&-_?O4_qqC9?H%e%6IT~9aF8>&>*i*Q}H z5mc|AR|rcrq;41jBmJox`duooGUh>;L^FY=*0ohC+23>^IWCqf#BghK-H@ID z{+^TNhkHHg3|f&&IaC@F3_F!H!WuUF4JEa;()?=_=%2n#m(|!2G`06#2Oy)n`W{Z) z7jl*U&I%1xF_Wcl)-V~?$<{KDwalv)dP?%!26H0%cIq=PC#o7xWpmwNCOKG{Iam30 ziwtCIz^d@5@Q~_QzO3~3SLq97R{mVK#p83LbE|Dl)(0;W;)Z#QCOtZEbZ@l0$Hly&{XfN@2l z+1Y_3_h0{r6sdgzM=dS}k;kY>!5#kZwfcYE8p$jPq*fHWRCxdO7DxcR0dAPHP(K2a zg!#IlM&{%rwJ&{)y|_>-Q?CDq;#5a@@L=+JsNN3b21%vUaE#DVzeCtop-65-ffJwFL5gy18P#@l-e*wND!c+PR z7Ticwy{s2tj`4`XTs;+$V26C2`C60~`|<)^4i4?GPyYaoM|J85khc`MGN+4T#w@YC zkMNDE_A)&n#H!xk5gK$ez|On{OVHq^xl-47T$S+kAsMG(k<#BU(?zciGYGJlk9x1# zSEH||Yw%bR@;I>4qw>-@sw0#1l?JDnfQbOup(+AZxotHO{b7bS!(QejcbinO79VM(!{c?S4meFFRxg5r zg*PfItFm2FVV?zeFAN0RR<2QXfs!`55p1`@gZ}y5s_o!T`fLD+leIcx%2~Q&iW}(WcsG&c{1l1PUu4MR)NeC zuW+UjI`QI`HX(=Ie`Lh_@D!wO&@QQ)s-Nmg_~SXT7}IQr1G+&p1Wai=?A8AzB$`caikk<`` zb>=nG^~AWiH>&^kilM0vBW7A|qTC2dhniBEOk!4zzRn@3sgMyw6nE)qP?4GahEcPB zo=XsICjU~fEC^23``plVGLX96ba?FgP@vf}DP1&t4@CcOLIKEcQbZr0D+ZoV=81P@ z9WlKST7@_|S6^rsl{IA&U#Mc#;#-3_ra4{8tPW^fP$Lw%Y*e2LO`onZo%%JJv2=gV=N?YTZ2-IO!1Uf4UU}RTwp6*7eHG}m? zEhEh#^U^ofKs?X7GN3-Pt}H;DFSnKk5a#BkLPR+o@wnoVmR=#OpT7xV)p=Q801OVVXsw|9;eq! zx41sXn&(k%qn3o_vhq1pfS52#ZqyT;?|}#Mf+1gWOlfO*I;XVNP<)mMs(n_#TI9*T zR#~ascJ*Ks;#ne^A8#)5sHjJM$rHT9lN_g9!Mr32MmlF!Yqqf?XewrKBWRMlsCF~( z)P-_w&~(2+({ygT44P(e1^2u3)qfB)ZP?|YNh-9*y)CoBksc#D)hE`rkT0Uwff2Kw zB|bKO4>zlqdevFUbVAlORJH(O=5-E6|DBI@vC`(+%07x@2X+s z2)#SFDVrBqdBQNuW#8%WO_~UWaH@oh4g>?Q14m z(Li=FFsoaKC*Vq-&+>Kd=u+DkDEV04khLvRsZaP2?4i;%eBxb4Y&jz0PSD^i3?Uz~ z*ek1XXsAYA8VGi+T&3y*C0)Un{qqm09q63L=XOT)DMCu2A;dajaUnP9c{REed5v(I zle*JLy_2%ta#m8{<+jtGpAG)Y{$$syJ|w{Qm{nd(REAOt(r1?L#*r)RqdL{LgUS9~eZj8Plj4V$mb3-C*Nm|* zI3b-IKfK(CnT2i?V0T2P&}zVy>PmkO4vxF6khfgQZ=~D`_4BCZ2WMi0s-#wRz0z*D zpS8H$!q!3rM^>JgIk!@G9>kOEwl8*zCif-Q5WIKkanVZs-#ifTp?)jRYADd>!PiF! z1(|ltv{9nj?LtAHP&Th%RbE8@19WV1XQ|4}P?g%JZ(|7r-=9)>y44QMm>Im2zL2Fv z7BBq+5Jlb3k0zBG{GBH{efkXY5PQUshY)hLH)^kRug{skt~Gh6IvIL3>>vq2`f%PEBRqJ#!-Mj^;la`uS6IGCdM;deKBzrXZu=q* z7v{FYhqciCx8EN{_ebiP_t!cG5<*w+Lk^k6I_zzFG3hC7C6v*XDcyZA=?k{48q-&X z5c2;b>}#wKxDwOuIV8crl_%KqP7AiJemkNUZDZ8-qSI1u^;q+U(qk+2xl*FK5I61c zP+WNEx;rO}b znRByo0eoxw0FTwVtWR?x!VY`pk6enl#jTLF_{TBRos_0J3L%LP97{i5i2f(C@LG8y zI=oSzD|rWPW5_sfE)wTWys$R-VPbOSa-iHp-Q0t$q#vsKAs!eX&I1PzRf-FT*n|K& z%7w$4*xvUTb4TZp1{jng5Lla6kLimR<%mECWJN&{qkjApmZwES!LC(rm9(V>JuBZx z4W71oO!^fDR;l0b03CI>6C8o;MIh%Gf&3F1pk<*n!i5#a6$7myl6PjC?k^ZI+oN%} zK5I%2Lb&S``I~>UF=Es}G&6ZB0hiM=cLQ!PC;0^lj#5}mAwI&Bp-fpG^*%Zt(TbOA zYa{wmK;gbVEi<`@dN^zbViD#yqJIKDxQoPd^q5nni30op;srR4aR_3Z3A3vMtVurO zMmA-bV8&mBPbv?iQ}lG>7#IIIA>}Ioj>mZ!;`I*0wZ|-pEv2kdKjomoXxMIjDZL~x z;v;UIM7O_+-ehj|WM=9QzABw59M+UW*fW7jspX50i)a=u>8j~TCJB)gV9)YQNCn?! z7RKpuV7v&@i<(;fi;&PQ=NYB7xMh=Y^g8^R>H{I9J*97=%n0*WNepnO!68-&@h8H6 z-Fgm!u}VUSq3(>RMp@TrRkSMR!iAZcJl#S5@m0pFnm|tz^XBDC4f2N@?pS>B;tpc&q&&hXIge=L<{bR$lW5v@f!s;}7Z3=SvcA0XVU_chf&`-r$0z)LXN z3+uS^PfmQ!Zt#>X4bjEw zxhX|svMY-E#`1ouelL93V~4t|x*nVcU5M1l_ezku3q0;3W?A3+WM!ot?tSt}y!_&Dl;L$t^zO~XQ*qbDc0*AW!|j99%y2#Gc+APy{uPYO z>KRM)CZV;hMfRmQ+bRL@H~^%JxF2BME?o>OVeyPOvQgqyc%bz6`p>OL1g2OJ5)e2v z94DYtGmz+Uca^>yN;SnQKexS#7=oG;$E;q7s*Sv}Jtq@cSjK{GOoQxlTI6`Ijlr`N z_HY)kBd%*MnH-jjOa;BnOP`@SY{dYsC0oXS(FOq5?hh59SuoSnMgRJIq- z?t7gfJvZRg&p*n1BvAgdB0X5xuu-SP~ z_35T>bD9pBxEoB=Z`Jij^v|h}Jscdfl$FoF?ju3;VxH~{b|uEfGZ?6~2p1xF>2sbt z&uOC8X`FvdJc7C(2j zbN_c{3`@7*x$B+#Kbw31y8C&p;~V$L%QCsGMffanius!+A+}^`?up&X8?;Q~SC;&C z>N;3LH53IKrux@C!n>-jCsp6;wX1jfFRtEc*#8#gPk&81Jmb%Jr0h^joIxD!HBPBq zLys*&kAL|P4<;V*dv(RTWGy+#Z1+ZV_q!0^%lds@FfV^4qT8I8J?XaiiYx7Ki#}l6({C%ImNK1&OI06(_jWvZ)LqJ&sn| zghi?qk^ZdZY^nSr2JG?bDh=I8kn)hG)50xQZUsp_u8xKvwC>V0?e zZ>29{UyluTB*v$7PWrWyj$MQ4T$Jl_U?h%%Tbk|y4eF(cKAE`}Q!4FWVuv^A>px%$ za^Ui-grgv0y@Zl%7UhBVoWyu)rQZ36{vm|Rz&!`r-IUn^PJe?kGxZ^+UP33Kr((Z{ zA|m>jcZ}E+OsSo!emi)+7ChVGrv!!$^P-bWr}ALv^u=nCh&tS0yX1i_!03jMy>XyJ?gMJ zR~{$cao*;Q@DM42$Jz@6*v9jny7|t-K`W@*W#uxi=)SphI9}K?M~GrC9ThR}Mbr)l z+UI#n-0>nS-1|W7!9!NEhrVPV;r9;RlljtjipS#QnEMt}=dP^LKYEWfjzBlT4bP38 zMY(xQXLFrKcP2JoslvTP=PNyGtUebpk`2&z=wECxC{o0ue$Jecol~WkBj=6hR4Amh zRqSAr{fG%*MO9{vD78aO_HVz>44RmAHqN7757v1Tr$=k_tq>5Ttv)6Up$3Md;mfn( zaH8SMRJ#eGs9kDYOXaV-}ozzA*1D}{*zR!+J=ljE&%c-u|sdt7cY z(>B^DEjLDKkr<`NRW6sHa(Z7TW318-#40U1+A2-)&{@<+5(~umieKMylT6C%ZA{7= zWGk@ZV3ve7t9)a7&tcGl88s)>Q4}mq%uLPANtUGMx)X(|{36O!z6x(PRc~UBgQdxL z#Qs=LbNXyxw#(fKJw~dv#&3w|^q&CO?}I1Y=wTuf_b`_t67SQcOm9{s-WSoodyAQ2 zaei3(S0?>4rqpIJ2fI@@w75*G-{)=9!HG;js;$VH81yElrpj`XC#BjvqF^PcA-&i( zz$A6*2hgHSuTt~`{x!X-{#38#W_xw7eu&sc3#rqm z5aG^8*$nTcBNyZZ4-rbR>h~gD3YSJ|IzsQe^w@MJb7Q!-P*h|e!W3d4Ww0lAn-$(; zg(XKa2d7O^>px?#%Ip(Q0xKGg}AD`42~J%5f#0u&Z6{g>{kkR^8`4?dvyeQVfu|>=!Nv%f&L#3^oImGvK~`-B*mwI{u)TL_8Lei0cq{nxb1LD z-{U~x9eIVC$F5NB6~P>W;B8`)r{0rQm#|^G{~0MisWsJexIF#7w1OG&&+?Om#!P-v zVU6z95XsAhOce1GNm0t3IFg@q&6~p(w#l$m5tAtZMMq^#Q@6?O*d>wZs70;xMI2Pi z{13Kf&FxhGc}FbPA;Q{ZHw@N92shR5CnI4==8Ljv!Kxq3OkU@heCMg^LCoT;oVR`R z#nYS@+?AM6^3twDl}kYSU!W`}xl5c@*Zh*XLvD(tc0AOY6%1VweH_^k+v7`HluYOP z%~XR$b_&TLd_*?gu$`v6tk5341cJ-52!U+J+mr0pzcqxoN0G!EiAEwSH?zu<>ca1y zx0G<>07fI~4T*w_B)9KO$+XCBkhl<4QY7eu`u8Xg*)BauG;A*>-&c$`aADRPm>;R= z3~d+Ylq8@TBHeK|(L?{m2vzZadsIG4QYRV0*r(A5eaMvRbv5EF!^;)V)Z*wO5wS6j zo}UreTP(33Nh6XGlc%LR12 zGf(o5oF!HmW3yn=2RK=nNNaLp%qAyt=EFBJlfiGWy1N=ezmc1${vmUdx=^kOGtU&v z#|du6Zlypc5ZjQQCh^S``?+j6`0&@1koi~})u-}eZB>m%(Umyywa;ZoP|0d2V2p<5 zQC{%UrONS~&5MXBs&i>xmVKk+zykK->79A~m=AjSU%|=Z0Ewvb>s{72emn}$O)V2< z((>1U-x+F=eszwKzw%1yfzmfC&|;$ciYr{MNA9B7N)B05?lZME@Yf_`Oljl_J7vn_ zru-@X8Y|_I`?*3e&!l{_2D5N>lh5pH5vz2FGkWw3%9C$g=3n?Z1Z3 zT*V@TQ-k#S*i+K;4<%$5YL4iYHCPq#@#r)5onFbR*sQ;bidWT{+e$rYO5eoz%`o(W zXF*wMYkNFzY5S~JkqEewW--|79|ouFF6l2i!k9<9l2{v%VWkJekysy4Ic%O#^F{EN zB@0&13H~WjD!B+fOYG|R_`je3_b#cava5T^Oen;?!-(E13-u)36{>Ep3U>#S1uI`v z9iQbtdF&U4ceeywslnXjn8lDCFw>TsU>y%lftcPV|Es{tSD`}7-REq5 zC@ORN*O|+FY?6C$Yy@2XZ%V;EA2srKRo?nHN)M#3P;cDxkqdfSHNGvKS9+jvTWdx7 zB8psY*Q#-CXGpTn^S*XGR zd!f5z9GzUOa!@O*aVYdt)=yi%bw=X_7p=LY?cF^8ueYXpE*d{@`8;`e_dBD8c@Jx5 zz_sQImAk^4naZUPfwCNb(;Y|pJZ_}V7YwZOrrssJZF$fLZ@QWH?0Igq>>p)vWQ!vs&0%3g_jwb9 zSCc+#!X|#L2~YF4GLAsrqyOi1g!Ac}DL`py=@Y+0s$K`!{-Gu$D8>HVV}&-^p{I$I z_2z~)sY&?TxNnJ6MPmXkvqa(&&EJ1r>T)g*Op_npo0?VG8qCzKSE}7;N9bszsgsK|R}ek;wA+>WqKHT^jTJe?;BJcG&bm-gqZ=a(a==OsNZ!=x z&-!HN*)|3qA#(9vLNsp)NRR>?yI+Lfmw6;^zX<{}xFd10grU5mIIDo_in}w%SWa_0 zR31SmF~QGAPFhoB#CjIp$wp&Y6(FY>xB@!!o(A%$kc4_&T>oXk#N1TSg(_UCGfN0f zrA~9v#m_fh#DaVr8^z}}GudKl%1s+``1!{-Y;L$&;6#N~@GdJmWMhA8#|Bt(6@<+wGqp@b8 zgnhc*Jjs#;1QQ>#RNfOU1HV9cs;KG(W(PvRsvffP%(_!H*Z;lt^fe-M-HET*^VuN> zjdhktmU-qJeLJI9T`b_KLx&R;sY98>1-QisI880xtz0Y00+7H&yVAYhJ)wY`%Y;WGI&8rv}H|b+Sz?MdelbpK(cueBI^3fox~F{ZeW07L|)| zR2Q@A_l~MaQaR3Js>=9qlnpe!xOOL?OY(zlcb$Q=Y`?%dNwOwFD9653UXI)81r}qt zzi%~C2p_M--mqTlVoYO*w`?N&1t5NBqsE4x8sguQ9cAGNH=&X^11%6M!m1ts3aUxJ zqnb!3m(V_3`K;id)&nf8V`S}_1s)cc0|J@6qAWBBX}o+CX^hZCf9_y~Xi`r|-?H0UR{WQP zEwLxc+XpfvZgje3Nt6Vq0e{;(Pu#WCzrbwc_~er5VecESAIai?s{UU$Ja~xsP5P7| z9>sZLhe;v{Q`#O|2eGxBeGVdQqNsUoR;UY=5+-0fPyKf5*s_SnzitkOkNAA6`zvt; z_gmFFE0@$r5Non0LX2^Mjp+V$$508Qh_H{BE0n3x+o*PTliVhj)^&dvZE2nGvQXhp z?9m%~U6s2C>WBBR+_42%i+ZkWFmFnCo2H5J?_nMHR?7O#%H6f(s4lR%>%Le4`=I0J z>932HLGCYRqv#5(6SL$^JGm#5-0r_PxyQcT)0yvKH@$uvCsowGTs#js`VZW6E}Tv8 zT_pO7x5Z@z*)eqXD4TIC1Bp#^flSsQ13H=6IZ<}ky^lXb zJY;|2H-27J?|j4%TQ+M6C*n$>jQvkBODt}iC3^be!&ivDa58=fd=S=RA3H*<#RX_U z*5X3(bqyggf`<~va|2WjCt--UozX&^W)# zZ`pG2Q^JM1T=4e@DYwj)M;(V1{R%c69=9cCUtvulz?*g_?osuyY7clv_RkpARmzSogm(v)_#6@VA$rz)5#sd~5bNvw4>)UnX&kTFV7qlER z3$p3tR+we0Z1t$ev?eV7Wa)0990CN@o1T2qs@`i=_gK}vXe$6(VO8%TM)bPMMYN*A z?-4OeLIN`gg6Bj3uEYf@xyMR&<9iaq(?5hfh%fn_{T+LClnAF{6Z`IFAmXZ2dF*BN zmhP5!lRs5;TG5@n_2uDpt^Re-3qBWnSRvSj?qBy5w{l9x)Au0{?fNb}EDv(^B%Zp? z(B{Xv>G6s9@|oJd;Q--|WCM;5VLSWxdEHFaQM+l`=$YJ}{3RXX89SZuqL^{uie_8< z`tr*FaU(WV8=F9}(^fC1WjTl;qF%M?wVvdoe#H>lN39qG&MtToivi|g9BP|Hy>iiT ztc%%*H^4ypBiaupW7bLKBV?_vY)C&(O{!$)9JId<#E3>7 zYq?iOyiHV{ed3p5q~tjashr9sM2a(!*&=_Qk%3LL>wDmcC!aj8_5?Jkc}2l_QbqSDGMhqOP|{QS zhnSbOwLE~C?pq&vsyTG89oiJpKYaxQSyV^@WN)xp7^ObnNoY+=1nnG2(Z&2agYSo3M+X1R$IRek_cE-Ox6Jq{VZngytn`V`JA-s zB*`TA21&LuBg+4!yN~Q0tVPz9e*HFsf;8y9I~_$`+Nj^h_OU}hl96(7#m45kA4x_- zH~dq}c%^2p{t1j>&Y=Mda*~bKZInp8fEmF?fu}t(3Q~BJJ;}#Zc!OR2;F3ztUlGon zDU)-)EIG*s?fR{dYjOh<^rUK6A0x<&_kBCrm%#BLUY3#6dMj}NQ6-K#Y2|M_I2OmY zk?|RQ=e8rlUG5|LEXiqDEP2t*bsI9t4YubVagcQB^U?HFXsZ$*{|03elg1E;F;RB!UrfT@7dU(1uc_GVUQ;%L#J5i z9Z!b1#2kD4>+Tb-SQr?;u)x1gv~eL4;T=xkQRl!$EBwcXdi4&!(J6Y+DdZ@F*0o`y z9}M&UgZH~dbE&8kM_RhvwTG&U`4m>%Nfmu13C0e~)rK=&)Y)9q+4}VuNtxCqWq^?hvj7UNK zkvw)Y0g}Id4`|DpM)dWF?|fvl_0hg_*4k1vH@nqaycE-f$a3Q|*!WcL!K&uQD))-# zAA7TL7i2<+bhPUtn^~y9x>!?vw2vRkbn_G^CD1vU;9Nc5c^jTOk`>6(LQC5JdjprH zDaUfzi^OcpvE23|lr6bf(OK?uyT#FgJdLVZfW?_y;bcGLS`m-f)I_e`!H6e0#=2FG zNto{mM!a%E$iNMZnY71|5{leO8)n%SgO`U5k|D*)?vI6yizM z`*)>Fwy|f)quxm8=XM9*@Xvok`d6hhV!Gg84Gr1_E$H${uq5U{G zJ@-INw&ww2{#g`wTsrRs2LkxWmy zc%CXokjbPHC;S|OQVrV611mZgqMVVeaIA^4Z;R^Jd1rk^Ve`d>*%Vupio%v=kvu>D zF-%4>T(5)_)rt6tB<@5%L<#HJn_#nDZ2g;-Jn==aP(N z(y;zd_AXZUstmW7&n0{80|G7W`oKk`^J);DG;|-(_^zAiKUcR1z8r?p#9}$WZQ< zV26Kx2dCD&NN%uaNu_Rd8kV^C6VJhlbLjhER6qBO;Tl*bJwG_G`Yc6W+d$j9Ink<0 z{bTd&WQ78_##7Q=MQ}(t)g2~FA1g5I+5c0iS5a=Q@i4Lx&ifY4Y?rKT29E#tT{bwX zoz#FS*j;9gvo8^0$woxPks7JPQ~m!TE?9Qgx*BegEda0BmlYS(Xi@>tKfDi=Y*7Qd4yz6>b`93%4yXmi z1+qUzy-dPN$z{cbCGDxVhEhF4(O_HsBy~k`A(HVwL^6K4xCqgFS#gniP1j4oT|9G| zt*xcuyA^*LP7+wJ@y={?Km%BAzRgW~67IFTCJaA!iSFm%$}A4^JQsdBv1^P!HAMG? zK?}=eXM2e4XY5=FZb?qG?qHR$&g1{J-t;Mr><>!#xSd3b$|URj^aP5zneR>JT6YMw zAhg%|T>hpX0I*7uqn3Kqu>hK_s=SSN@b)>uTfNBdfvA4;5aX%vbg)!O#d5jA==_!p4oI?qh6*4+pSuTpNOEdsh;>pa$mStwC*3DOCP5+oVzZJUNJQkeK^P^S zq`tr|X11&B+26G14XIZnu)yQY2zxhbaV`#)CHJp7Th;GZ}LsD0)N_fN@N1E@oKjNU@G_QX!PoR{bnd9rQY)d53&TkhJGj~0;JNO z)cc;Yy8QqQ?`KG2=h3$|RX307PnNB)1?g zj&Q==<>?Idf5F3v0P|aAU+U4q z{=q*b2k5Fqq)q(0Zg08<6M|epsGSoP`y=EEcm378K14_H z>Nv8_ID9KL)y49Vr*iOodPl;?M$)5cRtwpvwvrC=*}x^oZu(M#(;KcWS34d^y`7)C zrEM@5U*}-kJGpIt$w3>m3+6<0jR=2UeTnKNFWa8uBYJ_e9w^p!U&+BpNxLE4v!pc4 z**!k0M{S>97g55&J?U|ku#KOa+EGG#bO2hp5lK?|DQRVUs{5 ztbJUcnKAd}w&(eX?fa#E((u!uIv5-S&^eR1-EHg_`cCEKG+4NGby37HMm&tjN% zMMl_Za92h^h)(9!t=d36b{J?>UO8A+KXlg)d4pyaP%^S~8Kn}@bBF|Gk${cP`;O#z zRbC!1c7l#M<=C)Z^{RfsJfM2z=;}XpAhW+0ydc3O_3Yotgf!{>%gFDSOh~Nse+XNx z+yIJ=<8CC=UXHYL5|xQ&CyC0>C9eaWZi+}hbGn^)MxE2`mW!*!Io+;9uf(a31%}S2 z-`qkpOOoeLCG%lB``6E&O>5Uuf!5^sIIsSaaKag`xKFQMFF~v>6TeLyFZK-{895gW za_O8WAvOt8y(nxWN6+C1kf@aYZZpu@^sC=-3}+%gM7~ENKWDQJmXzfs#)&a~7sm9o zxv2(^D=|UL;0JjrwZcRC8e7tTXAOsf%$8}Vdrv@=Cd(kk_Fz{_i}YWb68WeD-!dWbEyj{Vz1k!NowKlT{jUbH#Kr1v0_tWsZ-;$ z)lQ9TkJQNJlwVWhey2ttA!eap7-zJlMuZy@RhDOA0lKF_} z7iGBSRBCU$+$p3o{_ZQk#gumH|GH0ByYpJ+%Q4~ab0a1@sf4UunTS=t84rs7Gio*l zRd9mrj7gNxzf{|FP5{8Qw^egihnzsZRc|pT3T@R(enIUH9Tva@hlUezpGM)2&yoYE z7CdvrNz}?Y*(70ZCwu7@>A?BY0aP{k| z`*nq^sw^VgN(38W7Zfix zeP{XN{YVw^$%ZnAVIU*Saain9B+t~=7C*&Y_r%W2evpF$e>lEuPqb>ULpqdXdo zk|7rpV{#zSTq<%A0`M8{L_IT+5IRLkNkHwJOU~@ z3X*?ajKMgtTJ`A!Y*O`mfYmCnTFG2Cpj_EEaBZ&>j$_y8$(FpA zm>t{*LT(a2CA#ITR@@ZoPH%JQ2ShPUmXGo4pDA&~(7mbFm>@j0mP2jK$>8_|Fm_m1 zE;C&H19lcqjsZ(N^x}+g&V#my$%dM((EY3#cS*4JLGpX=7tII9@G-o}0d6+F?@aPO zeS@t2;TBcKJ)_>zBhF{yA%o1B?$#J^ClzG&q|Z<7Ppy5 zkux;uj#g+P*xc66y7L`uv_rB0P41?e|= zMf~h%{FYIGV+@Al7^<8xky%nGPYM}d`svvH^uFa1>C-HrT4ACKBujf$b-)VU$DVje z0+LwV{fHBl6B}YtT9OHvBYF; zX(FdjQUNmO67bSJLgi4Rkl-;;4Z*T!4+sfnvor{-Wy!gJDnvv?SHoeO)OOA%Es(Hp zXoIki&fF?H)%7_}QEKaSRqidrA$O6g?{CWZ*U9PR5~Ula=e2i8ShEX_iL4NbR+4_JtObXTVY#$KC1;XU8q-fLr|P@yWS5l6-3TYi7T^mWXQb_V4(&N= z{YczRSl7p+j&iZX9<^gf$EK&WxVTcf^#^*oCN`{|AWCPeNQh8se!(AVQq)%WPi#O?pkzJbcYu zcB6{%0TlGEEVIfi9qqv&X}#acABa*JF(;Hd|0tnVL$GxufxuLl79TI9yqC12Pm}Uq zhm`kbr{+`a##~*8-trl9h1FN@%S^tS6<(-&04i5|)XT#Z-s@2K@)4Y@^jY%*LgdSb zMi9MxnI2pJ&nEBRYa;j=O$>2D$M9Uz#D57^3@1S!M6XzIz9h$JPg0Z2iX$8-&pj^v z-$jnoksQr}IiDSfJnA?Y^NpAzk;rF7g%&&P29^r59X!6&L?q3%%PA zW}2;RpO30JwkIrpg9vWQ0m*7uSRkimaU6j2llq9o2IILr4CNfF_3g zBsJe_x%rcgL~>B-JdZWsW5ya>Bq7a+gf!=Qf{P@i8Ih1?z`De1RdU>_6VU`rrI-9- zw1k|035MhvPtZ$DGeAr;;rzhE$PuCCr zClcuLfNuLGa*UDI=$p9070GBNI;1{MY+ttA?Ado>oCFsnz==^jq#Mx~U{rfe;rgXx zRA4;=E%%b>4vAY)BDm~=ZeBLFnd9cI)y2ab|DiM{Yvg3D$r1fJh?kVxnYxOj!;U&V z3kzupS@6Y(uX zjT{3bA)Yk)aaC+Kz2oM8MQ7>M7V4cWOxd`sRF&cFQ!hz;_F3MLt%%1x%s`#9=|}3C zdekz9)ZK(ZPoNuAOU$>?@yIPVmfEpT7hYX7mZsaWaNjAHuBAMzyZLO2BQ_eOU zGIk0Hx>$4cOcoaU*N3u|^@ovC3*scWBatw?YSsHo2HFnismr|_Mpxo5Ii>ATUfaic zbRf8IbpuOFCRajXTV$cz#g^?Y@WwdXGcFqi1S4%neQs%K(XTKP~2z7Te6<<7Czc=-mxkO`B{!C9D|rn)k7 zf*-E_T-!T&x!w5c$AfN8f(N;LCSeUmtE%3w8;J0VGl@9c@dl3WrLVO-k7{cpZLApy zv+C-fI00J`eoRn}o&%v`P5jg2$c9kY(${h>`_ae4N1bEYD`Z~(lYszY_>|9)(;X`U zHL|5s?|hh98#yALoZuq|a+@Q*79BaROrQ2Mr+>0fpiPZSU0v)#lKMJbONAXEjq+l3 ziN{(rJ!3ne9o@q~{)v*=v9#%3hjO_!TYp z3t`P_q>KBY3=%P`w@$;QyGTU%1ku|ziq4M(ycLTnySq5JGvQYi#Y84pTen)#;`9tj zWE7K15`NC2DPzT*&IS6ZxNA?8OP<~OW4eTi72_9A$91S-A|YKZFGxRDi&l0B%67iQ zaCUGbcZB+e zbx*4F3bq{Khq3BSmNJO}IBdOe^CM3|w4H@m8S>xqV%!9%3AyT0w!V-vN;jagVs&x3 zwQxFJ|E|-Pcu^W?!ZkmHoun`QdjgK9vOMq{Lt{$z zc?-|Y3PGh?z0vf~%n56#W6n75f@HBbo#*6j=qk0yTWO96 z`F$N#psv_9#afetBiP)lYeCUoYuKxX&wk|?P{`v`=b+?gXv z6rotw)b)$K&6hxOKI;-6tZrQr82QS`QB4M<$@_#%oF-eY{*2~6)mEWnl6*#6&bLg| zq{cf)iWtLerYC1tYB|1Ti;56W=E>hJH)#}Z$YH!SNiFf1!uOTitm!!vIiEOT<%N*- z08Wf-|FVk5?|#ZmWfKIv%6KA&lLVY&b%yf z;jL_`Um)~eEQ+9<^)mWIi%*_4vDjn85RB!VWKlkH*2Hr(VrV)(C46^$-4Eh zFw2Escuwc|Q+`NBI#yWzh?HjI_-0JOwq${IyQ3jl=Q&Ct5&bhwL_a`8->KzJPUfKd zNfOm}3OE)g*SdXlWM2|LszetcxZ_dd06a@w;ytg{mpJ=KX#Ynz0jMw%+HYP8xtqv- z8IRH-swYn{f&F>Ifqkcn#P!b{j_XhO*IuE zb?-XKDjAg@^yVu*77Jsa4+8RF~|@9nw9V?w$ohLXJndGFKN2Ulb2t6b@hbhA)bSFQytz z)f`wL`s}C=)-;%du#uLZ_+ZVAj%IX)XhzMCnl)#UF`EAQ`PZo2Mo)TNG84jsOrQCb z&ZqSxqqK-AiDUIG^as8FC#Xxr2{#C>pTCCJF)8FTMN$1KZ42ew%L}bKQdNu595MM9 zXV>y7*7A#sSzLa<+Gq@T^u=#0(uSC-PmY~ImVV+e*x6`jVAF&`y)B!i(ckepdP3@k z0atvwe*0_O4b-A$NYi{MWn8T~{Na$b zqZGXY^wv>8`HsscfU*~6hd4&{{RU<^Fb#;@EC^p2AigjPM1j8KpMZE$UtwU}YG8C! z1YC6G`J~g8*#hU!+@QOZz8Rl^O{Coh5aWx_sEVRc=>(D*?VAyfGmtg{NdhO!`0Pw^ zXT|jFAPZC{=EyYyd6T=H#d?IUz%_glA9oe|?#8f>boFIb9IoPe>4(9ZO8xim<&yjF zyDC2Rs`xldc9{)X)q~4b8|PdfOufgsDfaxCoUD^dy9r-O;?7W0X3cL_3ZOO50Myj{ za8ylPlIdYOa%`eeNBg91=n}n45+}$NNp5dyy}S4>a_Lr`eDL+uPS?S1$;kgmUxY9w zHBINlzfj8|Y-yiUJlzyajY^^ZgmAuWbCvz@_uL2`ovef-8NQ4h8WR&SVcyI#>TsMO zp5PT~aE8iW`REZUp0o;KecGYF5Ng*syx{0b41hhi&NmmF8DP`5k3IB>i6tTLu0dq3 zSFiZ5EH#_0kw+bIBzO>}H@5P21|-vS;Pz7w{vV^+eelCnA6o?s=1GiCrc-T)<6poH z=0<(_tmo{z_$VTV^fe4YP?Fu1d{g|BNO2_G*QAL@r*+9tz13%&j?;qtbA)Ir}LR&NI1}<2W#zO61ZUb4DTr zZkC0?df#2&MmL)5jL`{w6rLV(^<4^5U@IwcK2pKBYKQ{M32uu?m`hBdYjP5f+n(=< zkm0A--ADf`JVkwfqLq?~&&z3usx4mR9Ne~_uN6_=gE_-PSb z*&WMQ@mWio1EX))j}VMaXI45xgAN0-MdcP~Q+z}CdYJ8Ay>U>;XOPfrFOk_^yu=bA zu!#Ef^7$*tRv|7F8qjfuCMORKEf+~L=PQP3vKmYXcj9pCllW9`hs#x->T@R#w%q5* zZyeTh!ak-xm&BN+7h7@(+dU@_{h=+{=M2OLA7=+~0_q9}*d94PG~2B_Iik&J^|R`G z{zZL^;D6S>bI!PY`k{d3hd{46q}&yWEdY5UrOwUH>keIqML3+JjDQmlPGdvB)lo6Y zo#2Ro^q5$LcWQJYZvaj})z)&h8^EqG4>CV-NMwgT22jgoxij!M@bE`w%_Ib=4mI9A zNvsMMb(2T2CmAqst8^=`^TFWSTJp(v3b&G^L}c738AQR%+4}r8m=T<7FFf)cUQRoU z#ppqm{;KIgLC3;L!qocPqQhKsvk_LJcrd8OhDn^RVp^2ZU&ad@ZcyzT{ulvYzZpJ> zRlfAn(hS_+Zs3o9L1$!1Wo#pt@?r+ioZbO)TwNlgvDKZ?e(K%* zOr6YW_Ol8)Z2EUJwB9VVDMvvw9#<`8wY6DWU%n42ZZ{T8eeoYs`!9)(a+Tt(DxfGG86f zi4W;9l9s!Z=t1g`d*x-M8wLl~glx|xYz4Mwuat9y6BAdY=6;!@hC6an+MWEM^Z-(a zt<2BKQN(Brum3mQ2b)Apwo@m)tt7c~*I{;j?#QGLXA)=1-gLI}Mk;GaJ-Bv1(j+H# zHR#}OdK&SFXC;;)m4kY0DMtx;S>J)m>YQM{4gEJq&)_ZD2YTFt^4qN^@=F+MFX~DA z@LIc1bd`O^p%>m8pDLT5<;#qm-X)PP{f-c^Xx5><2C{sR=?@(MQorZ!ro&~3-OfZNd*NlOre>IR-=2|6~A zrG?W+Lx(7_GKU+8#EQ;vfVvD&KFy#tgBc}Bj;eh@w)SpDBJ0Tx{oJV9(ucNTUL4hT zTwlWtE`ep1W`WoSNWlpIsfwwixCOUc4iuYhKg%umX5X!JI*=u1!)c#*w}X}T=y#vW zzB_s3-Qh_s5?$+`PwGVBrlTe`pj{t0lloWGAN|-@ok^99Q}&!Zd_QcE7g@qCSLZuk zl6eVguE9Y!&$E>BPPaVG8dUPi&E}N{Kl2s06pyMq-_%_@QWtU}>@H1({Qb}GwhVUV<;TlIBs3co9&?LlHh6_51WJ~U^8Lf_-B>aH- zLB9Gbj-a3>U*o}aKKjcrryf-$T2sZxKcj5!-AHH}QqJX+7tv)p#L*zej&t77ca}kI zm^;|!)6PfK{#cY2rf#6KLO$nVOv>Gzd7C)pM|NQnZ&=8;rG0Gk#UNh4u%Nl3KrNJG z7<27~MMN+n)}-c2kMt|RC{f_4@Hq30VAI88wPZKQ0oi*wkEcnH0O3U*kFPc{NnyY*R63Mb5J z_$auT=*gT3|3__2K7UV(Lw$MZey1NyNYC*NWLK$Phxl2Jz9w<7&} zUT+gFxY8jUmcaPF$d4j=awT3<4->tw1myfg@rUaHll|ba#O)L?#X{`p!P8*c$8fiv zxavfd%S1VKOvw`v2lzWsgvOJG5`_v!UIZ$e-0kz;cq-jg8BI?SVq+S{3m835qbd0i zc}WbzoWDeg&6dP_8mNR>3PtK`ctJ=kFdnDH9oPovQELLuPKZQFKZ&5H`F4?tjHf=& z5H-y~7tnBW<4&OcmakyD&ruBo;ysk?upMF?y1T*44LMeGeNpI-7KbhFI-rHlVPSRm z+m}1Vam+O}_H04TkMKF$?swyoO|@qcrj`{=AZTbTw~-#$Wanjdi0);D zI9hZ+BH;%9s29Wr+*r<9oPx%V{sI4Be0jf%Fn};hVy5)KCA}YC5f4Wo1oRnStoRu} za3fi4$KRA4snaahWm|pM;PR;Z(#hgD@fEC=j)<^SvGr7xr!LmIVZ!h@>nmHm_>=L# zFNi;DTKKVywZ&tt*y(;YvS_BxvbZ`R=~Ud?jUY#E+P1k#UPQ!A4-E1n7@_<0q-=O? zKnX@dU5MgjU9v>uDvhh1_{e0SBy%y&Pn3?paM7lvI7986{cbX5P`0=tl}?rtray4z z7@ik?OBbaH6--`mJzorMl*JMBBtXu#1y%%ekEWVV(FZlPjG!{+95+2*Z@O++lcp<_ z2y&cWh1Qz1B~X+zkHQF}Y%6J91e?p`lAO5VJ6*BqC6=Nc?w_wu+J;p;tn8hUSjA;G zVvb^G!jAbkOb4OhdRP*R;}Kg)werdEYJ?yjOYOLSV%Jh+$2Mgn=^Fw-z@%Mk5;HuQ zFko&edy&Hyeu3~=!#(<42tPFF2;5u_cyIfJmJ1?9wZb5knA6boc_r52TV0k6esaTP zQjPtq4Uy(Z6R0g5f#uN2_{RFK*%DQI^bx>}`V^Ih$GWaZGw|ZstiV9_#bAyYgY%s2 zh4aiNcPzNeGrhoe9own!m}qxffG9;GvR%L?;J{zcsl{;o-WG_;Up$Q<&8F-NJ_oJF zK-VxIac8EW#^)%jj>=@#td7ZJ&%m@6vW#AG{FLyy%GQV!|nBJN85qBvu_8 z?Yr>wW><`%qr4HYkA8WEG}~IS7z&?aFBgZPuFzB=hK3Jg6Zk3- zXGCtOj$9NY7e~l77?A6sA@?Rw2v4~lp~(FaYd(maccDr-YFR^W1)xgGZH9w5Q|{m? zM(!Rc9kj4;g&d3xmoX9Q8*VrmX1dl|6(yjgitQ=Dgo43OS1QP1R<+df39Y(sODUm! zTREw;VRoC%>3 z!!tcioMcyz2cD2EZk!mZoTEkTUuS@7leac6J*Y`(gjpw3?bOPcixANL__jpEb}}WU zAKzx9AHC8`9Edbx8gMC2At0uryq0w3gZE6yCR49H$G4f`uy@jwh$z|@rtNW?-xw1Z zDpSc?pV;b;b3kV^1$xU8_?jC?;8HgQ)P%FL)NLr`wN$2qy4V>)>fKm&h;-L&)A7d9 z8*@U*Nl@I0h-~G{S>to82eGUrF(Z;(<`Mnf(J75tP*59{jQF=1t!-)BT(NH-LH`36 z`m-Y67WkF6b#BMP5u=jbwvq{>A_`B=b43@PoaT;H8YbbA<`8H#_T~8l$Vt0Qd^QYR z+=NIu_A&}*o-JO$cNm&{_EJBt4DH0VGWf0$mvM@{n8D zTTk)|vDcAh_22>&W%-Fyp3_*&CKjVeVB}Qn>!T`_R?ckY-foy@_i?{BH-3z(T?Fn( ze{AsBFgF~m200OEZ;LBnh$SkL0gz&J;uL656v!2WZ&AuDI%`eRn(^9K146336dM@? zM#o-;ELL&aXF{q3BDEIyP_mFxZ+t`mM}f=HVO$EcDeiK7ahHSQi(NyMoYJE5MM>6o zt0~SeVzehVx>qOdM@@>aG6kq&79mr>A{_ov4flsi&Kl2x-q2s*P_}yE`HN#b3ldFp z+9_az@m_P|z`#tE+>*{Y7QDwfseP?%CyU#mrV-OaYl6N~ zUBJ1HRDtcu$fwXdTsvq4g;A~%PK&^X%OG@sjhulC(3^zt zy%|7o%+o}S5l(V=IOD>>nWVv)B;i~e9!@2`5}aqQC8~`mn=~3!tHy(2bgskbWP@f0 zuTuL{FGpt}QSIx_+@CV>HO@F_STaC_$?y|U&w^F9ei^*CLI$i%T&05UMW7)u;50;f zDgq;?-5Uo_e0cYp*TY?~3LBhG!^XtB+KXGhMYzUUakFFKO0SGqPunuGBg^2u^Ju`w z5bEv(?51&)P4S{&aGTQYBI2^Xf+F9_c~GW(;6qcEjHGw&4wJHR6M)1R<9J54uZPYIrDzOFy+?mk=lOd}Q}iY#~@9C#mDgTJX$U?B2Nc{PBO)}_R=iKS1Qj2<|aHh%22znZdl677ep zeN!M$4w7Esol-64(EUZ~AIX7~oDMCow7(va>hLaZ+h|{dW!)8&hwldF4=XDrg+y3yY!-G_%athy6~_u#_D|WU zN7aQRk{7!i^2t$s#yl`E9Ql#4bzGr+Ho3A23tlz3#^~rg-a)17tL}cVlTp`15_$vk z2ceAt>e!BakSY_;O%FZltJMP3| zx~3e*VB+)@7u&^WFn56Eq-xEr(rO0W(Uq}D$hxF)nPTnB*X}lzvHhvNPO?2uGK2kxjU)k`3e>T>c|~j+_kU7@w(z(0wvx|Lm^j^Lv2dKs4bcaj>vW2Xd}|i zbH-B8S|5%~6@&*M0&jtEg$3(OZo2m#r4$s=9phM&$b@{r*o!q#4=VDOf-+^5Bv!sA z#RN({=FM&h7N5+OYlo#~IWlbcitoaz_7~rZf1Ogsh%YYG1jjJ2D83@uFx~H`BH*?n ziOxsut0}-z{{~Iq1SN-f9@V9|xbQo4NG2Un#l?3xA0=^7-xLqE_sv ztAmcf2<@eCw?du0FgFCShE_!=exh?qxs+27QsaZ-sT6}k?uLqeH8IN7K0ETMkc2|Q z9+ptg;jgD)y~&OJ#xtfsCoCmRMwOBR^^6BDf(V;H>>P>zNJdrK%itbC#%4FD zstT# z`9vcr<v`BWAnpUPDEvudj3%GTgo2JhJ`u*C z?Ht%dxLe``cIm`Qh5#=NtCUZn?X!GZ3I(FMd_qB%Ph|%A6nw|>sYsJgMI@ifNItEE ze4+pq5n?yUp}3a^?xsm{7o+07NvCKM`k}7y8mE|dRHNnyQ1cupi7{Ihf&1-p3by0c zUC*JDg$1i{;l@+21eRUmFL*`p>wEBA)}_@t2sO+WgS7HosZJP{RyQHOX)|f%6o~}{F z)3ShFZ^MK(f}}!p1{O~p5w6g&B#kFsLEDl-<2;kpxm$&EtULAH^?HeY70rgBnBIi$ zetvB&?uBPt9UP9zsXIb8Ga3^}r$YlIk4j6HEtmi$s6c&bE4#RlMqgn>H0grn zExyB5Zg9$xS}$KmLqUR`Moe*%_Z??z(nTdDOBVpS2tY`>tST&6DWyw{fD1kDzQX!BG=fE98rlHXGlAi6Drsea&?8e`qMf$ns-{?U~E#$LdsIK zmt}}JXPY~5|nw*|gGak%U8UMB#25PUhHn0f8bd+jT{_GiV- zjEA+j2s25;rH2M_pL^DNK$E4#I_y&j|DB@0ME(k`!Z(mTjQlqS8B?phtam4Zoke@j z*xa4+Z3x@5a|V!58$}jZQ=mQ6?bbjVuTioiVq&(36Z#no$sbSM51#Ul7@kJ=3QAZD zLj=i<8Ywq6o5YiOB$6a;J>@-#*}*Z}?iCMXe~uMa{3E(XCNB3<<3=YH=&7@ApHn<^ zgl1h@yka za|H60-&)p-JU(6kj^tw`M8k!sU5iYSPGSBW%mWF!<0w;~1u2<*i{cS=z|{(dTyoKX z;K{Hcyb&k9_@s`M&CQ6@k2}5Jd9 zVY}R_%(wyl#O$$fOtK(66h&r7)FCtdZ5#L}f_jQ4UV@U?ICZKRb_<;tI?HBI57wcE zlEYSUhqQ{rBwhx$gfJ%YG4U4>Jx4No=ni9eT7_;0zZQ1zQ)CA}#ddJEyW9^Gh&0fg zBy^==8}^CKqWUqTVH-(+G_!W}Z73Mttc?Jmh-|7FwO10_4j8o+2h8egouVCJNu~VO ze_%x#tlFjGIzUsc+BejbrU@&wy_~c~n$_iW_6>E^h1@lZ#w#(BQIB8%rDWdO?6sE$ zE@@__F4fJ{ufg=u+)Q1@ChAf$R{uUT^+>YglId95sL24<4Kn)NtkgM1>$1^AP0c)q zb)ZzYWTd7NZ=!@WQ}=4tkZPl*V$-=;%T{Xiy_BugWl>eIR;q^Tsp10EWAN@ZxS1iX z)VCy>=&Bs7)KkeyJy2pmR_bf>i6PXA3HS?!@XBbC#;UJXIUeMZsQ)m&7D!*K99!zl zxVdTm*%6*IeP>7I_no0sZmo-SA}NBXKB75Fi9#$}UzR1%R=EcLe-=+~uc7C)ILx(Tpx>DP6y(nfu-0tih3}j zYy+*lGkCyBS=tctHggYx&C4*C=si#C{NmB(4lRE?(>HRUjxk zqtV3-WK1WdOVGaPNl5R)h3l^f>+yKvwB>Y+7VoJ;Dlh0m^{#2ip?5h9(UXUe%NKIh zA{7>{)sxTHtS^8ipUd!Rzi3y2tvC)f2f`x)?#_Yk^7RQHZs;n<#NR%{&e%CswCB%Q zsd1h(#0IL%9E%d(u_oOJj4AZmk{xg+V)FanZ|)%-=ns@_K@sS ziEJC@e=^1+3hlb62$TA==N~B?eNNoe$=RYrF_~J;w1Imlnf+kbjq+zEJK=9BK6n`8 zUnM?C!#vVNt5tYm8Y0me?ahqFb%Q>plFVo+T=|3=-gU=ao#1+x0QWcq-9dI5h}A6E zT;1Q!BsJV&n?Vku@pPG4^`qenRR}pxAw<6iWvKA6aAiI9HcXBBPbr6QoPzUli*h-x zQHc*bL5SPqJ=-nh<)>H=Az3P7+RU8c>U^m7fZcW|r{PfaFzD%r>yqn ziHJ!77ZKttq86quawp&jS>Q))#$jbYhxRBI9S#t2Y>YhVq%^~~OR@Kcj~Ja@i)5uMO1)Y~Xen~2ncY6Qk9*ky7jQ0N|$X|9c0aYy1BsC_#!r(>$LLGJW& z;;a~c8-`yzmI|#W(WG@`KOTRhBXv+?!gr)y(~fj+xg)c?HtERKXx7k?4%`u|p#$OZ z-wS2kfPd%T#y?TT-|s-k$7X|ZC0RAMCtzr*d3eOdU4W=IItZpI#)EC~0OFMJNth*6 zq%oGM_G&V_U;vPRczbw!FAT-^4m|z_y=MUi%e1igK7~__5PZ8d#dkS)l7{b5*c*Ny zzW3p{3iQPyc%Z%?HopchUwb$I6SZJ)U}C*JFVHX8A>4`JJC;fQCl2Dds+j(zql`%) zraI?~kKi3*BoIqO4#x}6&H0e13pq?|1?$(EjsoJ5l_59&}TF>*- z%UX>Db9*0Z2{@^}x8mpqjS1PlC3gc~!;bAk*e#eH(=yVJ z*Ed1>s^&;PS`g-~J6b-Lpr|wsnDMLO^d$ym6Utf`Gq@gz zD^}uSBQ9lQ!jp+TQcS-VMI5Wi0wreVKw+h04)G(;#nt5M@F@sqs1YSDHq_{k8W=4b zP7Y{4TjtD1o@L3XM610LOP0&T`AsMsnB}=`1wa&1kNysY6z*owOtJAY;Q}WNX0t-1 zJ1n{4#Mj!`ERiB*ZoD?33Q4PmS@EX_shjy&{Y|S;1TANe&Bwm*IX&ym)64W+=836i7?WN@gi!{@^k}8eL5?O>VgNQ@U)#se-8^r>+V& z|1r?soErGwylqN^Mc``bgrh7%*qYO6I~Q9Qn$v!n+X{}4(fKhmm7RxhjOy5>>_Paq zwEgA#KR?(#9Xjx5b;q}labHTTa3b^c_H9Xf-nD5p;>$h>BByLi+IC0zpWP-C0w(z5 zV*O(V9YWqQKjH_UnoLvn2&QbEl2e1*%9yx0HGo5@*r>6oAU>|jV2w-_FaDk89>sav zHCc4U3?e>^%L7!shGu*X1$5$pfO8>jQKpJmTAkYy30Ax7Ff5hg?#nQtx|uZEl;ZJ! zNSotr&Y3ocC!Hg0CV)02`wX;cgq7$VXcOQ%Oq(C3F>NNo8yvKemrKV5mju`%tqNWe z&b%5-Pl!w9BrSo*0SilDvqpKj1YX3I@X#f2y7##)fkdn~xMgC=)yh>6$s9*ta=j$H zCQELp25+#oHMc>5&0$Bs%$s!N;r#ct|$>2#J*I zNbTB>t0E=#1Z=oqO+Ast;>2s;?7rB#!QM?t0o68x$=E=(i3mF>c2k|5joGlnmK}|N z>7Jsw!~X!j!>YJ>qy|<^ctU`MD+R#xHeoVc$SEx7hAQwBW=~*93|Fjp5&B*rS{(cn zbp%$lmp>#SQ!dUx9(fkSDA@tNvy0(7+g6#InC2F9qLbW$tOJNEta;D6`hdM5DEWGc zEBsR*le#)ep=WXMGKI4%4BGH`MMMWO+)g2{*(tRMxi|?SiV!z`vPeQ5YDaOGX|+7J zCz?FBYrd&AWCtedClj7XWlZaJOA_W}f~jOoTiU()$5@;o9WJi8FfjV9{)u4c>K(JB z%2c?WcWpfJNv{T1ca+D)LsW@zim|BSjlseC=?t9IeC9qn6Rz;=X3zfq!KTm09Q%Du ze}49+vFD~6X{0cSTc@B~+MXLdVj;yBfI&H3NZCY3a(GaMlnkMPxVeRk;Vu|0-X*5* zMhFsi9^5Tn!*fb`YOFg3>4RbdvG^Bv5!0pTrQGu;Yw)M+358FYp6HU=REnpz^S(vo zmbvvrO%Yw&8w>`90+LNR1J!tL{8^*6_zg?S>W!s$16!T+73 zs+?l5oz!7Cg=5knIL~|sh8A_PZVXXqE6o;@J`RYjRy+}=Mx@JVBql^?A!w=+o0b{x zjs>^LC3!*cBbA|w6{Pc;+cm~2u`?^p$ug`0h?KHJ$?Asd?9obAKLxi47vVm4zebC4 zO}ClKdH%5xz6k4v$O^tdN`CRzT?#_uD0aro3W~s;)s5;P<1#9fk*pjxmuTyTh?%km zoQp)?U=1LtLQIqplNn-XB`cXACaM4l(@12>fJ=*&rf;@WL4J+h;_xLJY%OpI%@H+1 zwbDtsj}Y9X7Q(EVNw*N;P0M5Ij@xgyNRj(=3>l5cRzw7scWO!3BEvB;7qZpIK>i^t z3meIBQRS?+yaT-zvp)gXY{oc!Z7sO!*w|qmE}U|*m{vfk4^VZaZR6u!5EQh)}aiaBz~s6)zD4|?Jv*cSrja^UMs{^ zO0}oS;_@mGGsl9!B;@7qixT$$Fz)-%t!P&dCfGXlzGsjdWshxPpo&x?Mv|2ser#3gf1dkEgIw;dvIZsS+l+Xk`)7 zrXadCEa&iEviQfp=Q-Kg`tUn|=qXP;`X>I;dXtw{XLmshZ6}L2pcIgW-Wphpi@e9p z(;{4R@TCXtyEcG*{Uo9Y@hLx9H+*2-XdZu&2^~PVGeijeXzM8py?xI-eygy0>TomE zWzCQDPO10id{b%v)-)~9I;Gs3Q(tNS#*|JmS{rcLIX`M5L|VO*=`>YrvJr(5;KOZJ zDgy1Hs$+`cn9{nz@$1$)OPj6N^R#Q$^A6}S_58i}!}fetu;-$sp68%rAw7?5((_iW z{!2ZFK%FYyLqyke?D<4&9ukoLPaei$Njb&!G>xWMu%;l*S}O=1zs+~0SzUdQgd~vS zQVt|lrhh0>!2(s86mQ*#`=&5=K7m8!4F8-+h$6ZujQz_@Hf1NkmMJG1XK$vc=I#U? zF0F|bbcBza`p|#nS_gAiwpury7l_MEn-b@0gM)ADMq6(2UiWuNTR&_FUip2W)D*z_ z*RTBEnFTfiCiUA_e%oRd{##dm9|M84E59=#daftk0at$e@21_OyB~}aeC4+_wy&FT zG=^vE#_=(@Fr0?4x&MP}zdbMxA=iE%{~KebUi%%NhgGj$`~3`7Y|?7Hkb-pW_p1x( z2vEI{oK-;DG43mHnwYJQT^0h9~O+3=dd6uVGfa z`cjna%s4ozzyV`sKLiSOiZXB!UlxwK;tCfHF!PDaTzpUDk5BVQ93tW4W#+P5^TwIz zV{iUQQQLi43D|n$(YgU`rQ%I4vN9@}3EHbZc;(sN8*kgeilCY@JoU-JjTx?(=C@Jy z``xzbI9owf2}DSTB{Cm3_PEg_80=g~E_w-hp@Q0tx4e5vz_)hNL~#Rbm!w+^mL`g1 zOfO^=+CLRph)#>)?_$%D-^Npc6P@YGFM#7fb{m*FKD`v13h@TD=VsNz0Rsr!R>V8E z(ud{vFnMa;>Rg1{$&3>|Jc4JzgC*piEs0W6Z6$?=5rs!M#gzM*wq-YfZbaSbM7;4% zF_PcMm)*$kFO%;lIK@T$9u!TVo~x*o94CK)dOGp?!O0F(b1M7Aty{QP@DcGZNZ>w+ zO%D;;pU#K=k1pciT-5QKYP)#40EX<@8kuH~bJx*#D{_Pc;G&iuup;OKWb_Vvg7r(;s)b>ROQO&b z?)W6P?ZY!4B3b%*+fV99t033r3AN^Lc$Lqpw1Y0t2N-NcDbt;L59vS z6>TA7@ZaBNWfHn^Y*cM#QiB`z8%t(>WVWzX(82#ttaOd`+;#*vy=jw*Q{0QV3B;Oo zH(=^KuD8%SsuterbV!S{y`NHc;_JA7Zo>gLNh^wZ@XQ@}O)(ErcHl?YoBLzoS!#%RaNah=&CVjfV- z+WqrxJ@68{2OMW^o5x8gh#PRU)@)gNodH1ing4G9tGS57Lq33P#RElv{yzG|JtYhe|}b zlT|Gtw+|kj2FiU>ZbWYP2o*VMSwrp%K$XZvYRJ(P1#)lUJXNRMXLyjvt;38_hU_BB zxeUlv-L4{cLyO4m4@GWx2yz28}vW8q69l0b8xvL~{hdUdPv*^hEy^N4E z)0|t4cC!@3&}61k_raS#NAD7VId+y?UMpkckLMdZ4KB6mp$a)}yp)Ut-$U>&(@HRN0b zzDmRzksGKZcLs}E8M2Qkx6puGXAQa6D)2q*u>J#X*9KOy1ne|OInOYaa@4Yh+@Aqe zQf}iLD&;;Q@KquoYK>00Wq6R3yNQvDBg(BcAh+-qR3gfq*CKN3Ly`Lq94m<2SC^~E zQOg=~r%1D63DHGEZn#A5Z_vec2P>kY__)sXuHQYk!gnW4zN1%?@< z+`6GE<)~#1xpF|2l&eFyHdwvug-Ig!cn1UJw%|cht^^zh!Hx*Ibq3^KxCyUmSckWW zT>nty5<-x(YRFN`8gjjK0l7PG zL?xn}sYT>Y!-`>8t%t#}g2?@Su!b<(3fmD$&!3+!Z=<9T~ZD zLN3pM+&~SvN=T*f$h{tl+#0acAmyG;Q7K0)YskG0sFHGf)~U#S2c81t9&B%*+&Vl+ z%FU;*LmCLVWd`Jy&A@9K)=OGM?*35ZVndKSgDaIh=cr{3x%N78gEZtON#y ztU7X(+EN*^oshfBfZT~36}cslO5rJI4@E8?>@-NZn>6I8Weqtupi0U;@rp{hw+MWd z7;i-GK0HXujb`Ld6LQN9$X%x)_Z=zuVa1m%6uG~FV+E1hK2W6`wX7jm3#byghL=_3 z5+ri3z%;8X2yz!|$WhB0a%nnp z*K5cvAn;Y9oe{ZVI&#sBTmmuSQUh{{8gg%uk{_0GyF!tB9PBhmxsqg+a@4Yh+%teG zDfjM6D&-D?rvSNoVcOLx_cR_PsrQ8|9E>qL+NiN}Ln1nhJTgh)T9kJw;V|1p3!y>Y$ zovmX1O{jR7R#n)F2w)wTi4uq6Kn)6DO(tPvd6Oybs$%-VtR_C2LOl@=q6}bZRbFnP z%3Zgj%5hoc8d(LDghzQ*OyAq^Dg70=kjo%&GsxwfzvSJ5FMXPP@gP+KZY!YcF7`r? zq3>|p5WnIwzp)8faGYN75PheD`&lx*~*FB)L54V84Yq%W84i%C-4gap;5*cMaP0|Uwj2_h5mM!{50s$?gtDLIhjgS&CVM@FdEP;sC zN8tO>w2k#4CAKvwaolc+z<}ui{1D%JRg)t8c_|HZ{=H2C_)W_e_l7H7Lqk6zOzDhp zrOnj#(59skO0Yw?(&MOYOPJFC#PMyD&a0FC)T}0WgH)TsmF9WAD@R}m0abb4CA~Q`LgCji=_j>QwuE0jCjwUSYOVOw1zp+cn*qDrsw4?c6B;h|Xk6@n=OK6DMwhjTp=zmFmDHKm@tV?e*#O zzBk?@4I{8AJN$FHsRFqYm7F6=LA~OrgR6xF#~nULz29udVT8$fUzf(A6UF^F{)cmE zMg(O)I(<1coDgW8JyG0*4`>OQ>wPh}?J5GXU`y<-fHU*pu?6S%7?VJTXFiC=8Y5%1 z82utOWy1+{2`uGNC6rL=y0sh#l5USd_^pSXzgBd@M2F86JZR4r1F|3d zHvYgp=NOP2aM(_|#7jL)vZG6%+%qA3&QHz3b2je)9xxV-@%9M5FEVd?GEXbiU7G%F*EXWHc=~rxbuMfRq zi-txlMjZ8=<$5s4HNWqctqcaa0*XQ~7-WyT&|f_mB+@VIksLu{@-z(z21#`1mpB5M zia~+X^a?C=IJ_x0QajYNp$Yn`27}yiCmrEv!62Kp!{;R{&`t*0!4hLy@^#rJ!64Ux zlzh#0o!>ltO z*4NCbS3}p#k5NQGG}Gdm`A{qIA6_$~U;AIInXlpO@Sj*SQ*+L~W*#J`igQ>qRTs6AQ0gY=P;O`nC0m6u zfT7$__6YT5i3;Ta`=#vjU9SAiq-bOcC z5OM|Q|0d4M=65U?IY5D~U*|_%ukJo3*5i~t)8fm7u8b`KP zWL!%AuIb`g2>6P86~nLbKy(O;;dTT%3X5UYD=lOA&Q%5sc^CA0pk)ku8ZmtK5{Y3W zG#47Fa-w0phM|l>dkv^}RsJ~9SHn$>sM`mw2VyABZg`}Isz|_@8=+`v!zC*0&}%{? z>pq84G&Alu!dpXX6Hz1-UfItoEsXFgapJ-7DzB8CmhfobCMGwBH%NuoT7}0kb_a*T z(;^0sZvu}a`DSbIvH=er8;89E&4woZ`T$?^W2TAcewB1&IJ@v*=$8hk?x)axF`RF4 zSi=4K_6mkmgk47%I5(?sh8yAB8XnHPaBv>d;5;PZ+!($;r|>mDYMR)4+R&fVcnH%U zTR1p9G&nsZoYmp`^Oy=J-w0<}csOej--y?SF{1MZ9F;KLHjHPw%?sb3OI0|LMmYV# z!$}VZ=V}ek)e=rw`2K9eSEAcfzYyI-*EYc+ zjc~YG!{O$$;ZT{`*CYlr65E?2u?ba)5Pv*nAjCU(2t$ZH--jW@Asm)4Ar57>KnU9O z6CoaA9EQPU)PxX2R2^zB3=oGZh_nGp`oT^gLbB%E5X z)G%=B@Ri_{K{p_Y!JO_3JcQ}b@$bU)$E?9IOE~+&_h+68$7zIfe|R{LgoCpJ$1=>>N=hT>O*lW{HL@wA1<-7~x@UAV&|Or}KR~8auOBBq)lCJh zN4UQN5$^4f`~v_SdSJbbaF09bablDPdK5q-oirlcd*Q~Lb4+}5G(;OL6R)8}e)Kf) zkP+5;QYMT#rv_`=H_c$}#bF0`bMM$Duu7Z48mq$U!m!}BO#K?C!cz5%$>4q0>mr}oSC9KUN7qDnF5q+Mmy&0Zd3k)8wG^OQcu^T0+e=kCRpcTO|Ye<<04x#3D49Y#sp!K9a)8Wd2^W8sW1l-OysZpUOe|H)N7n;xNKAXSDQsNnnIrE zWiU}9QyOy2!mSoJCtCY6ErIB=@wg8=b4EqpG83W_pC%ezOZXz%9&T0P{_>P=6zo37 zCWGB?nbio}n`61}iG}#lG}!%*alC;!niYfXTQLse8=;bk0Uw|%Y$6)}C4RAq$WI@A z_ChfqYYstj{r1&PasMi+mWMCuZ9v@NLWD;OHB7;E#Xoj{IBfd43_EBaCpgoCE##Q zH_So=9ClMg*i=TveTUwe>Ip{jHtf>KI}YSk0}h`HX=P~LXNJnSvmZT89d`ij&ym()``2hs0kh#-MRHwc{;_%2CO+ zkoYjnz;Np|S&P@;7eSmPAr3Rf96o#%4xSWVREDU-fg!R+qD1*ajyk+lMjf86M;*RK zr`K|{LQ7Ll$LgILy;4ChHR>?p;u~h278m~+j*E}Dx${+suRX;?dZDlYk*vp3T>Q6a zfw~5WU-m?VgvLj>*<^(SuTymVx_|}I@%d2($X~_*@|UY|jK^RJ5ecs0=B>pz7}f*I z9=K8`!Pl;?dY`rjUkht7c57OY{N00j3I}5u6N42$KS_uO;|3Q8tA8b<83!Y*-x2%< z?xe=bpDUXMk}u1q#v0=p4-HnSkh?(EMGnNuUz|VrhVU$iA@cgeyCywNV zR4k#=X=#Nfow5!!lTHUl1*Ox$5gF8|9k1Qku<7vkWPE77;=MjGXI$fU=1god|Ac` zwy8>+VCN{Ei01!c>2xAf8=WT7X(4(Qlukb;YtpIDpSXAbN7CuN4hHG;^b9h#;N`rK|{)6Vy>G{jf zT{@L6<8FpXr*uGVE}a}`l~8_=Yq)+>I-MG4oQ{{iuhA=1IvGgQOgbGHAR*c$#4yq+ zXUBg)I=z95kF=zW(h0}+8VQWjsZa2AsB}sOs#vB?q|;PxIVhd}nW4AZOgilhehW&c z{r$C-5ht4pkxt8lRf5v#MO2|-I`A0vszvFvnLh_nn}D{0y2L{8>QL#Vj*}*x(gEdc z(#h3cN~gX5B!(5|NoDYM6+#2=& zSPCD7(z(z_-r_;9l(b-I#1>G#ujbx+hCbxG=! zI`dYN)G5@ZPG>@sqz=n(WivXMP%^f2|8i z>~bb4G_i{ZgXZIHk&pLSa>F9xCA3>KeRWN+y;8RW+<>yCKre-p^JocQD!u|$ITsIa%6!FC%5&Q~xInCsnP1jhN#V1vFo{nr_@+`H z!$ld&T5%7p#Ww*CV%*EbGkV9AbbSJsI>kHXasqdpJx$@nan!+7KXqZTrIDpkfWoL! zhB8}8A&orCJ}#?FS+8)?4t;;Ng7d)KpzhCBP#%~}WVNv=ocx9;LM0HO7h5#$x+|Ev z>Iax4mDR?maPzT(M1SBwIeiymteK4eHL9GWvUi+1V6WCO4A4c>GnFS? zD5db2pwt8z#NUqlmlUrJXmXaA6_h2WA4Rw@zOyXsEGu%Nn0MsB1~wrjTHrOzcSO5e zLCZxv*A5UExxjpyZwnsb`F6KH0Ik)2LOx;uhQFr`fL#v2ITIfO(i0&*>no>qJcDsP zDM?UR;4x9WNYaB5g^shw@R}ivj`|s+8?+TLA7(^30gb!6QAdK4kT!T1h=dA=P;Mo- z$KywF9gu)ii~PoYS3z5gU&llxpe_k?jKW)UofyB4)H!{rOe^C-TA9{rr$%!nh)}Mi zw$GCiPEOP0PEXF!tMnFML5nJb26+#FF%pCBID3dBZyL{SNDd^#RGqm2s zL~cANYCa#K)8>n&d$jk1-|F-|+DCn~mVs)NY;ByJi#mCh1S^)xof;<5Q>aMY+oN!= z_tNxH-Xf&b+%wu@dyNYOQ5=QVg2esZZ0@Yl$Kx@f#HSkNdMuL!=DqVamv{~w9QwVwsK66}>{6^)xC zFoD&XtBS^Ny+n$ZMB}Vf<7{3Hw`Vz<&q*}W$p5!Q<0r$k`O!o)-heKKh{l==4J^PU zd;9;4XnZ&}R5afBFi*^&X#5W5*C0FTS*8uZZ;Hky#FxB$`vr1ZpL~eGoRetW%|+e1 zXq*9rnv2F>hk}z(ipF2xX-PDW1`@v^8mCL3O-17uu$`*AOM__qE>U)>x9rsK5{*mI zVvxM$xH{H?XbekEw+i{?VkT!((fByO4i$|(gIzF+MoaK@sAy~t5Mf2*P;NXZcPe3z zRcX^qG`<}C78H$TJ++p>=R^_DyQZS?-eAR`Xk3hn#2ZVwj;m$S__%CT&&<{ftp$la z88RePG^#Y#L}MqwId{=G(#)c9#eRs!{DiX0=&sBgc!0Y)qI>)8M{sQwchRKWyAr44 zbXtZ(Lcik(g#(#zDHdW*UxWZZy4Pef6`s7vJw|cYXHbxwC}k)dd3*cq2N9K%q5vBM zkT}J~pJMJi>M2fVF#6?DFdDRy=$@=aIWG2~JEIGcLIVEnI0Nl47}a7L-R<+o%j80z z0b9R$^r|tEvrt=cAH%0Df#hH#H7V2x1@>#N%o>Ixxu>*7hDTA#i#YLN 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 NvWu}CVp~ Date: Sun, 10 Jun 2018 17:58:04 -0700 Subject: [PATCH 085/100] Fix versioning --- tools/DefaultVersions.props | 7 ++++++- tools/Version.props | 5 ----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/DefaultVersions.props b/tools/DefaultVersions.props index 59e0b728dfc..b2b9e03ad69 100644 --- a/tools/DefaultVersions.props +++ b/tools/DefaultVersions.props @@ -11,8 +11,13 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - + + false + true + + + diff --git a/tools/Version.props b/tools/Version.props index 7820f0c76e0..9b09d5c94ab 100644 --- a/tools/Version.props +++ b/tools/Version.props @@ -19,11 +19,6 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - false - true - - From 6bac833e9f8ee6ad3a6b475d20cbd7ac1b6ba2d7 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Sun, 10 Jun 2018 18:13:54 -0700 Subject: [PATCH 086/100] Update to RT 1.0.0-beta2-63011-02 --- tools/DefaultVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/DefaultVersions.props b/tools/DefaultVersions.props index b2b9e03ad69..ae996b6383a 100644 --- a/tools/DefaultVersions.props +++ b/tools/DefaultVersions.props @@ -48,12 +48,12 @@ $(MicrosoftNetCompilersVersion) 15.6.0-dev + 1.0.0-alpha-003 15.1.192 1.1.0-beta1-62506-02 - 1.0.0-beta-62327-02 - 1.0.0-alpha-003 - 1.0.0-beta2-62922-01 - 1.0.0-beta-62414-01 + 1.0.0-beta2-63011-02 + 1.0.0-beta2-63011-02 + 1.0.0-beta2-63011-02 0.2.0-beta-63004-01 2.3.1 $(XUnitVersion) From 4d15aa27287bece57ec77fcae96dc03efe2ee689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Sun, 10 Jun 2018 23:37:58 -0700 Subject: [PATCH 087/100] Allow pre-release dependencies (#274) * Allow pre-release dependencies --- tools/BuildReleasePackages.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/BuildReleasePackages.targets b/tools/BuildReleasePackages.targets index 8aa20205aac..94b118b1bb7 100644 --- a/tools/BuildReleasePackages.targets +++ b/tools/BuildReleasePackages.targets @@ -1,4 +1,4 @@ - + @@ -20,7 +20,7 @@ <_BuiltPackages Include="$(PackageOutputPath)*.nupkg" /> - + From d2178c3e058470b7b0285c30f5434b5c289e35db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Mon, 11 Jun 2018 09:29:33 -0700 Subject: [PATCH 088/100] Update RT versions to 1.0.0-beta2-63011-06 --- tools/DefaultVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/DefaultVersions.props b/tools/DefaultVersions.props index ae996b6383a..90af6672b11 100644 --- a/tools/DefaultVersions.props +++ b/tools/DefaultVersions.props @@ -51,9 +51,9 @@ 1.0.0-alpha-003 15.1.192 1.1.0-beta1-62506-02 - 1.0.0-beta2-63011-02 - 1.0.0-beta2-63011-02 - 1.0.0-beta2-63011-02 + 1.0.0-beta2-63011-06 + 1.0.0-beta2-63011-06 + 1.0.0-beta2-63011-06 0.2.0-beta-63004-01 2.3.1 $(XUnitVersion) From 231df738c044c074ead47c276464764431705ba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Mon, 11 Jun 2018 10:10:04 -0700 Subject: [PATCH 089/100] Fix parameter name --- tools/BuildReleasePackages.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/BuildReleasePackages.targets b/tools/BuildReleasePackages.targets index 94b118b1bb7..d52ad87e012 100644 --- a/tools/BuildReleasePackages.targets +++ b/tools/BuildReleasePackages.targets @@ -20,8 +20,8 @@ <_BuiltPackages Include="$(PackageOutputPath)*.nupkg" /> - + - \ No newline at end of file + From 6371b2259b57b8084f10fedc08da2ed20c638a67 Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Mon, 25 Jun 2018 17:14:24 -0700 Subject: [PATCH 090/100] Move BuildTasks into RepoToolset --- src/DownloadFile.cs | 123 ++++++++++ src/GenerateResxSource.cs | 227 ++++++++++++++++++ ...RewriteOrchestratedBuildPackageVersions.cs | 45 ++++ src/RoslynTools.BuildTasks.csproj | 21 ++ src/RoslynTools.BuildTasks.nuspec | 23 ++ 5 files changed, 439 insertions(+) create mode 100644 src/DownloadFile.cs create mode 100644 src/GenerateResxSource.cs create mode 100644 src/RewriteOrchestratedBuildPackageVersions.cs create mode 100644 src/RoslynTools.BuildTasks.csproj create mode 100644 src/RoslynTools.BuildTasks.nuspec diff --git a/src/DownloadFile.cs b/src/DownloadFile.cs new file mode 100644 index 00000000000..24e0d937120 --- /dev/null +++ b/src/DownloadFile.cs @@ -0,0 +1,123 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.IO; +using System.Linq; +using System.Net.Http; +using System.Threading; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; +using Tasks = System.Threading.Tasks; + +namespace RoslynTools +{ + public class DownloadFile : Task, ICancelableTask + { + [Required] + public string Uri { get; set; } + + [Required] + public string DestinationPath { get; set; } + + public bool Overwrite { get; set; } + + ///

+ /// Delay between any necessary retries. + /// + public int RetryDelayMilliseconds { get; set; } = 1000; + + public int Retries { get; set; } = 3; + + private readonly CancellationTokenSource _cancellationSource = new CancellationTokenSource(); + + public void Cancel() => _cancellationSource.Cancel(); + + public override bool Execute() + { + if (Retries < 0) + { + Log.LogError($"Invalid task parameter value: Retries={Retries}"); + return false; + } + + if (RetryDelayMilliseconds < 0) + { + Log.LogError($"Invalid task parameter value: RetryDelayMilliseconds={RetryDelayMilliseconds}"); + return false; + } + + if (File.Exists(DestinationPath) && !Overwrite) + { + return true; + } + + Directory.CreateDirectory(Path.GetDirectoryName(DestinationPath)); + + const string FileUriProtocol = "file://"; + + if (Uri.StartsWith(FileUriProtocol, StringComparison.Ordinal)) + { + var filePath = Uri.Substring(FileUriProtocol.Length); + Log.LogMessage($"Copying '{filePath}' to '{DestinationPath}'"); + File.Copy(filePath, DestinationPath, overwrite: true); + return true; + } + + Log.LogMessage($"Downloading '{Uri}' to '{DestinationPath}'"); + + using (var httpClient = new HttpClient()) + { + try + { + return DownloadAsync(httpClient).Result; + } + catch (AggregateException e) + { + if (e.InnerException is OperationCanceledException) + { + Log.LogError($"Download of '{Uri}' to '{DestinationPath}' has been cancelled."); + return false; + } + + throw e.InnerException; + } + } + } + + private async Tasks.Task DownloadAsync(HttpClient client) + { + int attempt = 0; + + while (true) + { + try + { + var stream = await client.GetStreamAsync(Uri).ConfigureAwait(false); + + using (var outStream = File.Create(DestinationPath)) + { + await stream.CopyToAsync(outStream, bufferSize: 81920, cancellationToken: _cancellationSource.Token).ConfigureAwait(false); + } + + return true; + } + catch (Exception e) when (e is HttpRequestException || e is IOException && !(e is DirectoryNotFoundException || e is PathTooLongException)) + { + attempt++; + + if (attempt > Retries) + { + Log.LogError($"Failed to download '{Uri}' to '{DestinationPath}'"); + return false; + } + + Log.LogWarning($"Retrying download of '{Uri}' to '{DestinationPath}' due to failure: '{e.Message}' ({attempt}/{Retries})"); + + await Tasks.Task.Delay(RetryDelayMilliseconds).ConfigureAwait(false); + continue; + } + } + } + } +} + diff --git a/src/GenerateResxSource.cs b/src/GenerateResxSource.cs new file mode 100644 index 00000000000..9dc44d7f7af --- /dev/null +++ b/src/GenerateResxSource.cs @@ -0,0 +1,227 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Xml.Linq; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; + +namespace RoslynTools +{ + public sealed class GenerateResxSource : Task + { + private const int maxDocCommentLength = 256; + + [Required] + public string Language { get; set; } + + [Required] + public string ResourceFile { get; set; } + + [Required] + public string ResourceName { get; set; } + + [Required] + public string OutputPath { get; set; } + + private enum Lang + { + CSharp, + VisualBasic, + } + + private bool IsLetterChar(UnicodeCategory cat) + { + // letter-character: + // A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl + // A Unicode-escape-sequence representing a character of classes Lu, Ll, Lt, Lm, Lo, or Nl + + switch (cat) + { + case UnicodeCategory.UppercaseLetter: + case UnicodeCategory.LowercaseLetter: + case UnicodeCategory.TitlecaseLetter: + case UnicodeCategory.ModifierLetter: + case UnicodeCategory.OtherLetter: + case UnicodeCategory.LetterNumber: + return true; + } + + return false; + } + + public override bool Execute() + { + string namespaceName; + string className; + + if (string.IsNullOrEmpty(ResourceName)) + { + Log.LogError("ResourceName not specified"); + return false; + } + + string[] nameParts = ResourceName.Split('.'); + if (nameParts.Length == 1) + { + namespaceName = null; + className = nameParts[0]; + } + else + { + namespaceName = string.Join(".", nameParts, 0, nameParts.Length - 1); + className = nameParts.Last(); + } + + string docCommentStart; + Lang language; + switch (Language.ToUpperInvariant()) + { + case "C#": + language = Lang.CSharp; + docCommentStart = "///"; + break; + + case "VB": + language = Lang.VisualBasic; + docCommentStart = "'''"; + break; + + default: + Log.LogError($"GenerateResxSource doesn't support language: '{Language}'"); + return false; + } + + string classIndent = (namespaceName == null ? "" : " "); + string memberIndent = classIndent + " "; + + var strings = new StringBuilder(); + foreach (var node in XDocument.Load(ResourceFile).Descendants("data")) + { + string name = node.Attribute("name")?.Value; + if (name == null) + { + Log.LogError("Missing resource name"); + return false; + } + + string value = node.Elements("value").FirstOrDefault()?.Value.Trim(); + if (value == null) + { + Log.LogError($"Missing resource value: '{name}'"); + return false; + } + + if (name == "") + { + Log.LogError($"Empty resource name"); + return false; + } + + if (value.Length > maxDocCommentLength) + { + value = value.Substring(0, maxDocCommentLength) + " ..."; + } + + string escapedTrimmedValue = new XElement("summary", value).ToString(); + + foreach (var line in escapedTrimmedValue.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None)) + { + strings.Append($"{memberIndent}{docCommentStart} "); + strings.AppendLine(line); + } + + string identifier = IsLetterChar(CharUnicodeInfo.GetUnicodeCategory(name[0])) ? name : "_" + name; + + switch (language) + { + case Lang.CSharp: + strings.AppendLine($"{memberIndent}internal static string {identifier} => ResourceManager.GetString(\"{name}\", Culture);"); + break; + + case Lang.VisualBasic: + strings.AppendLine($"{memberIndent}Friend Shared ReadOnly Property {identifier} As String"); + strings.AppendLine($"{memberIndent} Get"); + strings.AppendLine($"{memberIndent} Return ResourceManager.GetString(\"{name}\", Culture)"); + strings.AppendLine($"{memberIndent} End Get"); + strings.AppendLine($"{memberIndent}End Property"); + break; + + default: + throw new InvalidOperationException(); + } + } + + string namespaceStart, namespaceEnd; + if (namespaceName == null) + { + namespaceStart = namespaceEnd = null; + } + else + { + switch (language) + { + case Lang.CSharp: + namespaceStart = $@"namespace {namespaceName}{Environment.NewLine}{{"; + namespaceEnd = "}"; + break; + + case Lang.VisualBasic: + namespaceStart = $"Namespace {namespaceName}"; + namespaceEnd = "End Namespace"; + break; + + default: + throw new InvalidOperationException(); + } + } + + string result; + switch (language) + { + case Lang.CSharp: + result = $@"// +using System.Reflection; + +{namespaceStart} +{classIndent}internal static class {className} +{classIndent}{{ +{memberIndent}internal static global::System.Globalization.CultureInfo Culture {{ get; set; }} +{memberIndent}internal static global::System.Resources.ResourceManager ResourceManager {{ get; }} = new global::System.Resources.ResourceManager(""{ResourceName}"", typeof({className}).GetTypeInfo().Assembly); + +{strings} +{classIndent}}} +{namespaceEnd} +"; + break; + + case Lang.VisualBasic: + result = $@"' +Imports System.Reflection + +{namespaceStart} +{classIndent}Friend Class {className} +{memberIndent}Private Sub New +{memberIndent}End Sub +{memberIndent} +{memberIndent}Friend Shared Property Culture As Global.System.Globalization.CultureInfo +{memberIndent}Friend Shared ReadOnly Property ResourceManager As New Global.System.Resources.ResourceManager(""{ResourceName}"", GetType({className}).GetTypeInfo().Assembly) + +{strings} +{classIndent}End Class +{namespaceEnd} +"; + break; + + default: + throw new InvalidOperationException(); + } + + File.WriteAllText(OutputPath, result); + return true; + } + } +} diff --git a/src/RewriteOrchestratedBuildPackageVersions.cs b/src/RewriteOrchestratedBuildPackageVersions.cs new file mode 100644 index 00000000000..c78bfa7c6c8 --- /dev/null +++ b/src/RewriteOrchestratedBuildPackageVersions.cs @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.IO; +using System.Net.Http; +using System.Xml.Linq; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; + +namespace RoslynTools +{ + public class RewriteOrchestratedBuildPackageVersions : Task + { + [Required] + public string File { get; set; } + + public bool Overwrite { get; set; } + + public override bool Execute() + { + var xml = XDocument.Load(File); + + foreach (var node in xml.Descendants()) + { + const string oldSuffix = "PackageVersion"; + const string newSuffix = "Version"; + + string name = node.Name.LocalName; + if (name.EndsWith(oldSuffix)) + { + node.Name = XName.Get(name.Substring(0, name.Length - oldSuffix.Length) + newSuffix, node.Name.NamespaceName); + } + } + + using (var stream = System.IO.File.OpenWrite(File)) + { + stream.SetLength(0); + xml.Save(stream); + } + + return true; + } + } +} + diff --git a/src/RoslynTools.BuildTasks.csproj b/src/RoslynTools.BuildTasks.csproj new file mode 100644 index 00000000000..d8fc7d87049 --- /dev/null +++ b/src/RoslynTools.BuildTasks.csproj @@ -0,0 +1,21 @@ + + + net461;netcoreapp2.0 + + false + + + true + RoslynTools.BuildTasks.nuspec + $(OutputPath) + + Common toolset build tasks + Roslyn build tasks + true + + + + + + + diff --git a/src/RoslynTools.BuildTasks.nuspec b/src/RoslynTools.BuildTasks.nuspec new file mode 100644 index 00000000000..08a0e59aee8 --- /dev/null +++ b/src/RoslynTools.BuildTasks.nuspec @@ -0,0 +1,23 @@ + + + + $PackageId$ + $Description$ + $Version$ + $Authors$ + $RequireLicenseAcceptance$ + $PackageLicenseUrl$ + $PackageProjectUrl$ + $Copyright$ + $DevelopmentDependency$ + $PackageTags$ + $Serviceable$ + + + + + + + + + From e22cde0859bb2a00a065387ec5501411b812241e Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Mon, 25 Jun 2018 17:17:54 -0700 Subject: [PATCH 091/100] Move RoslynTools and BuildTasks into subdirectory --- .../RoslynTools.RepoToolset.csproj | 0 .../RoslynTools.RepoToolset.nuspec | 0 .../Microsoft.DotNet.Arcade.Sdk/sdk}/Sdk.props | 0 .../Microsoft.DotNet.Arcade.Sdk/sdk}/Sdk.targets | 0 .../src}/DownloadFile.cs | 0 .../src}/GenerateResxSource.cs | 0 .../src}/RewriteOrchestratedBuildPackageVersions.cs | 0 .../src}/RoslynTools.BuildTasks.csproj | 0 .../src}/RoslynTools.BuildTasks.nuspec | 0 .../tools}/35MSSharedLib1024.snk | Bin .../tools}/AfterSigning.proj | 0 .../tools}/AfterSolutionBuild.proj | 0 .../Microsoft.DotNet.Arcade.Sdk/tools}/AspNet.snk | Bin .../Microsoft.DotNet.Arcade.Sdk/tools}/Build.proj | 0 .../tools}/BuildReleasePackages.targets | 0 .../tools}/BuildStep.props | 0 .../tools}/BuildTasks.props | 0 .../tools}/Compiler.props | 0 .../tools}/DefaultVersions.props | 0 .../tools}/Directory.Build.props | 0 .../tools}/Directory.Build.targets | 0 .../tools}/Empty.targets | 0 .../tools}/GenerateInternalsVisibleTo.targets | 0 .../tools}/GenerateResxSource.targets | 0 .../tools}/Imports.targets | 0 .../tools}/Localization.props | 0 .../Microsoft.DotNet.Arcade.Sdk/tools}/MSFT.snk | Bin .../tools}/OptimizationData.targets | 0 .../tools}/Performance.targets | 0 .../tools}/ProjectDefaults.props | 0 .../tools}/ProjectLayout.props | 0 .../Microsoft.DotNet.Arcade.Sdk/tools}/Publish.proj | 0 .../tools}/RepoLayout.props | 0 .../tools}/RepositoryInfo.targets | 0 .../tools}/Settings.props | 0 .../Microsoft.DotNet.Arcade.Sdk/tools}/Sign.proj | 0 .../tools}/StrongName.props | 0 .../tools}/StrongName.targets | 0 .../tools}/SymStore.targets | 0 .../Microsoft.DotNet.Arcade.Sdk/tools}/Tests.props | 0 .../Microsoft.DotNet.Arcade.Sdk/tools}/Tools.proj | 0 .../tools}/Version.props | 0 .../tools}/Version.targets | 0 .../tools}/VisualStudio.DesignTimeBuild.targets | 0 .../tools}/VisualStudio.ImportSdk.targets | 0 .../tools}/VisualStudio.InsertionManifests.targets | 0 .../tools}/VisualStudio.SetupPackage.swixproj | 0 .../tools}/VisualStudio.SetupPackage.vsmanproj | 0 .../tools}/VisualStudio.props | 0 .../tools}/VisualStudio.targets | 0 .../tools}/Workarounds.targets | 0 .../Microsoft.DotNet.Arcade.Sdk/tools}/XUnit.props | 0 .../tools}/XUnit.targets | 0 .../Microsoft.DotNet.Arcade.Sdk/tools}/vswhere.exe | Bin 54 files changed, 0 insertions(+), 0 deletions(-) rename RoslynTools.RepoToolset.csproj => src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.csproj (100%) rename RoslynTools.RepoToolset.nuspec => src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.nuspec (100%) rename {sdk => src/Microsoft.DotNet.Arcade.Sdk/sdk}/Sdk.props (100%) rename {sdk => src/Microsoft.DotNet.Arcade.Sdk/sdk}/Sdk.targets (100%) rename src/{ => Microsoft.DotNet.Arcade.Sdk/src}/DownloadFile.cs (100%) rename src/{ => Microsoft.DotNet.Arcade.Sdk/src}/GenerateResxSource.cs (100%) rename src/{ => Microsoft.DotNet.Arcade.Sdk/src}/RewriteOrchestratedBuildPackageVersions.cs (100%) rename src/{ => Microsoft.DotNet.Arcade.Sdk/src}/RoslynTools.BuildTasks.csproj (100%) rename src/{ => Microsoft.DotNet.Arcade.Sdk/src}/RoslynTools.BuildTasks.nuspec (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/35MSSharedLib1024.snk (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/AfterSigning.proj (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/AfterSolutionBuild.proj (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/AspNet.snk (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Build.proj (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/BuildReleasePackages.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/BuildStep.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/BuildTasks.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Compiler.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/DefaultVersions.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Directory.Build.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Directory.Build.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Empty.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/GenerateInternalsVisibleTo.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/GenerateResxSource.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Imports.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Localization.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/MSFT.snk (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/OptimizationData.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Performance.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/ProjectDefaults.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/ProjectLayout.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Publish.proj (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/RepoLayout.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/RepositoryInfo.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Settings.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Sign.proj (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/StrongName.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/StrongName.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/SymStore.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Tests.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Tools.proj (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Version.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Version.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/VisualStudio.DesignTimeBuild.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/VisualStudio.ImportSdk.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/VisualStudio.InsertionManifests.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/VisualStudio.SetupPackage.swixproj (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/VisualStudio.SetupPackage.vsmanproj (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/VisualStudio.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/VisualStudio.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/Workarounds.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/XUnit.props (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/XUnit.targets (100%) rename {tools => src/Microsoft.DotNet.Arcade.Sdk/tools}/vswhere.exe (100%) diff --git a/RoslynTools.RepoToolset.csproj b/src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.csproj similarity index 100% rename from RoslynTools.RepoToolset.csproj rename to src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.csproj diff --git a/RoslynTools.RepoToolset.nuspec b/src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.nuspec similarity index 100% rename from RoslynTools.RepoToolset.nuspec rename to src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.nuspec diff --git a/sdk/Sdk.props b/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.props similarity index 100% rename from sdk/Sdk.props rename to src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.props diff --git a/sdk/Sdk.targets b/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.targets similarity index 100% rename from sdk/Sdk.targets rename to src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.targets diff --git a/src/DownloadFile.cs b/src/Microsoft.DotNet.Arcade.Sdk/src/DownloadFile.cs similarity index 100% rename from src/DownloadFile.cs rename to src/Microsoft.DotNet.Arcade.Sdk/src/DownloadFile.cs diff --git a/src/GenerateResxSource.cs b/src/Microsoft.DotNet.Arcade.Sdk/src/GenerateResxSource.cs similarity index 100% rename from src/GenerateResxSource.cs rename to src/Microsoft.DotNet.Arcade.Sdk/src/GenerateResxSource.cs diff --git a/src/RewriteOrchestratedBuildPackageVersions.cs b/src/Microsoft.DotNet.Arcade.Sdk/src/RewriteOrchestratedBuildPackageVersions.cs similarity index 100% rename from src/RewriteOrchestratedBuildPackageVersions.cs rename to src/Microsoft.DotNet.Arcade.Sdk/src/RewriteOrchestratedBuildPackageVersions.cs diff --git a/src/RoslynTools.BuildTasks.csproj b/src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.csproj similarity index 100% rename from src/RoslynTools.BuildTasks.csproj rename to src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.csproj diff --git a/src/RoslynTools.BuildTasks.nuspec b/src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.nuspec similarity index 100% rename from src/RoslynTools.BuildTasks.nuspec rename to src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.nuspec diff --git a/tools/35MSSharedLib1024.snk b/src/Microsoft.DotNet.Arcade.Sdk/tools/35MSSharedLib1024.snk similarity index 100% rename from tools/35MSSharedLib1024.snk rename to src/Microsoft.DotNet.Arcade.Sdk/tools/35MSSharedLib1024.snk diff --git a/tools/AfterSigning.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSigning.proj similarity index 100% rename from tools/AfterSigning.proj rename to src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSigning.proj diff --git a/tools/AfterSolutionBuild.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj similarity index 100% rename from tools/AfterSolutionBuild.proj rename to src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj diff --git a/tools/AspNet.snk b/src/Microsoft.DotNet.Arcade.Sdk/tools/AspNet.snk similarity index 100% rename from tools/AspNet.snk rename to src/Microsoft.DotNet.Arcade.Sdk/tools/AspNet.snk diff --git a/tools/Build.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj similarity index 100% rename from tools/Build.proj rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj diff --git a/tools/BuildReleasePackages.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildReleasePackages.targets similarity index 100% rename from tools/BuildReleasePackages.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/BuildReleasePackages.targets diff --git a/tools/BuildStep.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildStep.props similarity index 100% rename from tools/BuildStep.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/BuildStep.props diff --git a/tools/BuildTasks.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props similarity index 100% rename from tools/BuildTasks.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props diff --git a/tools/Compiler.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Compiler.props similarity index 100% rename from tools/Compiler.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Compiler.props diff --git a/tools/DefaultVersions.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props similarity index 100% rename from tools/DefaultVersions.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props diff --git a/tools/Directory.Build.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Directory.Build.props similarity index 100% rename from tools/Directory.Build.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Directory.Build.props diff --git a/tools/Directory.Build.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Directory.Build.targets similarity index 100% rename from tools/Directory.Build.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Directory.Build.targets diff --git a/tools/Empty.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets similarity index 100% rename from tools/Empty.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets diff --git a/tools/GenerateInternalsVisibleTo.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateInternalsVisibleTo.targets similarity index 100% rename from tools/GenerateInternalsVisibleTo.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateInternalsVisibleTo.targets diff --git a/tools/GenerateResxSource.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateResxSource.targets similarity index 100% rename from tools/GenerateResxSource.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateResxSource.targets diff --git a/tools/Imports.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Imports.targets similarity index 100% rename from tools/Imports.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Imports.targets diff --git a/tools/Localization.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Localization.props similarity index 100% rename from tools/Localization.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Localization.props diff --git a/tools/MSFT.snk b/src/Microsoft.DotNet.Arcade.Sdk/tools/MSFT.snk similarity index 100% rename from tools/MSFT.snk rename to src/Microsoft.DotNet.Arcade.Sdk/tools/MSFT.snk diff --git a/tools/OptimizationData.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/OptimizationData.targets similarity index 100% rename from tools/OptimizationData.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/OptimizationData.targets diff --git a/tools/Performance.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Performance.targets similarity index 100% rename from tools/Performance.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Performance.targets diff --git a/tools/ProjectDefaults.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/ProjectDefaults.props similarity index 100% rename from tools/ProjectDefaults.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/ProjectDefaults.props diff --git a/tools/ProjectLayout.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/ProjectLayout.props similarity index 100% rename from tools/ProjectLayout.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/ProjectLayout.props diff --git a/tools/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj similarity index 100% rename from tools/Publish.proj rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj diff --git a/tools/RepoLayout.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/RepoLayout.props similarity index 100% rename from tools/RepoLayout.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/RepoLayout.props diff --git a/tools/RepositoryInfo.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets similarity index 100% rename from tools/RepositoryInfo.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets diff --git a/tools/Settings.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props similarity index 100% rename from tools/Settings.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props diff --git a/tools/Sign.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.proj similarity index 100% rename from tools/Sign.proj rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.proj diff --git a/tools/StrongName.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/StrongName.props similarity index 100% rename from tools/StrongName.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/StrongName.props diff --git a/tools/StrongName.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/StrongName.targets similarity index 100% rename from tools/StrongName.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/StrongName.targets diff --git a/tools/SymStore.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SymStore.targets similarity index 100% rename from tools/SymStore.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/SymStore.targets diff --git a/tools/Tests.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.props similarity index 100% rename from tools/Tests.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Tests.props diff --git a/tools/Tools.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj similarity index 100% rename from tools/Tools.proj rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj diff --git a/tools/Version.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Version.props similarity index 100% rename from tools/Version.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Version.props diff --git a/tools/Version.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Version.targets similarity index 100% rename from tools/Version.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Version.targets diff --git a/tools/VisualStudio.DesignTimeBuild.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.DesignTimeBuild.targets similarity index 100% rename from tools/VisualStudio.DesignTimeBuild.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.DesignTimeBuild.targets diff --git a/tools/VisualStudio.ImportSdk.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.ImportSdk.targets similarity index 100% rename from tools/VisualStudio.ImportSdk.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.ImportSdk.targets diff --git a/tools/VisualStudio.InsertionManifests.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.InsertionManifests.targets similarity index 100% rename from tools/VisualStudio.InsertionManifests.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.InsertionManifests.targets diff --git a/tools/VisualStudio.SetupPackage.swixproj b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.SetupPackage.swixproj similarity index 100% rename from tools/VisualStudio.SetupPackage.swixproj rename to src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.SetupPackage.swixproj diff --git a/tools/VisualStudio.SetupPackage.vsmanproj b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.SetupPackage.vsmanproj similarity index 100% rename from tools/VisualStudio.SetupPackage.vsmanproj rename to src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.SetupPackage.vsmanproj diff --git a/tools/VisualStudio.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.props similarity index 100% rename from tools/VisualStudio.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.props diff --git a/tools/VisualStudio.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.targets similarity index 100% rename from tools/VisualStudio.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.targets diff --git a/tools/Workarounds.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Workarounds.targets similarity index 100% rename from tools/Workarounds.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/Workarounds.targets diff --git a/tools/XUnit.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnit.props similarity index 100% rename from tools/XUnit.props rename to src/Microsoft.DotNet.Arcade.Sdk/tools/XUnit.props diff --git a/tools/XUnit.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnit.targets similarity index 100% rename from tools/XUnit.targets rename to src/Microsoft.DotNet.Arcade.Sdk/tools/XUnit.targets diff --git a/tools/vswhere.exe b/src/Microsoft.DotNet.Arcade.Sdk/tools/vswhere.exe similarity index 100% rename from tools/vswhere.exe rename to src/Microsoft.DotNet.Arcade.Sdk/tools/vswhere.exe From 20ea860abbe7dae7f0a6827695f9a02d92267357 Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Tue, 26 Jun 2018 16:08:35 -0700 Subject: [PATCH 092/100] Move RoslynTools.RepoToolset into Arcade --- Arcade.sln | 15 +++ Directory.Build.targets | 2 + NuGet.Config | 5 +- eng/Sdk.targets | 117 ++++++++++++++++++ eng/SignToolData.json | 9 +- eng/Versions.props | 1 + ...roj => Microsoft.DotNet.Arcade.Sdk.csproj} | 24 ++-- .../RoslynTools.RepoToolset.nuspec | 28 ----- .../src/RoslynTools.BuildTasks.csproj | 21 ---- .../src/RoslynTools.BuildTasks.nuspec | 23 ---- .../tools/BuildTasks.props | 6 +- .../tools/Tools.proj | 1 + 12 files changed, 160 insertions(+), 92 deletions(-) create mode 100644 eng/Sdk.targets rename src/Microsoft.DotNet.Arcade.Sdk/{RoslynTools.RepoToolset.csproj => Microsoft.DotNet.Arcade.Sdk.csproj} (53%) delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.nuspec delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.csproj delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.nuspec diff --git a/Arcade.sln b/Arcade.sln index 7bcd523b6c4..c2f64ebebb9 100644 --- a/Arcade.sln +++ b/Arcade.sln @@ -16,6 +16,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Build.Task EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.GitSync.CommitManager", "src\Microsoft.DotNet.GitSync.CommitManager\Microsoft.DotNet.GitSync.CommitManager.csproj", "{ABCA58DD-8F77-457D-AC9A-D22227F51756}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Arcade.Sdk", "src\Microsoft.DotNet.Arcade.Sdk\Microsoft.DotNet.Arcade.Sdk.csproj", "{747A5C75-6069-4C45-8049-AEAA1D864105}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -86,6 +88,18 @@ Global {ABCA58DD-8F77-457D-AC9A-D22227F51756}.Release|x64.Build.0 = Release|Any CPU {ABCA58DD-8F77-457D-AC9A-D22227F51756}.Release|x86.ActiveCfg = Release|Any CPU {ABCA58DD-8F77-457D-AC9A-D22227F51756}.Release|x86.Build.0 = Release|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Debug|Any CPU.Build.0 = Debug|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Debug|x64.ActiveCfg = Debug|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Debug|x64.Build.0 = Debug|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Debug|x86.ActiveCfg = Debug|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Debug|x86.Build.0 = Debug|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Release|Any CPU.ActiveCfg = Release|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Release|Any CPU.Build.0 = Release|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Release|x64.ActiveCfg = Release|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Release|x64.Build.0 = Release|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Release|x86.ActiveCfg = Release|Any CPU + {747A5C75-6069-4C45-8049-AEAA1D864105}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -96,6 +110,7 @@ Global {3A9C8374-D433-459F-81C5-C49715CD9C33} = {6BE49638-F842-4329-BE8A-30C0F30CCAA5} {86DC4DC7-DCEE-44AC-A7E3-B6D5A909422C} = {6BE49638-F842-4329-BE8A-30C0F30CCAA5} {A31D6804-9AF4-4618-8D73-16B76E3F8347} = {730AF68A-22FD-4372-9341-5F67D7701DA7} + {747A5C75-6069-4C45-8049-AEAA1D864105} = {730AF68A-22FD-4372-9341-5F67D7701DA7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {06E6CFF5-C54E-4623-9587-71A9E3F041D9} diff --git a/Directory.Build.targets b/Directory.Build.targets index a39018a0661..0a6ac2826f9 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -2,6 +2,8 @@ + + diff --git a/NuGet.Config b/NuGet.Config index d152691ce08..bf0a51b9aff 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -4,11 +4,12 @@ - + + - + diff --git a/eng/Sdk.targets b/eng/Sdk.targets new file mode 100644 index 00000000000..c9b55197817 --- /dev/null +++ b/eng/Sdk.targets @@ -0,0 +1,117 @@ + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + MSBuildSdk + false + true + + + + + + + + + + + + + + + tools/%(RecursiveDir)%(Filename)%(Extension) + + + + + + All + true + + + All + true + + + false + + + + + $(TargetsForTfmSpecificContentInPackage);CollectAssets + + + + + tools/$(TargetFramework)/any/%(ResolvedFileToPublish.RelativePath) + + + + + + + sdk/Sdk.props + + + + %24(MSBuildAllProjects)%3B%24(MSBuildThisFileFullPath) + + +]]> + + + + sdk/Sdk.targets + + + + %24(MSBuildAllProjects)%3B%24(MSBuildThisFileFullPath) + + +]]> + + + + build/$(PackageId).props + + + + %24(MSBuildAllProjects)%3B%24(MSBuildThisFileFullPath) + + +]]> + + + + build/$(PackageId).targets + + + + %24(MSBuildAllProjects)%3B%24(MSBuildThisFileFullPath) + + +]]> + + + + + + + + + + + + + + + diff --git a/eng/SignToolData.json b/eng/SignToolData.json index 86b42cf0db2..75371c6bd96 100644 --- a/eng/SignToolData.json +++ b/eng/SignToolData.json @@ -13,7 +13,9 @@ "bin/Microsoft.DotNet.Helix.Client/netstandard1.4/Microsoft.DotNet.Helix.Client.dll", "bin/Microsoft.DotNet.Helix.Client/net45/Microsoft.DotNet.Helix.Client.dll", "bin/Microsoft.DotNet.Helix.Sdk/netstandard2.0/Microsoft.DotNet.Helix.Sdk.dll", - "bin/Microsoft.DotNet.Helix.Sdk/net45/Microsoft.DotNet.Helix.Sdk.dll" + "bin/Microsoft.DotNet.Helix.Sdk/net45/Microsoft.DotNet.Helix.Sdk.dll", + "bin/Microsoft.DotNet.Arcade.Sdk/net461/Microsoft.DotNet.Arcade.Sdk.dll", + "bin/Microsoft.DotNet.Arcade.Sdk/netcoreapp2.0/Microsoft.DotNet.Arcade.Sdk.dll" ] }, { @@ -26,7 +28,9 @@ ], "exclude": [ "Microsoft.Azure.KeyVault.Core.dll", + "Microsoft.Build.dll", "Microsoft.Build.Framework.dll", + "Microsoft.Build.Tasks.Core.dll", "Microsoft.Build.Utilities.Core.dll", "Microsoft.CSharp.dll", "Microsoft.Data.Edm.dll", @@ -89,6 +93,7 @@ "System.Threading.ThreadPool.dll", "System.Xml.ReaderWriter.dll", "System.Xml.XDocument.dll", - "System.Xml.XmlDocument.dll" + "System.Xml.XmlDocument.dll", + "vswhere.exe" ] } diff --git a/eng/Versions.props b/eng/Versions.props index 961b22f66cb..85f4de10473 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -11,6 +11,7 @@ true + 4.3.3 14.3.0 14.3.0 2.2.0-preview1-02815-01 diff --git a/src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.csproj b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj similarity index 53% rename from src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.csproj rename to src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj index 9aed724e30a..a6c1efea483 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.csproj +++ b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj @@ -6,26 +6,24 @@ false true - $(MSBuildProjectName).nuspec - $(OutputPath) Common toolset for repositories Roslyn Build Repository Toolset MSBuild SDK true + + true + false + false
- - - - - - - + + sdk/%(Filename)%(Extension) + + + tools/%(Filename)%(Extension) + - \ No newline at end of file + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.nuspec b/src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.nuspec deleted file mode 100644 index ca5d62c77fe..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/RoslynTools.RepoToolset.nuspec +++ /dev/null @@ -1,28 +0,0 @@ - - - - $PackageId$ - $Description$ - $Version$ - $Authors$ - $RequireLicenseAcceptance$ - $PackageLicenseUrl$ - $PackageProjectUrl$ - $Copyright$ - $DevelopmentDependency$ - $PackageTags$ - $Serviceable$ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.csproj b/src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.csproj deleted file mode 100644 index d8fc7d87049..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.csproj +++ /dev/null @@ -1,21 +0,0 @@ - - - net461;netcoreapp2.0 - - false - - - true - RoslynTools.BuildTasks.nuspec - $(OutputPath) - - Common toolset build tasks - Roslyn build tasks - true - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.nuspec b/src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.nuspec deleted file mode 100644 index 08a0e59aee8..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/src/RoslynTools.BuildTasks.nuspec +++ /dev/null @@ -1,23 +0,0 @@ - - - - $PackageId$ - $Description$ - $Version$ - $Authors$ - $RequireLicenseAcceptance$ - $PackageLicenseUrl$ - $PackageProjectUrl$ - $Copyright$ - $DevelopmentDependency$ - $PackageTags$ - $Serviceable$ - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props index 59f6193cef9..098a5577896 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props @@ -5,7 +5,7 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - $(MSBuildThisFileDirectory)tasks\net461\RoslynTools.RepoToolset.dll - $(MSBuildThisFileDirectory)tasks\netcoreapp2.0\RoslynTools.RepoToolset.dll + $(MSBuildThisFileDirectory)net461\Microsoft.DotNet.Arcade.Sdk.dll + $(MSBuildThisFileDirectory)netcoreapp2.0\Microsoft.DotNet.Arcade.Sdk.dll - \ No newline at end of file + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj index 45002f6884d..3f7f9365896 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj @@ -27,6 +27,7 @@ $(RestoreSources); https://api.nuget.org/v3/index.json; + https://dotnetfeed.blob.core.windows.net/dotnet-tools-internal/index.json; https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json From fd3a9250cfd93bd9f3583121f8bbd3287fafff98 Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Tue, 26 Jun 2018 17:59:12 -0700 Subject: [PATCH 093/100] Use Arcade.Sdk from feed --- Directory.Build.props | 2 +- Directory.Build.targets | 2 +- NuGet.Config | 6 +----- eng/common/build.ps1 | 4 ++-- eng/common/build.sh | 6 +++--- global.json | 2 +- 6 files changed, 9 insertions(+), 13 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 67f8aa73f42..c0c44af5c00 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -4,7 +4,7 @@ false - + True diff --git a/Directory.Build.targets b/Directory.Build.targets index 0a6ac2826f9..b8e054a9637 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,6 +1,6 @@ - + diff --git a/NuGet.Config b/NuGet.Config index bf0a51b9aff..9a36e51acab 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -3,13 +3,9 @@ - - - - - + diff --git a/eng/common/build.ps1 b/eng/common/build.ps1 index f74d1226fd7..3a563eb5998 100644 --- a/eng/common/build.ps1 +++ b/eng/common/build.ps1 @@ -181,7 +181,7 @@ function GetBuildCommand() { } function InitializeToolset([string] $buildDriver, [string]$buildArgs) { - $toolsetVersion = $GlobalJson.'msbuild-sdks'.'RoslynTools.RepoToolset' + $toolsetVersion = $GlobalJson.'msbuild-sdks'.'Microsoft.DotNet.Arcade.Sdk' $toolsetLocationFile = Join-Path $ToolsetDir "$toolsetVersion.txt" if (Test-Path $toolsetLocationFile) { @@ -199,7 +199,7 @@ function InitializeToolset([string] $buildDriver, [string]$buildArgs) { $proj = Join-Path $ToolsetDir "restore.proj" - '' | Set-Content $proj + '' | Set-Content $proj & $buildDriver $buildArgs $proj /t:__WriteToolsetLocation /m /nologo /clp:None /warnaserror /bl:$ToolsetRestoreLog /v:$verbosity /p:__ToolsetLocationOutputFile=$toolsetLocationFile if ($lastExitCode -ne 0) { diff --git a/eng/common/build.sh b/eng/common/build.sh index f1b767e4120..b880bf501a4 100755 --- a/eng/common/build.sh +++ b/eng/common/build.sh @@ -220,7 +220,7 @@ function GetDotNetInstallScript { } function InitializeToolset { - ReadJson $global_json_file "RoslynTools.RepoToolset" + ReadJson $global_json_file "Microsoft.DotNet.Arcade.Sdk" local toolset_version=$readjsonvalue local toolset_location_file="$toolset_dir/$toolset_version.txt" @@ -239,7 +239,7 @@ function InitializeToolset { local proj="$toolset_dir/restore.proj" - echo '' > $proj + echo '' > $proj "$build_driver" msbuild $proj /t:__WriteToolsetLocation /m /nologo /clp:None /warnaserror /bl:$toolset_restore_log /v:$verbosity /p:__ToolsetLocationOutputFile=$toolset_location_file local lastexitcode=$? @@ -341,4 +341,4 @@ function Main { ExitWithExitCode $? } -Main \ No newline at end of file +Main diff --git a/global.json b/global.json index 29005ba45c8..4f55980a27f 100644 --- a/global.json +++ b/global.json @@ -3,6 +3,6 @@ "version": "2.1.300" }, "msbuild-sdks": { - "RoslynTools.RepoToolset": "1.0.0-beta2-63011-05" + "Microsoft.DotNet.Arcade.Sdk": "1.0.0-bootstrap-1" } } From f3ee557dcbb89871f911c1087213e58780711663 Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Thu, 28 Jun 2018 13:08:36 -0700 Subject: [PATCH 094/100] Remove generated package files --- eng/Sdk.targets | 66 +------------------------------------------------ 1 file changed, 1 insertion(+), 65 deletions(-) diff --git a/eng/Sdk.targets b/eng/Sdk.targets index c9b55197817..74d3bca4197 100644 --- a/eng/Sdk.targets +++ b/eng/Sdk.targets @@ -22,7 +22,7 @@ - tools/%(RecursiveDir)%(Filename)%(Extension) + %(RecursiveDir)%(Filename)%(Extension) @@ -50,68 +50,4 @@
- - - - sdk/Sdk.props - - - - %24(MSBuildAllProjects)%3B%24(MSBuildThisFileFullPath) - - -]]> - - - - sdk/Sdk.targets - - - - %24(MSBuildAllProjects)%3B%24(MSBuildThisFileFullPath) - - -]]> - - - - build/$(PackageId).props - - - - %24(MSBuildAllProjects)%3B%24(MSBuildThisFileFullPath) - - -]]> - - - - build/$(PackageId).targets - - - - %24(MSBuildAllProjects)%3B%24(MSBuildThisFileFullPath) - - -]]> - - - - - - - - - - - - - - From 0576b9a902d1af8449c2a9df4e57f1fac9c9ba69 Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Mon, 2 Jul 2018 13:45:30 -0700 Subject: [PATCH 095/100] PR Feedback --- Directory.Build.targets | 2 -- eng/Sdk.targets | 28 ++++++++++++------- eng/Versions.props | 6 ++-- .../Microsoft.DotNet.Arcade.Sdk.csproj | 9 +++++- .../tools/BuildTasks.props | 4 +-- 5 files changed, 31 insertions(+), 18 deletions(-) diff --git a/Directory.Build.targets b/Directory.Build.targets index b8e054a9637..407a08149e6 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -2,8 +2,6 @@ - - diff --git a/eng/Sdk.targets b/eng/Sdk.targets index 74d3bca4197..2c6d9371098 100644 --- a/eng/Sdk.targets +++ b/eng/Sdk.targets @@ -9,16 +9,10 @@ true - - - - - - - - - - + @@ -27,6 +21,12 @@ + All true @@ -35,11 +35,19 @@ All true + false + $(TargetsForTfmSpecificContentInPackage);CollectAssets diff --git a/eng/Versions.props b/eng/Versions.props index a0cb09f7bcf..ca0afd5f40a 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -12,12 +12,12 @@ 4.3.3 - 14.3.0 14.3.0 + 14.3.0 + 14.3.0 + 14.3.0 2.2.0-preview1-02815-01 3.0.3 - 15.1.548 - 15.1.548 2.0.0 15.7.2 4.8.3 diff --git a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj index a6c1efea483..eb655478faa 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj +++ b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj @@ -11,13 +11,18 @@ Roslyn Build Repository Toolset MSBuild SDK true - true false false + + + + + + sdk/%(Filename)%(Extension) @@ -26,4 +31,6 @@ tools/%(Filename)%(Extension) + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props index 098a5577896..a9e24fc00b6 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props @@ -5,7 +5,7 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - $(MSBuildThisFileDirectory)net461\Microsoft.DotNet.Arcade.Sdk.dll - $(MSBuildThisFileDirectory)netcoreapp2.0\Microsoft.DotNet.Arcade.Sdk.dll + $(MSBuildThisFileDirectory)net461\any\Microsoft.DotNet.Arcade.Sdk.dll + $(MSBuildThisFileDirectory)netcoreapp2.0\any\Microsoft.DotNet.Arcade.Sdk.dll From 1de7362d5985bc973578d6291c54b3e25eeb9256 Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Mon, 2 Jul 2018 13:54:07 -0700 Subject: [PATCH 096/100] Update MSBuild packages versions and switch to net461 --- Directory.Build.props | 2 +- eng/Versions.props | 8 ++++---- .../Microsoft.DotNet.Build.Tasks.Feed.csproj | 8 ++++---- .../Microsoft.DotNet.Build.Tasks.Feed.nuspec | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index c0c44af5c00..c5060847fdb 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -15,6 +15,6 @@ - net45 + net461 diff --git a/eng/Versions.props b/eng/Versions.props index 79afd92c38e..91c5b305c9e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -15,10 +15,10 @@ 0.25.2 2.0.8 4.3.3 - 14.3.0 - 14.3.0 - 14.3.0 - 14.3.0 + 15.7.179 + 15.7.179 + 15.7.179 + 15.7.179 2.2.0-preview1-02815-01 3.0.3 2.0.0 diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.csproj b/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.csproj index 226d6ef18c9..6d39fa1f279 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.csproj +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.csproj @@ -18,7 +18,7 @@ This package provides support for publishing assets to a nuget protocol based feed. - + win7-x64 $(PackageTargetFallback);net46 @@ -33,10 +33,10 @@ - + - + @@ -50,7 +50,7 @@ - + diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.nuspec b/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.nuspec index 2cbf8cc9c46..ede84811cf5 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.nuspec +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.nuspec @@ -25,7 +25,7 @@ - + From ea164c9130acecb5a5bf09612adb8dd07293b482 Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Mon, 2 Jul 2018 14:30:18 -0700 Subject: [PATCH 097/100] Remove unneeded package references. --- .../Microsoft.DotNet.Arcade.Sdk.csproj | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj index eb655478faa..235a7cf227f 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj +++ b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj @@ -17,9 +17,7 @@ - - From 5089c2a8ce2d161db7ed8a00035f8a61800b0da7 Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Mon, 2 Jul 2018 15:56:01 -0700 Subject: [PATCH 098/100] Remove any --- eng/Sdk.targets | 2 +- src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Sdk.targets b/eng/Sdk.targets index 2c6d9371098..c5182cb2980 100644 --- a/eng/Sdk.targets +++ b/eng/Sdk.targets @@ -54,7 +54,7 @@ - tools/$(TargetFramework)/any/%(ResolvedFileToPublish.RelativePath) + tools/$(TargetFramework)/%(ResolvedFileToPublish.RelativePath) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props index a9e24fc00b6..098a5577896 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props @@ -5,7 +5,7 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - $(MSBuildThisFileDirectory)net461\any\Microsoft.DotNet.Arcade.Sdk.dll - $(MSBuildThisFileDirectory)netcoreapp2.0\any\Microsoft.DotNet.Arcade.Sdk.dll + $(MSBuildThisFileDirectory)net461\Microsoft.DotNet.Arcade.Sdk.dll + $(MSBuildThisFileDirectory)netcoreapp2.0\Microsoft.DotNet.Arcade.Sdk.dll From 5b2257dcc17e9cbc5a4fe691cfd65226a4f60178 Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Mon, 2 Jul 2018 16:05:02 -0700 Subject: [PATCH 099/100] Update SignToolData --- eng/SignToolData.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/SignToolData.json b/eng/SignToolData.json index 8da43abedc9..dc37933c6d3 100644 --- a/eng/SignToolData.json +++ b/eng/SignToolData.json @@ -6,14 +6,14 @@ "values": [ "bin/Microsoft.DotNet.Build.Tasks.Feed/netstandard1.5/Microsoft.DotNet.Build.Tasks.Feed.dll", "bin/Microsoft.DotNet.Build.Tasks.Feed/netstandard1.5/*/Microsoft.DotNet.Build.Tasks.Feed.resources.dll", - "bin/Microsoft.DotNet.Build.Tasks.Feed/net45/Microsoft.DotNet.Build.Tasks.Feed.dll", - "bin/Microsoft.DotNet.Build.Tasks.Feed/net45/*/Microsoft.DotNet.Build.Tasks.Feed.resources.dll", + "bin/Microsoft.DotNet.Build.Tasks.Feed/net461/Microsoft.DotNet.Build.Tasks.Feed.dll", + "bin/Microsoft.DotNet.Build.Tasks.Feed/net461/*/Microsoft.DotNet.Build.Tasks.Feed.resources.dll", "bin/Microsoft.DotNet.Build.Tasks.Packaging/net46/Microsoft.DotNet.Build.Tasks.Packaging.dll", "bin/Microsoft.DotNet.Build.Tasks.Packaging/netcoreapp2.0/Microsoft.DotNet.Build.Tasks.Packaging.dll", "bin/Microsoft.DotNet.Helix.Client/netstandard1.4/Microsoft.DotNet.Helix.Client.dll", - "bin/Microsoft.DotNet.Helix.Client/net45/Microsoft.DotNet.Helix.Client.dll", + "bin/Microsoft.DotNet.Helix.Client/net461/Microsoft.DotNet.Helix.Client.dll", "bin/Microsoft.DotNet.Helix.Sdk/netstandard2.0/Microsoft.DotNet.Helix.Sdk.dll", - "bin/Microsoft.DotNet.Helix.Sdk/net45/Microsoft.DotNet.Helix.Sdk.dll", + "bin/Microsoft.DotNet.Helix.Sdk/net461/Microsoft.DotNet.Helix.Sdk.dll", "bin/Microsoft.DotNet.SignTool/net461/Microsoft.DotNet.SignTool.exe", "bin/Microsoft.DotNet.SignTool/netcoreapp2.0/Microsoft.DotNet.SignTool.dll", "bin/Microsoft.DotNet.SignTool.Tests/netcoreapp2.0/Microsoft.DotNet.SignTool.Tests.dll", From 2754e7e78aa9361d18ef5d4b6ce8f702086ef75c Mon Sep 17 00:00:00 2001 From: Alex Perovich Date: Mon, 2 Jul 2018 16:45:49 -0700 Subject: [PATCH 100/100] Update SignToolData --- eng/SignToolData.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/eng/SignToolData.json b/eng/SignToolData.json index dc37933c6d3..c2c5bd199a4 100644 --- a/eng/SignToolData.json +++ b/eng/SignToolData.json @@ -43,6 +43,8 @@ "Microsoft.DiaSymReader.PortablePdb.dll", "Microsoft.DotNet.VersionTools.dll", "Microsoft.Rest.ClientRuntime.dll", + "Microsoft.VisualStudio.Setup.Configuration.Interop.dll", + "Microsoft.Win32.Primitives.dll", "Microsoft.WindowsAzure.Storage.dll", "Newtonsoft.Json.dll", "NuGet.Commands.dll", @@ -58,18 +60,26 @@ "NuGet.Protocol.dll", "NuGet.Versioning.dll", "SleetLib.dll", + "System.AppContext.dll", "System.Buffers.dll", "System.Collections.Concurrent.dll", "System.Collections.Immutable.dll", "System.Collections.NonGeneric.dll", + "System.Console.dll", "System.Diagnostics.DiagnosticSource.dll", + "System.Diagnostics.Process.dll", + "System.Diagnostics.TraceSource.dll", "System.Dynamic.Runtime.dll", + "System.Globalization.Calendars.dll", + "System.IO.Compression.dll", "System.IO.Compression.ZipFile.dll", + "System.IO.FileSystem.dll", "System.IO.FileSystem.Primitives.dll", "System.IO.FileSystem.Watcher.dll", "System.Linq.dll", "System.Linq.Expressions.dll", "System.Net.Http.dll", + "System.Net.Sockets.dll", "System.ObjectModel.dll", "System.Reflection.Emit.dll", "System.Reflection.Emit.ILGeneration.dll", @@ -91,6 +101,7 @@ "System.Text.RegularExpressions.dll", "System.Threading.dll", "System.Threading.Overlapped.dll", + "System.Threading.Tasks.Dataflow.dll", "System.Threading.Tasks.Extensions.dll", "System.Threading.Thread.dll", "System.Threading.ThreadPool.dll",