From 3a79c06363dea353cc27b28be8d707a7759d64c4 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Thu, 6 Dec 2018 14:31:44 -0800 Subject: [PATCH] reshape the output directory to match divisional standards --- .gitignore | 14 +- .vsts-pr.yaml | 6 +- .vsts-signed.yaml | 10 +- FSharpBuild.Directory.Build.props | 13 +- FSharpBuild.Directory.Build.targets | 36 ---- FSharpTests.Directory.Build.props | 43 ++-- Makefile | 21 +- PublishToBlob.proj | 2 +- artifacts/.gitignore | 1 - build.cmd | 197 ++++++++++++------ build/config/AssemblySignToolData.json | 76 +++---- build/config/InsertionSignToolData.json | 10 +- build/config/PackageSignToolData.json | 3 +- build/projects/Signing.proj | 4 +- build/targets/ConvertPortablePdbs.targets | 21 +- .../GenerateAssemblyAttributes.targets | 3 +- build/targets/PackageVersions.props | 2 +- fcs/Directory.Build.props | 10 +- ...FSharp.Compiler.Service.MSBuild.v12.fsproj | 1 - ...arp.Compiler.Service.ProjectCracker.fsproj | 8 +- ...Compiler.Service.ProjectCrackerTool.fsproj | 1 - .../FSharp.Compiler.Service.Tests.fsproj | 2 +- .../FSharp.Compiler.Service.fsproj | 1 - fcs/build.fsx | 6 +- fsharp.proj | 77 ++++--- init-tools.cmd | 2 +- proto.proj | 2 +- setup/Directory.Build.props | 13 +- setup/Directory.Build.targets | 1 - setup/FSharp.Setup.props | 142 ------------- setup/Localization.props | 120 +++++++++++ setup/Swix/Directory.Build.props | 6 +- setup/Swix/Directory.Build.targets | 7 + .../Files.swr | 8 +- ...crosoft.FSharp.Compiler.Resources.swixproj | 1 + .../Swix/Microsoft.FSharp.Compiler/Files.swr | 50 ++--- .../Microsoft.FSharp.Compiler.swixproj | 1 + .../Microsoft.FSharp.Dependencies/Files.swr | 16 +- .../Microsoft.FSharp.Dependencies.swixproj | 2 + setup/Swix/Microsoft.FSharp.IDE/Files.swr | 10 +- .../Microsoft.FSharp.IDE.swixproj | 2 +- .../Microsoft.FSharp.Vsix.Resources/Files.swr | 22 +- .../Microsoft.FSharp.Vsix.Resources.swixproj | 1 + .../Templates.swr | 6 +- setup/Swix/Microsoft.FSharp.vsmanproj | 18 +- setup/publish-assets.ps1 | 5 +- .../Microsoft.FSharp.NetSdk.Shim.props | 0 .../Microsoft.FSharp.NetSdk.Shim.targets | 0 ...osoft.FSharp.Overrides.NetSdk.Shim.targets | 0 .../Microsoft.FSharp.Shim.targets | 0 .../Microsoft.Portable.FSharp.Shim.targets | 0 src/buildtools/Directory.Build.props | 2 +- src/buildtools/Directory.Build.targets | 2 +- src/buildtools/buildtools.targets | 4 +- src/fsharp/Directory.Build.props | 1 + src/fsharp/Directory.Nuget.props | 1 + src/fsharp/Directory.Nuget.targets | 10 - .../FSharp.Compiler.Private.fsproj | 17 +- .../Directory.Build.targets | 4 +- .../Microsoft.FSharp.Compiler.nuspec | 44 ++-- src/fsharp/FSharp.Core/FSharp.Core.nuspec | 20 +- src/fsharp/{Fsc => fsc}/InternalsVisibleTo.fs | 0 src/fsharp/{Fsc => fsc}/app.config | 0 src/fsharp/{Fsc/Fsc.fsproj => fsc/fsc.fsproj} | 0 src/fsharp/fsi/{Fsi.fsproj => fsi.fsproj} | 2 +- .../{FsiAnyCPU.fsproj => fsiAnyCpu.fsproj} | 0 tests/.gitignore | 1 - tests/FSharp.Directory.Build.props | 6 - tests/fsharp/SDKTests/AllSdkTargetsTests.proj | 2 +- tests/fsharp/SDKTests/tests/Test.props | 6 +- tests/fsharp/SDKTests/tests/Test.targets | 2 +- tests/fsharp/Test.Directory.Build.props | 8 - tests/fsharp/single-test.fs | 16 +- tests/fsharp/test-framework.fs | 44 ++-- tests/fsharp/tests.fs | 18 +- .../Source/CodeGen/EmittedIL/CompareIL.cmd | 4 +- tests/fsharpqa/Source/run.pl | 4 +- tests/service/FscTests.fs | 2 +- verify-translations.cmd | 2 +- vsintegration/ItemTemplates/.gitignore | 2 + vsintegration/ProjectTemplates/.gitignore | 2 + vsintegration/Templates.Directory.Build.props | 6 + .../Templates.Directory.Build.targets | 17 ++ vsintegration/Vsix/Directory.Build.targets | 5 + .../VisualFSharpFull/VisualFSharpFull.csproj | 6 +- vsintegration/src/Directory.Build.props | 9 + .../FSharp.PropertiesPages.vbproj | 4 +- .../GetTypesVSUnitTests.fsproj | 3 + vsintegration/tests/Salsa/salsa.fs | 6 +- .../Tests.LanguageService.ParameterInfo.fs | 22 +- vsintegration/tests/UnitTests/Tests.Build.fs | 100 ++++++--- .../UnitTests/VisualFSharp.UnitTests.fsproj | 20 ++ 92 files changed, 761 insertions(+), 666 deletions(-) delete mode 100644 artifacts/.gitignore delete mode 100644 setup/FSharp.Setup.props create mode 100644 setup/Localization.props rename setup/{resources => shims}/Microsoft.FSharp.NetSdk.Shim.props (100%) rename setup/{resources => shims}/Microsoft.FSharp.NetSdk.Shim.targets (100%) rename setup/{resources => shims}/Microsoft.FSharp.Overrides.NetSdk.Shim.targets (100%) rename setup/{resources => shims}/Microsoft.FSharp.Shim.targets (100%) rename setup/{resources => shims}/Microsoft.Portable.FSharp.Shim.targets (100%) rename src/fsharp/{Fsc => fsc}/InternalsVisibleTo.fs (100%) rename src/fsharp/{Fsc => fsc}/app.config (100%) rename src/fsharp/{Fsc/Fsc.fsproj => fsc/fsc.fsproj} (100%) rename src/fsharp/fsi/{Fsi.fsproj => fsi.fsproj} (96%) rename src/fsharp/fsiAnyCpu/{FsiAnyCPU.fsproj => fsiAnyCpu.fsproj} (100%) delete mode 100644 tests/fsharp/Test.Directory.Build.props create mode 100644 vsintegration/ItemTemplates/.gitignore create mode 100644 vsintegration/ProjectTemplates/.gitignore create mode 100644 vsintegration/src/Directory.Build.props diff --git a/.gitignore b/.gitignore index 9ab09dfa936..28d53ff4e47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,7 @@ -# Downloaded packages and build tools. -/lkg -/packages -/Tools +# output location +artifacts/ /tests/scripts/current -/release -/debug -/Proto # auto-generated during the build global.json @@ -88,9 +83,6 @@ lib/bootstrap/4.1/policy* obj/ bin/ aclocal.m4 -Debug -Release -Proto sign_temp .libs configure @@ -114,7 +106,6 @@ ossreadme*.txt *.cto *.vstman project.lock.json -Tools/ Backup/ tests/fsharp/core/array/dont.run.peverify tests/fsharp/core/innerpoly/dont.run.peverify @@ -123,7 +114,6 @@ times /tests/fsharpqa/testenv/bin/System.ValueTuple.dll source_link.json .vs/ -/VSRelease/net40/bin System.ValueTuple.dll tests/fsharpqa/testenv/bin/System.ValueTuple.dll */.fake diff --git a/.vsts-pr.yaml b/.vsts-pr.yaml index 37246474bf7..44c277a3943 100644 --- a/.vsts-pr.yaml +++ b/.vsts-pr.yaml @@ -17,7 +17,7 @@ jobs: - script: $(_command) $(_args) - task: PublishBuildArtifacts@1 inputs: - PathtoPublish: '$(Build.SourcesDirectory)/tests/TestResults' + PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults' ArtifactName: 'Linux $(_command) $(_args)' publishLocation: Container continueOnError: true @@ -26,7 +26,7 @@ jobs: - job: Windows pool: vmImage: vs2017-win2016 - timeoutInMinutes: 90 + timeoutInMinutes: 120 strategy: maxParallel: 7 matrix: @@ -55,7 +55,7 @@ jobs: - script: $(_command) $(_args) - task: PublishBuildArtifacts@1 inputs: - PathtoPublish: '$(Build.SourcesDirectory)\tests\TestResults' + PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults' ArtifactName: 'Windows $(_command) $(_args)' publishLocation: Container continueOnError: true diff --git a/.vsts-signed.yaml b/.vsts-signed.yaml index 82b5d247362..25d7642cf09 100644 --- a/.vsts-signed.yaml +++ b/.vsts-signed.yaml @@ -29,7 +29,7 @@ jobs: displayName: Publish nightly package to MyGet inputs: scriptName: 'setup\publish-assets.ps1' - arguments: '-binariesPath $(MSBuildConfiguration) -branchName $(Build.SourceBranch) -apiKey $(FSharp.MyGetApiKey)' + arguments: '-binariesPath artifacts\bin -configuration $(MSBuildConfiguration) -branchName $(Build.SourceBranch) -apiKey $(FSharp.MyGetApiKey)' condition: and(succeeded(), contains(variables['PB_PublishType'], 'myget')) # Publish packages to Azure Blob Storage @@ -44,7 +44,7 @@ jobs: - task: PublishBuildArtifacts@1 displayName: Create static drop inputs: - PathtoPublish: '$(MSBuildConfiguration)' + PathtoPublish: 'artifacts' ArtifactName: '$(Build.BuildNumber)' publishLocation: FilePath TargetPath: '$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)' @@ -58,7 +58,7 @@ jobs: inputs: SymbolsPath: '$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)\$(Build.BuildNumber)\Symbols' SearchPattern: '**\*.dll;**\*.exe;**\*.pdb' - SymbolsFolder: '$(Build.SourcesDirectory)\$(MSBuildConfiguration)' + SymbolsFolder: '$(Build.SourcesDirectory)\artifacts\SymStore' TreatNotIndexedAsWarning: true SymbolsProduct: '$(Build.DefinitionName)' SymbolsVersion: '$(Build.BuildNumber)' @@ -69,7 +69,7 @@ jobs: - task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1 displayName: Upload VSTS Drop inputs: - DropFolder: '$(Build.SourcesDirectory)\$(MSBuildConfiguration)\insertion' + DropFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(MSBuildConfiguration)\Insertion' condition: and(succeeded(), contains(variables['PB_PublishType'], 'vsts')) # Execute cleanup tasks @@ -91,6 +91,6 @@ jobs: displayName: Publish symbols to SymWeb inputs: symbolServiceURI: 'https://microsoft.artifacts.visualstudio.com/DefaultCollection' - sourcePath: '$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)\$(Build.BuildNumber)\Symbols' + sourcePath: '$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)\$(Build.BuildNumber)\SymStore' usePat: false condition: and(succeeded(), contains(variables['PB_PublishType'], 'symweb')) diff --git a/FSharpBuild.Directory.Build.props b/FSharpBuild.Directory.Build.props index 81701799796..c5e4108181c 100644 --- a/FSharpBuild.Directory.Build.props +++ b/FSharpBuild.Directory.Build.props @@ -10,9 +10,16 @@ Debug $(MSBuildThisFileDirectory) $(RepoRoot)src - $(RepoRoot)Tools - $(RepoRoot)Proto\net40\bin - $(RepoRoot)Proto\coreclr\bin + $(RepoRoot)artifacts + $(ArtifactsDir)\toolset + $(ArtifactsDir)\bin + $(ArtifactsDir)\obj + $(ArtifactsDir)\packages + $(ArtifactsBinDir)\$(MSBuildProjectName) + $(ArtifactsObjDir)\$(MSBuildProjectName) + $(ArtifactsDir)\SymStore + $(ArtifactsBinDir)\fsc\Proto\net46 + $(ArtifactsBinDir)/fsc/Proto/netcoreapp2.1 4.4.0 diff --git a/FSharpBuild.Directory.Build.targets b/FSharpBuild.Directory.Build.targets index 375416e5cf3..ef7f82861c5 100644 --- a/FSharpBuild.Directory.Build.targets +++ b/FSharpBuild.Directory.Build.targets @@ -34,42 +34,6 @@ - - - - - coreclr - net40 - $(MSBuildProjectDirectory)\$(OutputPath) - $(OutputPath) - $(RepoRoot)$(Configuration)\$(TargetDotnetProfile)\bin - $(RepoRoot)$(Configuration)\$(TargetDotnetProfile)\obj - - - - - - - - - - - - - - - - diff --git a/FSharpTests.Directory.Build.props b/FSharpTests.Directory.Build.props index eb20065bec2..d9fc35fc05d 100644 --- a/FSharpTests.Directory.Build.props +++ b/FSharpTests.Directory.Build.props @@ -1,48 +1,43 @@ - - - <_FSharpCompilerPath>$(MSBuildThisFileDirectory)$(Configuration)/net40/bin - + true - $(_FSharpCompilerPath) + $(MSBuildThisFileDirectory)artifacts\bin\fsc\$(Configuration)\net46 fsc.exe - $(_FSharpCompilerPath) + $(MSBuildThisFileDirectory)artifacts\bin\fsi\$(Configuration)\net46 fsi.exe - - - <_FSharpCompilerPath>$(MSBuildThisFileDirectory)$(Configuration)/coreclr/bin - + true - $(MSBuildThisFileDirectory)Tools/dotnet20 + + $(MSBuildThisFileDirectory)artifacts\toolset\dotnet dotnet.exe dotnet - $(_FSharpCompilerPath)/fsc.exe + $(MSBuildThisFileDirectory)artifacts\bin\fsc\$(Configuration)\netcoreapp2.1\fsc.exe - $(MSBuildThisFileDirectory)Tools/dotnet20 + $(MSBuildThisFileDirectory)artifacts\toolset\dotnet dotnet.exe dotnet - $(_FSharpCompilerPath)/fsi.exe + $(MSBuildThisFileDirectory)artifacts\bin\fsi\$(Configuration)\netcoreapp2.0\fsi.exe - $(_FSharpCompilerPath)/Microsoft.FSharp.Targets - $(_FSharpCompilerPath)/Microsoft.FSharp.NetSdk.props - $(_FSharpCompilerPath)/Microsoft.FSharp.NetSdk.targets - $(_FSharpCompilerPath)/Microsoft.FSharp.Overrides.NetSdk.targets - + <_FSharpBuildTargetFramework Condition="'$(FSharpTestCompilerVersion)' == 'net40'">net46 + <_FSharpBuildTargetFramework Condition="'$(FSharpTestCompilerVersion)' == 'coreclr'">netstandard2.0 + <_FSharpBuildBinPath>$(MSBuildThisFileDirectory)artifacts\bin\FSharp.Build\$(Configuration)\$(_FSharpBuildTargetFramework) + $(_FSharpBuildBinPath)\FSharp.Build.dll - - - $(MSBuildThisFileDirectory)$(Configuration)\coreclr\bin\FSharp.Build.dll - $(MSBuildThisFileDirectory)$(Configuration)\net40\bin\FSharp.Build.dll + $(_FSharpBuildBinPath)/Microsoft.FSharp.Targets + $(_FSharpBuildBinPath)/Microsoft.FSharp.NetSdk.props + $(_FSharpBuildBinPath)/Microsoft.FSharp.NetSdk.targets + $(_FSharpBuildBinPath)/Microsoft.FSharp.Overrides.NetSdk.targets - \ No newline at end of file + + diff --git a/Makefile b/Makefile index d596299cb57..e402025e0ef 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,12 @@ Configuration ?= release DotNetVersion = `cat DotnetCLIToolsVersion.txt` -DotNetExe = "$(CURDIR)/Tools/dotnet20/dotnet" +DotNetToolPath = $(CURDIR)/artifacts/toolset/dotnet +DotNetExe = "$(DotNetToolPath)/dotnet" all: proto restore build test tools: - $(CURDIR)/scripts/dotnet-install.sh --version $(DotNetVersion) --install-dir $(CURDIR)/Tools/dotnet20 + $(CURDIR)/scripts/dotnet-install.sh --version $(DotNetVersion) --install-dir "$(DotNetToolPath)" global.json: tools echo { \"sdk\": { \"version\": \"$(DotNetVersion)\" } }>global.json @@ -14,18 +15,18 @@ proto: global.json $(DotNetExe) build-server shutdown $(DotNetExe) restore src/buildtools/buildtools.proj $(DotNetExe) restore src/fsharp/FSharp.Build/FSharp.Build.fsproj - $(DotNetExe) restore src/fsharp/Fsc/Fsc.fsproj + $(DotNetExe) restore src/fsharp/fsc/fsc.fsproj $(DotNetExe) build src/buildtools/buildtools.proj -c Proto $(DotNetExe) build src/fsharp/FSharp.Build/FSharp.Build.fsproj -f netstandard2.0 -c Proto - $(DotNetExe) build src/fsharp/Fsc/Fsc.fsproj -f netcoreapp2.1 -c Proto + $(DotNetExe) build src/fsharp/fsc/fsc.fsproj -f netcoreapp2.1 -c Proto restore: global.json $(DotNetExe) restore src/fsharp/FSharp.Core/FSharp.Core.fsproj $(DotNetExe) restore src/fsharp/FSharp.Build/FSharp.Build.fsproj $(DotNetExe) restore src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj - $(DotNetExe) restore src/fsharp/Fsc/Fsc.fsproj + $(DotNetExe) restore src/fsharp/fsc/fsc.fsproj $(DotNetExe) restore src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj - $(DotNetExe) restore src/fsharp/fsi/Fsi.fsproj + $(DotNetExe) restore src/fsharp/fsi/fsi.fsproj $(DotNetExe) restore tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj $(DotNetExe) restore tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj @@ -34,9 +35,9 @@ build: proto restore $(DotNetExe) build -c $(Configuration) -f netstandard1.6 src/fsharp/FSharp.Core/FSharp.Core.fsproj $(DotNetExe) build -c $(Configuration) -f netstandard2.0 src/fsharp/FSharp.Build/FSharp.Build.fsproj $(DotNetExe) build -c $(Configuration) -f netstandard1.6 src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj - $(DotNetExe) build -c $(Configuration) -f netcoreapp2.1 src/fsharp/Fsc/Fsc.fsproj + $(DotNetExe) build -c $(Configuration) -f netcoreapp2.1 src/fsharp/fsc/fsc.fsproj $(DotNetExe) build -c $(Configuration) -f netstandard1.6 src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj - $(DotNetExe) build -c $(Configuration) -f netcoreapp2.0 src/fsharp/fsi/Fsi.fsproj + $(DotNetExe) build -c $(Configuration) -f netcoreapp2.0 src/fsharp/fsi/fsi.fsproj $(DotNetExe) build -c $(Configuration) -f netcoreapp2.0 tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj $(DotNetExe) build -c $(Configuration) -f netcoreapp2.0 tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj @@ -45,6 +46,4 @@ test: build $(DotNetExe) test -f netcoreapp2.0 -c $(Configuration) --no-restore --no-build tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj -l "trx;LogFileName=$(CURDIR)/tests/TestResults/FSharp.Build.UnitTests.coreclr.trx" clean: - rm -rf $(CURDIR)/Proto - rm -rf $(CURDIR)/debug - rm -rf $(CURDIR)/release + rm -rf $(CURDIR)/artifacts diff --git a/PublishToBlob.proj b/PublishToBlob.proj index 00bcee63359..71fbfad44ed 100644 --- a/PublishToBlob.proj +++ b/PublishToBlob.proj @@ -17,7 +17,7 @@ - + diff --git a/artifacts/.gitignore b/artifacts/.gitignore deleted file mode 100644 index 72e8ffc0db8..00000000000 --- a/artifacts/.gitignore +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/build.cmd b/build.cmd index 504616ccab2..389679d5ba4 100644 --- a/build.cmd +++ b/build.cmd @@ -63,7 +63,7 @@ set BUILD_CORECLR=0 set BUILD_FROMSOURCE=0 set BUILD_VS=0 set BUILD_FCS=0 -set BUILD_CONFIG=release +set BUILD_CONFIG=Release set BUILD_DIAG= set BUILD_PUBLICSIGN=0 @@ -228,8 +228,8 @@ if /i "%ARG%" == "microbuild" ( set CI=1 REM redirecting TEMP directories - set TEMP=%~dp0%BUILD_CONFIG%\TEMP - set TMP=%~dp0%BUILD_CONFIG%\TEMP + set TEMP=%~dp0artifacts\tmp + set TMP=%~dp0artifacts\tmp ) if /i "%ARG%" == "nuget" ( @@ -319,11 +319,11 @@ if /i "%ARG%" == "diag" ( ) if /i "%ARG%" == "debug" ( - set BUILD_CONFIG=debug + set BUILD_CONFIG=Debug ) if /i "%ARG%" == "release" ( - set BUILD_CONFIG=release + set BUILD_CONFIG=Release ) if /i "%ARG%" == "test-sign" ( @@ -614,13 +614,13 @@ echo { "sdk": { "version": "%DOTNET_TOOLS_VERSION%" } }>global.json :: Restore the Tools directory call "%~dp0init-tools.cmd" -set _dotnetexe=%~dp0Tools\dotnet20\dotnet.exe -set path=%~dp0Tools\dotnet20\;%path% +set _dotnetexe=%~dp0artifacts\toolset\dotnet\dotnet.exe +set path=%~dp0artifacts\toolset\dotnet;%path% if not "%PB_PackageVersionPropsUrl%" == "" ( echo ----------- do dependency uptake check ----------- - set dependencyUptakeDir=%~dp0Tools\dependencyUptake + set dependencyUptakeDir=%~dp0artifacts\dependencyUptake if not exist "!dependencyUptakeDir!" mkdir "!dependencyUptakeDir!" :: download package version overrides @@ -647,19 +647,19 @@ if "%BUILD_PROTO_WITH_CORECLR_LKG%" == "1" ( ) echo ---------------- Done with package restore, starting proto ------------------------ -set logdir=%~dp0%BUILD_CONFIG%\logs +set logdir=%~dp0artifacts\log\%BUILD_CONFIG% if not exist "!logdir!" mkdir "!logdir!" rem Build Proto if "%BUILD_PROTO%" == "1" ( - rmdir /s /q Proto + rmdir /s /q artifacts/bin/fsc/Proto - echo %_msbuildexe% proto.proj /t:Restore /bl:%~dp0Proto\proto.proj.restore.binlog - %_msbuildexe% proto.proj /t:Restore /bl:%~dp0Proto\proto.proj.restore.binlog + echo %_msbuildexe% proto.proj /t:Restore /bl:%~dp0artifacts\log\Proto\proto.proj.restore.binlog + %_msbuildexe% proto.proj /t:Restore /bl:%~dp0artifacts\log\Proto\proto.proj.restore.binlog @if ERRORLEVEL 1 echo Error restoring proto failed && goto :failure - echo %_msbuildexe% proto.proj /t:Build /bl:%~dp0Proto\proto.proj.build.binlog - %_msbuildexe% proto.proj /t:Build /bl:%~dp0Proto\proto.proj.build.binlog + echo %_msbuildexe% proto.proj /t:Build /bl:%~dp0artifacts\log\Proto\proto.proj.build.binlog + %_msbuildexe% proto.proj /t:Build /bl:%~dp0artifacts\log\Proto\proto.proj.build.binlog @if ERRORLEVEL 1 echo Error building proto failed && goto :failure ) @@ -667,11 +667,11 @@ echo ---------------- Done with SDK restore, starting build -------------------- if "%BUILD_PHASE%" == "1" ( - echo %_msbuildexe% fsharp.proj /t:Restore /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\fsharp.proj.restore.binlog - %_msbuildexe% fsharp.proj /t:Restore /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\fsharp.proj.restore.binlog + echo %_dotnetexe% restore fsharp.proj /p:Configuration=%BUILD_CONFIG% /bl:!logdir!\fsharp.proj.restore.binlog + %_dotnetexe% restore fsharp.proj /p:Configuration=%BUILD_CONFIG% /bl:!logdir!\fsharp.proj.restore.binlog - echo %_msbuildexe% fsharp.proj /t:Build /p:Configuration=%BUILD_CONFIG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN% /bl:%~dp0%BUILD_CONFIG%\fsharp.proj.build.binlog - %_msbuildexe% fsharp.proj /t:Build /p:Configuration=%BUILD_CONFIG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN% /bl:%~dp0%BUILD_CONFIG%\fsharp.proj.build.binlog + echo %_msbuildexe% fsharp.proj /t:Build /p:Configuration=%BUILD_CONFIG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN% /bl:!logdir!\fsharp.proj.build.binlog + %_msbuildexe% fsharp.proj /t:Build /p:Configuration=%BUILD_CONFIG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN% /bl:!logdir!\fsharp.proj.build.binlog @if ERRORLEVEL 1 echo Error build failed && goto :failure ) @@ -681,8 +681,8 @@ set asmvercheckpath=%~dp0tests\fsharpqa\testenv\src\AssemblyVersionCheck if "%BUILD_NET40%" == "1" ( echo #r @"%USERPROFILE%\.nuget\packages\Newtonsoft.Json\9.0.1\lib\net45\Newtonsoft.Json.dll">%asmvercheckpath%\assemblies.fsx - echo "%~dp0%BUILD_CONFIG%\net40\bin\fsi.exe" "%asmvercheckpath%\AssemblyVersionCheck.fsx" -- "%~dp0build\config\AssemblySignToolData.json" "%~dp0%BUILD_CONFIG%" - "%~dp0%BUILD_CONFIG%\net40\bin\fsi.exe" "%asmvercheckpath%\AssemblyVersionCheck.fsx" -- "%~dp0build\config\AssemblySignToolData.json" "%~dp0%BUILD_CONFIG%" + echo "%~dp0artifacts\bin\fsi\%BUILD_CONFIG%\net46\fsi.exe" "%asmvercheckpath%\AssemblyVersionCheck.fsx" -- "%~dp0build\config\AssemblySignToolData.json" "%~dp0artifacts\bin" + "%~dp0artifacts\bin\fsi\%BUILD_CONFIG%\net46\fsi.exe" "%asmvercheckpath%\AssemblyVersionCheck.fsx" -- "%~dp0build\config\AssemblySignToolData.json" "%~dp0artifacts\bin" if ERRORLEVEL 1 echo Error verifying assembly versions and commit hashes. && goto :failure ) @@ -692,56 +692,46 @@ if not "%SIGN_TYPE%" == "" ( echo %_msbuildexe% build\projects\Signing.proj /t:Restore %_msbuildexe% build\projects\Signing.proj /t:Restore - echo %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\AssemblySignToolData.json - %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\AssemblySignToolData.json + echo %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:BinaryBasePath=%~dp0artifacts\bin /p:ConfigFile=%~dp0build\config\AssemblySignToolData.json + %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:BinaryBasePath=%~dp0artifacts\bin /p:ConfigFile=%~dp0build\config\AssemblySignToolData.json if ERRORLEVEL 1 echo Error running sign tool && goto :failure ) echo ---------------- Done with assembly signing, start package creation --------------- -echo %_msbuildexe% %msbuildflags% build-nuget-packages.proj /p:Configuration=%BUILD_CONFIG% /t:Pack /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-nuget-packages.build.%BUILD_CONFIG%.binlog - %_msbuildexe% %msbuildflags% build-nuget-packages.proj /p:Configuration=%BUILD_CONFIG% /t:Pack /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-nuget-packages.build.%BUILD_CONFIG%.binlog +echo %_msbuildexe% %msbuildflags% build-nuget-packages.proj /p:Configuration=%BUILD_CONFIG% /t:Pack /bl:!logdir!\msbuild.build-nuget-packages.build.%BUILD_CONFIG%.binlog + %_msbuildexe% %msbuildflags% build-nuget-packages.proj /p:Configuration=%BUILD_CONFIG% /t:Pack /bl:!logdir!\msbuild.build-nuget-packages.build.%BUILD_CONFIG%.binlog if ERRORLEVEL 1 echo Error building NuGet packages && goto :failure if not "%SIGN_TYPE%" == "" ( - echo %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\PackageSignToolData.json - %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\PackageSignToolData.json + echo %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:BinaryBasepath=%~dp0artifacts\packages\%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\PackageSignToolData.json + %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:BinaryBasepath=%~dp0artifacts\packages\%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\PackageSignToolData.json if ERRORLEVEL 1 echo Error running sign tool && goto :failure ) if "%BUILD_SETUP%" == "1" ( - echo %_msbuildexe% %msbuildflags% setup\build-insertion.proj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-insertion.build.%BUILD_CONFIG%.binlog - %_msbuildexe% %msbuildflags% setup\build-insertion.proj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-insertion.build.%BUILD_CONFIG%.binlog + echo %_msbuildexe% %msbuildflags% setup\build-insertion.proj /p:Configuration=%BUILD_CONFIG% /bl:!logdir!\msbuild.build-insertion.build.%BUILD_CONFIG%.binlog + %_msbuildexe% %msbuildflags% setup\build-insertion.proj /p:Configuration=%BUILD_CONFIG% /bl:!logdir!\msbuild.build-insertion.build.%BUILD_CONFIG%.binlog if ERRORLEVEL 1 echo Error building insertion packages && goto :failure ) if not "%SIGN_TYPE%" == "" ( - echo %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\InsertionSignToolData.json - %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\InsertionSignToolData.json + echo %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:BinaryBasepath=%~dp0artifacts\VSSetup\%BUILD_CONFIG%\Insertion /p:ConfigFile=%~dp0build\config\InsertionSignToolData.json + %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:BinaryBasePath=%~dp0artifacts\VSSetup\%BUILD_CONFIG%\Insertion /p:ConfigFile=%~dp0build\config\InsertionSignToolData.json if ERRORLEVEL 1 echo Error running sign tool && goto :failure ) echo ---------------- Done with signing, building insertion files --------------- if "%BUILD_SETUP%" == "1" ( - echo %_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.setup-swix.build.%BUILD_CONFIG%.binlog - %_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.setup-swix.build.%BUILD_CONFIG%.binlog + echo %_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG% /bl:!logdir!\msbuild.setup-swix.build.%BUILD_CONFIG%.binlog + %_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG% /bl:!logdir!\msbuild.setup-swix.build.%BUILD_CONFIG%.binlog if ERRORLEVEL 1 echo Error building .vsmanproj && goto :failure ) echo ---------------- Done building insertion files, starting pack/update/prepare --------------- -if "%BUILD_NET40_FSHARP_CORE%" == "1" ( - echo ---------------- start update.cmd --------------- - call src\update.cmd %BUILD_CONFIG% -ngen -) - -if "%COPY_FSCOMP_RESOURCE_FOR_BUILD_FROM_SOURCES%" == "1" ( - echo ---------------- copy fscomp resource for build from sources --------------- - copy /y src\fsharp\FSharp.Compiler.Private\obj\%BUILD_CONFIG%\net40\FSComp.* src\buildfromsource\FSharp.Compiler.Private -) - set X86_PROGRAMFILES=%ProgramFiles% if "%OSARCH%"=="AMD64" set X86_PROGRAMFILES=%ProgramFiles(x86)% @@ -787,21 +777,19 @@ if not exist "%link_exe%" ( if /I not "%single_threaded%" == "true" (set PARALLEL_ARG=-procs:%NUMBER_OF_PROCESSORS%) else set PARALLEL_ARG=-procs:0 -set FSCBINPATH=%~dp0%BUILD_CONFIG%\net40\bin -set RESULTSDIR=%~dp0tests\TestResults -if not exist "%RESULTSDIR%" (mkdir "%RESULTSDIR%") +set FSCBINPATH=%~dp0artifacts\bin\fsc\%BUILD_CONFIG%\net46 ECHO FSCBINPATH=%FSCBINPATH% -ECHO RESULTSDIR=%RESULTSDIR% ECHO link_exe=%link_exe% REM ---------------- test-net40-fsharp ----------------------- +set TESTLOGDIR=%~dp0artifacts\TestResults\%BUILD_CONFIG% if "%TEST_NET40_FSHARP_SUITE%" == "1" ( - set LOGFILE=%~dp0tests\TestResults\FSharp.Tests.FSharpSuite.net40.trx - echo "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\net40\bin" - "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\net40\bin" + set LOGFILE=%TESTLOGDIR%\FSharp.Tests.FSharpSuite_net46.trx + echo "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" + "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" if errorlevel 1 ( echo -------------------------------------------------------------- @@ -809,13 +797,20 @@ if "%TEST_NET40_FSHARP_SUITE%" == "1" ( echo -------------------------------------------------------------- goto :failure ) + + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) ) REM ---------------- test-fcs ----------------------- if "%TEST_FCS%" == "1" ( - set LOGFILE=%~dp0tests\TestResults\FSharp.Compiler.Service.Tests.net40.trx + set LOGFILE=%TESTLOGDIR%\FSharp.Compiler.Service.Tests_net46.trx echo "%_dotnetexe%" test "%~dp0fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" "%_dotnetexe%" test "%~dp0fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" @@ -826,7 +821,14 @@ if "%TEST_FCS%" == "1" ( goto :failure ) - set LOGFILE=%~dp0tests\TestResults\FSharp.Compiler.Service.Tests.coreclr.trx + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) + + set LOGFILE=%TESTLOGDIR%\FSharp.Compiler.Service.Tests_netcoreapp2.0.trx echo "%_dotnetexe%" test "%~dp0fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" "%_dotnetexe%" test "%~dp0fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" @@ -836,6 +838,13 @@ if "%TEST_FCS%" == "1" ( echo -------------------------------------------------------------- goto :failure ) + + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) ) REM ---------------- end2end ----------------------- @@ -871,6 +880,7 @@ if "%TEST_NET40_FSHARPQA_SUITE%" == "1" ( set perlexe=%USERPROFILE%\.nuget\packages\StrawberryPerl64\5.22.2.1\Tools\perl\bin\perl.exe if not exist !perlexe! (echo Error: perl was not downloaded from check the packages directory: !perlexe! && goto :failure ) + set RESULTSDIR=%~dp0artifacts\TestResults\%BUILD_CONFIG% set OUTPUTFILE=test-net40-fsharpqa-results.log set ERRORFILE=test-net40-fsharpqa-errors.log set FAILENV=test-net40-fsharpqa-errors @@ -881,9 +891,10 @@ if "%TEST_NET40_FSHARPQA_SUITE%" == "1" ( popd if ERRORLEVEL 1 ( - type "%RESULTSDIR%\!OUTPUTFILE!" echo ----------------------------------------------------------------- - type "%RESULTSDIR%\!ERRORFILE!" + type "!RESULTSDIR!\!OUTPUTFILE!" + echo ----------------------------------------------------------------- + type "!RESULTSDIR!\!ERRORFILE!" echo ----------------------------------------------------------------- echo Error: Running tests net40-fsharpqa failed, see logs above -- FAILED echo ----------------------------------------------------------------- @@ -895,7 +906,7 @@ REM ---------------- net40-compilerunit ----------------------- if "%TEST_NET40_COMPILERUNIT_SUITE%" == "1" ( - set LOGFILE=%~dp0tests\TestResults\FSharp.Compiler.UnitTests.net40.trx + set LOGFILE=%TESTLOGDIR%\FSharp.Compiler.UnitTests_net46.trx echo "%_dotnetexe%" test "%~dp0tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" "%_dotnetexe%" test "%~dp0tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" @@ -906,7 +917,14 @@ if "%TEST_NET40_COMPILERUNIT_SUITE%" == "1" ( goto :failure ) - set LOGFILE=%~dp0tests\TestResults\FSharp.Build.UnitTests.net40.trx + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) + + set LOGFILE=%TESTLOGDIR%\FSharp.Build.UnitTests_net46.trx echo "%_dotnetexe%" test "%~dp0tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" "%_dotnetexe%" test "%~dp0tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" @@ -916,13 +934,20 @@ if "%TEST_NET40_COMPILERUNIT_SUITE%" == "1" ( echo ----------------------------------------------------------------- goto :failure ) + + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) ) REM ---------------- net40-coreunit ----------------------- if "%TEST_NET40_COREUNIT_SUITE%" == "1" ( - set LOGFILE=%~dp0tests\TestResults\FSharp.Core.UnitTests.net40.trx + set LOGFILE=%TESTLOGDIR%\FSharp.Core.UnitTests_net46.trx echo "%_dotnetexe%" test "%~dp0tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" "%_dotnetexe%" test "%~dp0tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" @@ -932,13 +957,20 @@ if "%TEST_NET40_COREUNIT_SUITE%" == "1" ( echo ----------------------------------------------------------------- goto :failure ) + + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) ) REM ---------------- coreclr-coreunit ----------------------- if "%TEST_CORECLR_COREUNIT_SUITE%" == "1" ( - set LOGFILE=%~dp0tests\TestResults\FSharp.Build.UnitTests.coreclr.trx + set LOGFILE=%TESTLOGDIR%\FSharp.Build.UnitTests_netcoreapp2.0.trx echo "%_dotnetexe%" test "%~dp0tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" "%_dotnetexe%" test "%~dp0tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" @@ -949,7 +981,14 @@ if "%TEST_CORECLR_COREUNIT_SUITE%" == "1" ( goto :failure ) - set LOGFILE=%~dp0tests\TestResults\FSharp.Core.UnitTests.coreclr.trx + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) + + set LOGFILE=%TESTLOGDIR%\FSharp.Core.UnitTests_netcoreapp2.0.trx echo "%_dotnetexe%" test "%~dp0tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" "%_dotnetexe%" test "%~dp0tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" @@ -959,14 +998,21 @@ if "%TEST_CORECLR_COREUNIT_SUITE%" == "1" ( echo ------------------------------------------------------------------ goto :failure ) + + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) ) REM ---------------- coreclr-fsharp ----------------------- if "%TEST_CORECLR_FSHARP_SUITE%" == "1" ( - set LOGFILE=%~dp0tests\TestResults\FSharp.Tests.FSharpSuite.coreclr.trx - echo "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\coreclr\bin" - "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\coreclr\bin" + set LOGFILE=%TESTLOGDIR%\FSharp.Tests.FSharpSuite_netcoreapp2.0.trx + echo "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" + "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" if errorlevel 1 ( echo ---------------------------------------------------------------- @@ -974,12 +1020,19 @@ if "%TEST_CORECLR_FSHARP_SUITE%" == "1" ( echo ---------------------------------------------------------------- goto :failure ) + + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) ) REM ---------------- vs-ideunit ----------------------- if "%TEST_VS_IDEUNIT_SUITE%" == "1" ( - set LOGFILE=%~dp0tests\TestResults\GetTypesVSUnitTests.net40.trx + set LOGFILE=%TESTLOGDIR%\GetTypesVSUnitTests_net46.trx echo "%_dotnetexe%" test "%~dp0vsintegration\tests\GetTypesVSUnitTests\GetTypesVSUnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" "%_dotnetexe%" test "%~dp0vsintegration\tests\GetTypesVSUnitTests\GetTypesVSUnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" @@ -990,15 +1043,29 @@ if "%TEST_VS_IDEUNIT_SUITE%" == "1" ( goto :failure ) - set LOGFILE=%~dp0tests\TestResults\VisualFSharp.UnitTests.net40.trx - echo "%_dotnetexe%" test "%~dp0vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\net40\bin" - "%_dotnetexe%" test "%~dp0vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\net40\bin" + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) + + set LOGFILE=%TESTLOGDIR%\VisualFSharp.UnitTests_net46.trx + echo "%_dotnetexe%" test "%~dp0vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" + "%_dotnetexe%" test "%~dp0vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" if errorlevel 1 ( echo ------------------------------------------------------------ echo Error: Running tests vs-ideunit failed, see file `!LOGFILE!` echo ------------------------------------------------------------ goto :failure ) + + if not exist "!LOGFILE!" ( + echo -------------------------------------------------------- + echo Test results file !LOGFILE! not found, ensure tests ran. + echo -------------------------------------------------------- + goto :failure + ) ) goto :success diff --git a/build/config/AssemblySignToolData.json b/build/config/AssemblySignToolData.json index 6857a57f0dd..3cd0f5b61c1 100644 --- a/build/config/AssemblySignToolData.json +++ b/build/config/AssemblySignToolData.json @@ -4,55 +4,45 @@ "certificate": "Microsoft", "strongName": "StrongName", "values": [ - "net40\\bin\\FSharp.Core.dll", - "net40\\bin\\*\\FSharp.Core.resources.dll", - "net40\\bin\\FSharp.Build.dll", - "net40\\bin\\*\\FSharp.Build.resources.dll", - "net40\\bin\\FSharp.Compiler.Private.dll", - "net40\\bin\\*\\FSharp.Compiler.Private.resources.dll", - "net40\\bin\\FSharp.Compiler.Server.Shared.dll", - "net40\\bin\\FSharp.Compiler.Interactive.Settings.dll", - "net40\\bin\\*\\FSharp.Compiler.Interactive.Settings.resources.dll", - "net40\\bin\\fsc.exe", - "net40\\bin\\fsi.exe", - "net40\\bin\\fsiAnyCpu.exe", - "net40\\bin\\FSharp.VS.FSI.dll", - "net40\\bin\\*\\FSharp.VS.FSI.resources.dll", - "net40\\bin\\FSharp.LanguageService.Base.dll", - "net40\\bin\\*\\FSharp.LanguageService.Base.resources.dll", - "net40\\bin\\FSharp.LanguageService.dll", - "net40\\bin\\*\\FSharp.LanguageService.resources.dll", - "net40\\bin\\FSharp.UIResources.dll", - "net40\\bin\\*\\FSharp.UIResources.resources.dll", - "net40\\bin\\FSharp.Editor.dll", - "net40\\bin\\*\\FSharp.Editor.resources.dll", - "net40\\bin\\FSharp.ProjectSystem.Base.dll", - "net40\\bin\\*\\FSharp.ProjectSystem.Base.resources.dll", - "net40\\bin\\FSharp.ProjectSystem.PropertyPages.dll", - "net40\\bin\\*\\FSharp.ProjectSystem.PropertyPages.resources.dll", - "net40\\bin\\FSharp.ProjectSystem.FSharp.dll", - "net40\\bin\\*\\FSharp.ProjectSystem.FSharp.resources.dll", - "net40\\bin\\FSharp.PatternMatcher.dll", - "coreclr\\bin\\FSharp.Core.dll", - "coreclr\\bin\\*\\FSharp.Core.resources.dll", - "coreclr\\bin\\FSharp.Build.dll", - "coreclr\\bin\\*\\FSharp.Build.resources.dll", - "coreclr\\bin\\FSharp.Compiler.Private.dll", - "coreclr\\bin\\*\\FSharp.Compiler.Private.resources.dll", - "coreclr\\bin\\FSharp.Compiler.Interactive.Settings.dll", - "coreclr\\bin\\*\\FSharp.Compiler.Interactive.Settings.resources.dll", - "coreclr\\bin\\fsc.exe", - "coreclr\\bin\\fsi.exe" + "FSharp.Core\\*\\*\\FSharp.Core.dll", + "FSharp.Core\\*\\*\\*\\FSharp.Core.resources.dll", + "FSharp.Build\\*\\*\\FSharp.Build.dll", + "FSharp.Build\\*\\*\\*\\FSharp.Build.resources.dll", + "FSharp.Compiler.Private\\*\\*\\FSharp.Compiler.Private.dll", + "FSharp.Compiler.Private\\*\\*\\*\\FSharp.Compiler.Private.resources.dll", + "FSharp.Compiler.Server.Shared\\*\\*\\FSharp.Compiler.Server.Shared.dll", + "FSharp.Compiler.Interactive.Settings\\*\\*\\FSharp.Compiler.Interactive.Settings.dll", + "FSharp.Compiler.Interactive.Settings\\*\\*\\*\\FSharp.Compiler.Interactive.Settings.resources.dll", + "fsc\\*\\*\\fsc.exe", + "fsi\\*\\*\\fsi.exe", + "fsiAnyCpu\\*\\*\\fsiAnyCpu.exe", + "FSharp.VS.FSI\\*\\*\\FSharp.VS.FSI.dll", + "FSharp.VS.FSI\\*\\*\\*\\FSharp.VS.FSI.resources.dll", + "FSharp.LanguageService.Base\\*\\*\\FSharp.LanguageService.Base.dll", + "FSharp.LanguageService.Base\\*\\*\\*\\FSharp.LanguageService.Base.resources.dll", + "FSharp.LanguageService\\*\\*\\FSharp.LanguageService.dll", + "FSharp.LanguageService\\*\\*\\*\\FSharp.LanguageService.resources.dll", + "FSharp.UIResources\\*\\*\\FSharp.UIResources.dll", + "FSharp.UIResources\\*\\*\\*\\FSharp.UIResources.resources.dll", + "FSharp.Editor\\*\\*\\FSharp.Editor.dll", + "FSharp.Editor\\*\\*\\*\\FSharp.Editor.resources.dll", + "FSharp.ProjectSystem.Base\\*\\*\\FSharp.ProjectSystem.Base.dll", + "FSharp.ProjectSystem.Base\\*\\*\\*\\FSharp.ProjectSystem.Base.resources.dll", + "FSharp.ProjectSystem.PropertyPages\\*\\*\\FSharp.ProjectSystem.PropertyPages.dll", + "FSharp.ProjectSystem.PropertyPages\\*\\*\\*\\FSharp.ProjectSystem.PropertyPages.resources.dll", + "FSharp.ProjectSystem.FSharp\\*\\*\\FSharp.ProjectSystem.FSharp.dll", + "FSharp.ProjectSystem.FSharp\\*\\*\\*\\FSharp.ProjectSystem.FSharp.resources.dll", + "FSharp.PatternMatcher\\*\\*\\FSharp.PatternMatcher.dll" ] }, { "certificate": "VsixSHA2", "strongName": null, "values": [ - "net40\\bin\\VisualFSharpFull.vsix", - "net40\\bin\\VisualFSharpTemplate.vsix", - "insertion\\Microsoft.FSharp.Dependencies.vsix", - "insertion\\Microsoft.FSharp.VSIX.Full.Resources.*.vsix" + "VisualFSharpFull\\*\\*VisualFSharpFull.vsix", + "VisualFSharpTemplates\\*\\*\\VisualFSharpTemplate.vsix", + "..\\VSSetup\\*\\Insertion\\Microsoft.FSharp.Dependencies.vsix", + "..\\VSSetup\\*\\Insertion\\Microsoft.FSharp.VSIX.Full.Resources.*.vsix" ] } ], diff --git a/build/config/InsertionSignToolData.json b/build/config/InsertionSignToolData.json index ec8432ca9ad..d81579b12c9 100644 --- a/build/config/InsertionSignToolData.json +++ b/build/config/InsertionSignToolData.json @@ -4,11 +4,11 @@ "certificate": "VsixSHA2", "strongName": null, "values": [ - "insertion\\Microsoft.FSharp.Compiler.vsix", - "insertion\\Microsoft.FSharp.Compiler.Resources.*.vsix", - "insertion\\Microsoft.FSharp.Dependencies.vsix", - "insertion\\Microsoft.FSharp.IDE.vsix", - "insertion\\Microsoft.FSharp.SDK.vsix" + "Microsoft.FSharp.Compiler.vsix", + "Microsoft.FSharp.Compiler.Resources.*.vsix", + "Microsoft.FSharp.Dependencies.vsix", + "Microsoft.FSharp.IDE.vsix", + "Microsoft.FSharp.SDK.vsix" ] } ], diff --git a/build/config/PackageSignToolData.json b/build/config/PackageSignToolData.json index 20007f59e36..5bc74386355 100644 --- a/build/config/PackageSignToolData.json +++ b/build/config/PackageSignToolData.json @@ -4,8 +4,7 @@ "certificate": "NuGet", "strongName": null, "values": [ - "artifacts\\*.nupkg", - "artifacts\\*\\*.nupkg" + "*.nupkg" ] } ], diff --git a/build/projects/Signing.proj b/build/projects/Signing.proj index 4999fb6d085..9e981e135ec 100644 --- a/build/projects/Signing.proj +++ b/build/projects/Signing.proj @@ -3,7 +3,6 @@ net46 - $(RepoRoot)$(Configuration) $(NuGetPackageRoot)RoslynTools.SignTool\$(RoslynToolsSignToolPackageVersion)\tools\SignTool.exe -msbuildPath "$(MSBuildBinPath)\msbuild.exe" -nugetPackagesPath "$(NuGetPackageRoot.TrimEnd('\'))" -config "$(ConfigFile)" -testSign $(SignToolArgs) @@ -17,11 +16,12 @@ + - + diff --git a/build/targets/ConvertPortablePdbs.targets b/build/targets/ConvertPortablePdbs.targets index 474fe091a5d..c43042a499e 100644 --- a/build/targets/ConvertPortablePdbs.targets +++ b/build/targets/ConvertPortablePdbs.targets @@ -6,20 +6,33 @@ - $(FinalOutputPath)\ConvertedPdbs $(NuGetPackageRoot)Pdb2Pdb\$(Pdb2PdbPackageVersion)\tools\Pdb2Pdb.exe - "$(TargetPath)" /out "$(ConvertedPdbsDirectory)\$(TargetName).pdb" /srcsvrvar SRC_INDEX=public + "$(TargetPath)" /out "$(SymStoreDirectory)\$(TargetName).pdb" /srcsvrvar SRC_INDEX=public - + + + + $(TargetDir)\$(TargetName).pdb + + + + + + diff --git a/build/targets/GenerateAssemblyAttributes.targets b/build/targets/GenerateAssemblyAttributes.targets index 1be6bdb8315..7b747c9dd92 100644 --- a/build/targets/GenerateAssemblyAttributes.targets +++ b/build/targets/GenerateAssemblyAttributes.targets @@ -82,8 +82,7 @@ Inputs="$(MSBuildThisFileFullPath);$(MSBuildProjectFile)" Outputs="$(GeneratedFSharpAssemblyVersionFile)" DependsOnTargets="PrepareGenerateAssemblyFileVersion;PrepareForBuild" - BeforeTargets="CoreCompile" - Condition="'$(Configuration)' != 'Proto'"> + BeforeTargets="CoreCompile"> $(PB_RestoreSource);$(RestoreSources) - $(MSBuildThisFileDirectory)..\..\Tools\dependencyUptake\PackageVersions.props + $(MSBuildThisFileDirectory)..\..\artifacts\dependencyUptake\PackageVersions.props $([System.IO.File]::ReadAllText('$(MSBuildThisFileDirectory)..\..\RoslynPackageVersion.txt').Trim()) diff --git a/fcs/Directory.Build.props b/fcs/Directory.Build.props index cdcbdd4b8b3..6535dbd2aea 100644 --- a/fcs/Directory.Build.props +++ b/fcs/Directory.Build.props @@ -4,17 +4,19 @@ $(HOME)/.nuget/packages/ $(NuGetPackageRoot)\ $(NuGetPackageRoot)/ + $(MSBuildThisFileDirectory)..\artifacts + $(ArtifactsDir)\bin + $(ArtifactsDir)\obj + $(ArtifactsBinDir)\fcs + $(ArtifactsObjDir)\fcs - $(MSBuildThisFileDirectory)..\Proto\net40\bin + $(ArtifactsBinDir)\FSharp.Build\Proto\net46 - $(ProtoOutputPath)\Microsoft.FSharp.Targets $(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props $(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets diff --git a/fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj b/fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj index 42b99d95a05..1126a60f2b6 100644 --- a/fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj +++ b/fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj @@ -7,7 +7,6 @@ net45 true - ..\..\$(Configuration.ToLower())\fcs $(DefineConstants);CROSS_PLATFORM_COMPILER $(DefineConstants);ENABLE_MONO_SUPPORT diff --git a/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj b/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj index 1bf41b7bf27..c132ae80bb1 100644 --- a/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj +++ b/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj @@ -1,13 +1,9 @@  - - $(MSBuildProjectDirectory)\..\..\src - net45 true - ..\..\$(Configuration.ToLower())\fcs Legacy project file cracker for the F# compiler service. @@ -25,8 +21,8 @@ - - + + diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj index 9dddb1cb616..9f690c58ea1 100644 --- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj +++ b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj @@ -13,7 +13,6 @@ $(OtherFlags) --staticlink:FSharp.Core true false - ..\..\$(Configuration.ToLower())\fcs diff --git a/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj b/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj index 8d09c3a26f1..abe71b6159a 100644 --- a/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj +++ b/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj @@ -76,7 +76,7 @@ - + diff --git a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj index c5f1122386c..c5357aab06b 100644 --- a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj +++ b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj @@ -12,7 +12,6 @@ $(DefineConstants);COMPILER $(DefineConstants);ENABLE_MONO_SUPPORT $(DefineConstants);NO_STRONG_NAMES - ..\..\$(Configuration.ToLower())\fcs $(TargetFramework)\ $(TargetFramework)\ $(OtherFlags) /warnon:1182 diff --git a/fcs/build.fsx b/fcs/build.fsx index 204faa244ab..7f9f96f3574 100644 --- a/fcs/build.fsx +++ b/fcs/build.fsx @@ -13,8 +13,8 @@ open Fake.ReleaseNotesHelper #if MONO // prevent incorrect output encoding (e.g. https://github.com/fsharp/FAKE/issues/1196) System.Console.OutputEncoding <- System.Text.Encoding.UTF8 -CleanDir (__SOURCE_DIRECTORY__ + "/../tests/TestResults") -File.WriteAllText(__SOURCE_DIRECTORY__ + "/../tests/TestResults/notestsyet.txt","No tests yet") +CleanDir (__SOURCE_DIRECTORY__ + "/../artifacts/TestResults") +File.WriteAllText(__SOURCE_DIRECTORY__ + "/../artifacts/TestResults/notestsyet.txt","No tests yet") let isMono = true #else let isMono = false @@ -54,7 +54,7 @@ let runCmdIn workDir (exe:string) = Printf.ksprintf (fun (args:string) -> // The rest of the code is standard F# build script // -------------------------------------------------------------------------------------- -let releaseDir = Path.Combine(__SOURCE_DIRECTORY__, "../release/fcs") +let releaseDir = Path.Combine(__SOURCE_DIRECTORY__, "../artifacts/bin/fcs") // Read release notes & version info from RELEASE_NOTES.md let release = LoadReleaseNotes (__SOURCE_DIRECTORY__ + "/RELEASE_NOTES.md") diff --git a/fsharp.proj b/fsharp.proj index 42d2f15b16f..e695da391c9 100644 --- a/fsharp.proj +++ b/fsharp.proj @@ -41,25 +41,25 @@ - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + @@ -70,41 +70,40 @@ - + - - - + + + - - - - + + + + - + - - - + + + - - - - + + + - + @@ -116,24 +115,20 @@ - - - - - + - + - + - + diff --git a/init-tools.cmd b/init-tools.cmd index 2c1b6d60bdb..cbdeb27afef 100644 --- a/init-tools.cmd +++ b/init-tools.cmd @@ -2,7 +2,7 @@ setlocal enabledelayedexpansion set /p DOTNET_TOOLS_VERSION=<"%~dp0DotnetCLIToolsVersion.txt" -set DOTNET_TOOLS_PATH=%~dp0Tools\dotnet20 +set DOTNET_TOOLS_PATH=%~dp0artifacts\toolset\dotnet set dotnetexe=%DOTNET_TOOLS_PATH%\dotnet.exe set sdksentinel=%DOTNET_TOOLS_PATH%\sdk-version.txt diff --git a/proto.proj b/proto.proj index 96f223470ec..c3a704496ee 100644 --- a/proto.proj +++ b/proto.proj @@ -8,7 +8,7 @@ - + diff --git a/setup/Directory.Build.props b/setup/Directory.Build.props index 64b72eafc9f..bd233e75785 100644 --- a/setup/Directory.Build.props +++ b/setup/Directory.Build.props @@ -1,12 +1,21 @@ - - + true false + $(MSBuildThisFileDirectory) + $(SetupRootFolder)resources + $(SetupRootFolder)..\artifacts\bin + $(ArtifactsDir)\VSSetup\$(Configuration) + $(ArtifactsDir)\VSSetup.obj\$(Configuration)\$(MSBuildProjectName) + $(SetupRootFolder)..\artifacts\VSSetup\$(Configuration) + $(SetupRootFolder)..\artifacts\VSSetup\$(Configuration)\Insertion + + + $(VSMajorVersion).$(VSMinorVersion).$(BUILD_BUILDNUMBER) diff --git a/setup/Directory.Build.targets b/setup/Directory.Build.targets index 0619a12001e..ccd47cc0a9a 100644 --- a/setup/Directory.Build.targets +++ b/setup/Directory.Build.targets @@ -1,4 +1,3 @@ - diff --git a/setup/FSharp.Setup.props b/setup/FSharp.Setup.props deleted file mode 100644 index 25398779040..00000000000 --- a/setup/FSharp.Setup.props +++ /dev/null @@ -1,142 +0,0 @@ - - - - - $(MSBuildThisFileDirectory) - - - - - $(VSMajorVersion).$(VSMinorVersion).$(BUILD_BUILDNUMBER) - - - - Debug - AnyCPU - - - - $(SetupRootFolder)\..\$(Configuration) - $(BinariesDir)\net40\bin\ - $(BinariesDir)\insertion - obj\$(Configuration)\ - $(BinariesDir)\setup - $(BinariesDir)\setup\$(Lang) - - - - - ENU - 1033 - 9 - en - en-US - false - - - CHT - 1028 - 31748 - zh-Hant - zh-TW - true - - - CSY - 1029 - 5 - cs - cs-CZ - true - - - DEU - 1031 - 7 - de - de-DE - true - - - FRA - 1036 - 12 - fr - fr-FR - true - - - ITA - 1040 - 16 - it - it-IT - true - - - JPN - 1041 - 17 - ja - ja-JP - true - - - KOR - 1042 - 18 - ko - ko-KR - true - - - PLK - 1045 - 21 - pl - pl-PL - true - - - PTB - 1046 - 1046 - pt-BR - pt-BR - true - - - RUS - 1049 - 25 - ru - ru-RU - true - - - TRK - 1055 - 31 - tr - tr-TR - true - - - CHS - 2052 - 4 - zh-Hans - zh-CN - true - - - ESN - 3082 - 10 - es - es-ES - true - - - - diff --git a/setup/Localization.props b/setup/Localization.props new file mode 100644 index 00000000000..37c13afcd2c --- /dev/null +++ b/setup/Localization.props @@ -0,0 +1,120 @@ + + + + + + + ENU + 1033 + 9 + en + en-US + false + + + CHT + 1028 + 31748 + zh-Hant + zh-TW + true + + + CSY + 1029 + 5 + cs + cs-CZ + true + + + DEU + 1031 + 7 + de + de-DE + true + + + FRA + 1036 + 12 + fr + fr-FR + true + + + ITA + 1040 + 16 + it + it-IT + true + + + JPN + 1041 + 17 + ja + ja-JP + true + + + KOR + 1042 + 18 + ko + ko-KR + true + + + PLK + 1045 + 21 + pl + pl-PL + true + + + PTB + 1046 + 1046 + pt-BR + pt-BR + true + + + RUS + 1049 + 25 + ru + ru-RU + true + + + TRK + 1055 + 31 + tr + tr-TR + true + + + CHS + 2052 + 4 + zh-Hans + zh-CN + true + + + ESN + 3082 + 10 + es + es-ES + true + + + + diff --git a/setup/Swix/Directory.Build.props b/setup/Swix/Directory.Build.props index 92203d4e217..f64df1d29de 100644 --- a/setup/Swix/Directory.Build.props +++ b/setup/Swix/Directory.Build.props @@ -1,14 +1,14 @@ + + Debug neutral false vsix true - $(FSharpSourcesRoot)\..\$(Configuration) - $(BinariesFolder)\insertion - $(MSBuildProjectDirectory)\obj + $(ArtifactsBinDir) diff --git a/setup/Swix/Directory.Build.targets b/setup/Swix/Directory.Build.targets index 14437118703..974c6da4f1b 100644 --- a/setup/Swix/Directory.Build.targets +++ b/setup/Swix/Directory.Build.targets @@ -1,3 +1,10 @@ + + + + $(ArtifactsDir)\VSSetup\$(Configuration)\Insertion\$(OutputName).vsix + + + diff --git a/setup/Swix/Microsoft.FSharp.Compiler.Resources/Files.swr b/setup/Swix/Microsoft.FSharp.Compiler.Resources/Files.swr index 464fdd774ee..f3f60d490b9 100644 --- a/setup/Swix/Microsoft.FSharp.Compiler.Resources/Files.swr +++ b/setup/Swix/Microsoft.FSharp.Compiler.Resources/Files.swr @@ -5,7 +5,7 @@ package name=Microsoft.FSharp.Compiler.Resources vs.package.language=$(LocaleSpecificCulture) folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharpCompiler\$(LocaleParentCulture)" - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.Build.resources.dll" - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.Compiler.Interactive.Settings.resources.dll" - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.Compiler.Private.resources.dll" - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.Core.resources.dll" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.Build.resources.dll" + file source="$(BinariesFolder)\FSharp.Compiler.Interactive.Settings\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.Compiler.Interactive.Settings.resources.dll" + file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.Compiler.Private.resources.dll" + file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\$(LocaleParentCulture)\FSharp.Core.resources.dll" diff --git a/setup/Swix/Microsoft.FSharp.Compiler.Resources/Microsoft.FSharp.Compiler.Resources.swixproj b/setup/Swix/Microsoft.FSharp.Compiler.Resources/Microsoft.FSharp.Compiler.Resources.swixproj index 166cbb2d519..ac8e74d4854 100644 --- a/setup/Swix/Microsoft.FSharp.Compiler.Resources/Microsoft.FSharp.Compiler.Resources.swixproj +++ b/setup/Swix/Microsoft.FSharp.Compiler.Resources/Microsoft.FSharp.Compiler.Resources.swixproj @@ -10,6 +10,7 @@ $(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder) + $(PackagePreprocessorDefinitions);Configuration=$(Configuration) $(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion) $(PackagePreprocessorDefinitions);LocaleParentCulture=$(LocaleParentCulture) $(PackagePreprocessorDefinitions);LocaleSpecificCulture=$(LocaleSpecificCulture) diff --git a/setup/Swix/Microsoft.FSharp.Compiler/Files.swr b/setup/Swix/Microsoft.FSharp.Compiler/Files.swr index 58129a51ee0..b56667d2465 100644 --- a/setup/Swix/Microsoft.FSharp.Compiler/Files.swr +++ b/setup/Swix/Microsoft.FSharp.Compiler/Files.swr @@ -5,35 +5,35 @@ package name=Microsoft.FSharp.Compiler folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharp" - file source=$(BinariesFolder)\net40\bin\fsc.exe vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 vs.file.ngenApplication="[installDir]\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsc.exe" - file source="$(BinariesFolder)\net40\bin\fsc.exe.config" + file source=$(BinariesFolder)\fsc\$(Configuration)\net46\fsc.exe vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 vs.file.ngenApplication="[installDir]\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsc.exe" + file source="$(BinariesFolder)\fsc\$(Configuration)\net46\fsc.exe.config" - file source=$(BinariesFolder)\net40\bin\fsi.exe vs.file.ngen=yes vs.file.ngenArchitecture=X86 vs.file.ngenPriority=2 vs.file.ngenApplication="[installDir]\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsi.exe" - file source="$(BinariesFolder)\net40\bin\fsi.exe.config" + file source=$(BinariesFolder)\fsi\$(Configuration)\net46\fsi.exe vs.file.ngen=yes vs.file.ngenArchitecture=X86 vs.file.ngenPriority=2 vs.file.ngenApplication="[installDir]\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsi.exe" + file source="$(BinariesFolder)\fsi\$(Configuration)\net46\fsi.exe.config" - file source="$(BinariesFolder)\net40\bin\fsiAnyCpu.exe" vs.file.ngen=yes vs.file.ngenArchitecture=X64 vs.file.ngenPriority=2 vs.file.ngenApplication="[installDir]\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsiAnyCpu.exe" - file source="$(BinariesFolder)\net40\bin\fsiAnyCpu.exe.config" + file source="$(BinariesFolder)\fsiAnyCpu\$(Configuration)\net46\fsiAnyCpu.exe" vs.file.ngen=yes vs.file.ngenArchitecture=X64 vs.file.ngenPriority=2 vs.file.ngenApplication="[installDir]\Common7\IDE\CommonExtensions\Microsoft\FSharp\fsiAnyCpu.exe" + file source="$(BinariesFolder)\fsiAnyCpu\$(Configuration)\net46\fsiAnyCpu.exe.config" - file source="$(BinariesFolder)\net40\bin\FSharp.Compiler.Interactive.Settings.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 - file source="$(BinariesFolder)\net40\bin\FSharp.Compiler.Private.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 - file source="$(BinariesFolder)\net40\bin\FSharp.Compiler.Server.Shared.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 + file source="$(BinariesFolder)\FSharp.Compiler.Interactive.Settings\$(Configuration)\net46\FSharp.Compiler.Interactive.Settings.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 + file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\net46\FSharp.Compiler.Private.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 + file source="$(BinariesFolder)\FSharp.Compiler.Server.Shared\$(Configuration)\net46\FSharp.Compiler.Server.Shared.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 - file source="$(BinariesFolder)\net40\bin\FSharp.Core.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 - file source="$(BinariesFolder)\net40\bin\FSharp.Core.optdata" - file source="$(BinariesFolder)\net40\bin\FSharp.Core.sigdata" + file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 + file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.optdata" + file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.sigdata" - file source="$(BinariesFolder)\net40\bin\FSharp.Build.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\FSharp.Build.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2 file source="$(PackagesFolder)\Microsoft.VisualFSharp.Type.Providers.Redist\$(MicrosoftVisualFSharpTypeProvidersRedistPackageVersion)\content\4.3.0.0\FSharp.Data.TypeProviders.dll" - file source="$(BinariesFolder)\net40\bin\Microsoft.Build.dll" - file source="$(BinariesFolder)\net40\bin\Microsoft.Build.Framework.dll" - file source="$(BinariesFolder)\net40\bin\Microsoft.Build.Tasks.Core.dll" - file source="$(BinariesFolder)\net40\bin\Microsoft.Build.Utilities.Core.dll" - file source="$(BinariesFolder)\net40\bin\Microsoft.Portable.FSharp.Targets" - file source="$(BinariesFolder)\net40\bin\System.Collections.Immutable.dll" - file source="$(BinariesFolder)\net40\bin\System.Reflection.Metadata.dll" - file source="$(BinariesFolder)\net40\bin\System.ValueTuple.dll" - file source="$(BinariesFolder)\net40\bin\Microsoft.FSharp.NetSdk.props" - file source="$(BinariesFolder)\net40\bin\Microsoft.FSharp.NetSdk.targets" - file source="$(BinariesFolder)\net40\bin\Microsoft.FSharp.Overrides.NetSdk.targets" - file source="$(BinariesFolder)\net40\bin\Microsoft.FSharp.Targets" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\Microsoft.Build.dll" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\Microsoft.Build.Framework.dll" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\Microsoft.Build.Tasks.Core.dll" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\Microsoft.Build.Utilities.Core.dll" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\Microsoft.Portable.FSharp.Targets" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\System.Collections.Immutable.dll" + file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\net46\System.Reflection.Metadata.dll" + file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\net46\System.ValueTuple.dll" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\Microsoft.FSharp.NetSdk.props" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\Microsoft.FSharp.NetSdk.targets" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\Microsoft.FSharp.Overrides.NetSdk.targets" + file source="$(BinariesFolder)\FSharp.Build\$(Configuration)\net46\Microsoft.FSharp.Targets" diff --git a/setup/Swix/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.swixproj b/setup/Swix/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.swixproj index 955da213a71..f256dd46779 100644 --- a/setup/Swix/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.swixproj +++ b/setup/Swix/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.swixproj @@ -10,6 +10,7 @@ $(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder) + $(PackagePreprocessorDefinitions);Configuration=$(Configuration) $(PackagePreprocessorDefinitions);PackagesFolder=$(NuGetPackageRoot) $(PackagePreprocessorDefinitions);FSharpTreeRoot=$(FSharpTreeRoot) $(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion) diff --git a/setup/Swix/Microsoft.FSharp.Dependencies/Files.swr b/setup/Swix/Microsoft.FSharp.Dependencies/Files.swr index 6ded7ba325f..c1ec9568099 100644 --- a/setup/Swix/Microsoft.FSharp.Dependencies/Files.swr +++ b/setup/Swix/Microsoft.FSharp.Dependencies/Files.swr @@ -4,16 +4,16 @@ package name=Microsoft.FSharp.Dependencies version=$(FSharpPackageVersion) folder "InstallDir:MSBuild\Microsoft\VisualStudio\v$(VSGeneralVersion)\FSharp" - file "Microsoft.FSharp.targets" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.FSharp.Shim.targets" - file "Microsoft.Portable.FSharp.targets" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.Portable.FSharp.Shim.targets" - file "Microsoft.FSharp.NetSdk.targets" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.FSharp.NetSdk.Shim.targets" - file "Microsoft.FSharp.Overrides.NetSdk.targets" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.FSharp.Overrides.NetSdk.Shim.targets" - file "Microsoft.FSharp.NetSdk.props" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.FSharp.NetSdk.Shim.props" + file "Microsoft.FSharp.targets" source="$(SetupShimsDir)\Microsoft.FSharp.Shim.targets" + file "Microsoft.Portable.FSharp.targets" source="$(SetupShimsDir)\Microsoft.Portable.FSharp.Shim.targets" + file "Microsoft.FSharp.NetSdk.targets" source="$(SetupShimsDir)\Microsoft.FSharp.NetSdk.Shim.targets" + file "Microsoft.FSharp.Overrides.NetSdk.targets" source="$(SetupShimsDir)\Microsoft.FSharp.Overrides.NetSdk.Shim.targets" + file "Microsoft.FSharp.NetSdk.props" source="$(SetupShimsDir)\Microsoft.FSharp.NetSdk.Shim.props" folder "InstallDir:Common7\IDE\PublicAssemblies" - file source="$(BinariesFolder)\net40\bin\FSharp.Core.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\FSharp.Core.optdata" - file source="$(BinariesFolder)\net40\bin\FSharp.Core.sigdata" + file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.optdata" + file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\FSharp.Core.sigdata" folder "InstallDir:Common7\Tools\VsDevCmd\Ext" file source="fsharp.bat" diff --git a/setup/Swix/Microsoft.FSharp.Dependencies/Microsoft.FSharp.Dependencies.swixproj b/setup/Swix/Microsoft.FSharp.Dependencies/Microsoft.FSharp.Dependencies.swixproj index dd1452bbefc..e30eaaf0fe1 100644 --- a/setup/Swix/Microsoft.FSharp.Dependencies/Microsoft.FSharp.Dependencies.swixproj +++ b/setup/Swix/Microsoft.FSharp.Dependencies/Microsoft.FSharp.Dependencies.swixproj @@ -10,7 +10,9 @@ $(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder) + $(PackagePreprocessorDefinitions);Configuration=$(Configuration) $(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion) + $(PackagePreprocessorDefinitions);SetupShimsDir=$(MSBuildThisFileDirectory)..\..\shims $(PackagePreprocessorDefinitions);TargetFramework=$(TargetFramework) $(PackagePreprocessorDefinitions);VSGeneralVersion=$(VSGeneralVersion) diff --git a/setup/Swix/Microsoft.FSharp.IDE/Files.swr b/setup/Swix/Microsoft.FSharp.IDE/Files.swr index 0d47c502090..2e0ee2bcf3b 100644 --- a/setup/Swix/Microsoft.FSharp.IDE/Files.swr +++ b/setup/Swix/Microsoft.FSharp.IDE/Files.swr @@ -4,10 +4,10 @@ package name=Microsoft.FSharp.IDE version=$(FSharpPackageVersion) folder "InstallDir:Common7\IDE\NewScriptItems" - file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\Script\NewFSharpScriptItems.vsdir" - file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\Script\Script.fsx" + file source="$(SetupResourcesDir)\NewFileDialog\Script\NewFSharpScriptItems.vsdir" + file source="$(SetupResourcesDir)\NewFileDialog\Script\Script.fsx" folder "InstallDir:Common7\IDE\NewFileItems" - file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\General\NewFSharpFileItems.vsdir" - file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\General\File.fs" - file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\General\Script.fsx" + file source="$(SetupResourcesDir)\NewFileDialog\General\NewFSharpFileItems.vsdir" + file source="$(SetupResourcesDir)\NewFileDialog\General\File.fs" + file source="$(SetupResourcesDir)\NewFileDialog\General\Script.fsx" diff --git a/setup/Swix/Microsoft.FSharp.IDE/Microsoft.FSharp.IDE.swixproj b/setup/Swix/Microsoft.FSharp.IDE/Microsoft.FSharp.IDE.swixproj index b26924e23c2..223a7262fcb 100644 --- a/setup/Swix/Microsoft.FSharp.IDE/Microsoft.FSharp.IDE.swixproj +++ b/setup/Swix/Microsoft.FSharp.IDE/Microsoft.FSharp.IDE.swixproj @@ -9,8 +9,8 @@ - $(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder) $(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion) + $(PackagePreprocessorDefinitions);SetupResourcesDir=$(MSBuildThisFileDirectory)..\..\resources $(PackagePreprocessorDefinitions);TargetFramework=$(TargetFramework) diff --git a/setup/Swix/Microsoft.FSharp.Vsix.Resources/Files.swr b/setup/Swix/Microsoft.FSharp.Vsix.Resources/Files.swr index a8c5becc80e..f3b95d49900 100644 --- a/setup/Swix/Microsoft.FSharp.Vsix.Resources/Files.swr +++ b/setup/Swix/Microsoft.FSharp.Vsix.Resources/Files.swr @@ -5,16 +5,16 @@ package name=Microsoft.FSharp.VSIX.Full.Resources vs.package.language=$(LocaleSpecificCulture) folder "InstallDir:Common7\IDE\PublicAssemblies\$(LocaleParentCulture)" - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.Core.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\$(LocaleParentCulture)\FSharp.Core.resources.dll" vs.file.ngen=yes folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharp\$(LocaleParentCulture)" - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.Compiler.Private.resources.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.Core.resources.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.Editor.resources.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.LanguageService.Base.resources.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.LanguageService.resources.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.ProjectSystem.Base.resources.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.ProjectSystem.FSharp.resources.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.ProjectSystem.PropertyPages.resources.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.UIResources.resources.dll" vs.file.ngen=yes - file source="$(BinariesFolder)\net40\bin\$(LocaleParentCulture)\FSharp.VS.FSI.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.Compiler.Private\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.Compiler.Private.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.Core\$(Configuration)\net45\$(LocaleParentCulture)\FSharp.Core.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.Editor\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.Editor.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.LanguageService.Base\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.LanguageService.Base.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.LanguageService\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.LanguageService.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\ProjectSystem.Base\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.ProjectSystem.Base.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\ProjectSystem\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.ProjectSystem.FSharp.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.PropertiesPages\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.ProjectSystem.PropertyPages.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.UIResources\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.UIResources.resources.dll" vs.file.ngen=yes + file source="$(BinariesFolder)\FSharp.VS.FSI\$(Configuration)\net46\$(LocaleParentCulture)\FSharp.VS.FSI.resources.dll" vs.file.ngen=yes diff --git a/setup/Swix/Microsoft.FSharp.Vsix.Resources/Microsoft.FSharp.Vsix.Resources.swixproj b/setup/Swix/Microsoft.FSharp.Vsix.Resources/Microsoft.FSharp.Vsix.Resources.swixproj index fd39c147b4c..d8952b40fe7 100644 --- a/setup/Swix/Microsoft.FSharp.Vsix.Resources/Microsoft.FSharp.Vsix.Resources.swixproj +++ b/setup/Swix/Microsoft.FSharp.Vsix.Resources/Microsoft.FSharp.Vsix.Resources.swixproj @@ -9,6 +9,7 @@ + $(PackagePreprocessorDefinitions);Configuration=$(Configuration) $(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder) $(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion) $(PackagePreprocessorDefinitions);LocaleCode=$(LocaleCode) diff --git a/setup/Swix/Microsoft.FSharp.Vsix.Resources/Templates.swr b/setup/Swix/Microsoft.FSharp.Vsix.Resources/Templates.swr index 770d904e226..5de89f0cadd 100644 --- a/setup/Swix/Microsoft.FSharp.Vsix.Resources/Templates.swr +++ b/setup/Swix/Microsoft.FSharp.Vsix.Resources/Templates.swr @@ -6,8 +6,8 @@ package name=Microsoft.FSharp.VSIX.Full.Resources folder "InstallDir:Common7\IDE\ProjectTemplates\FSharp\$(LocaleId)" folder "ConsoleApplication" - file source="$(BinariesFolder)\net40\bin\ProjectTemplates\FSharp\$(LocaleParentId)\ConsoleApplication.zip" + file source="$(BinariesFolder)\ConsoleProject\$(Configuration)\$(LocaleParentId)\ConsoleApplication.zip" folder "Library" - file source="$(BinariesFolder)\net40\bin\ProjectTemplates\FSharp\$(LocaleParentId)\Library.zip" + file source="$(BinariesFolder)\LibraryProject\$(Configuration)\$(LocaleParentId)\Library.zip" folder "Tutorial" - file source="$(BinariesFolder)\net40\bin\ProjectTemplates\FSharp\$(LocaleParentId)\Tutorial.zip" + file source="$(BinariesFolder)\TutorialProject\$(Configuration)\$(LocaleParentId)\Tutorial.zip" diff --git a/setup/Swix/Microsoft.FSharp.vsmanproj b/setup/Swix/Microsoft.FSharp.vsmanproj index d2b0388c272..ec9461e1137 100644 --- a/setup/Swix/Microsoft.FSharp.vsmanproj +++ b/setup/Swix/Microsoft.FSharp.vsmanproj @@ -6,7 +6,7 @@ true true - $(OutputPath) + $(OutputPath)\Insertion $(FSharpPackageVersion) @@ -23,17 +23,17 @@ - - + + - + - - + + - - - + + + diff --git a/setup/publish-assets.ps1 b/setup/publish-assets.ps1 index 29604698b4c..bfa905bbad9 100644 --- a/setup/publish-assets.ps1 +++ b/setup/publish-assets.ps1 @@ -16,7 +16,8 @@ The API key used to authenticate with MyGet. Param( [string]$binariesPath = $null, [string]$branchName = $null, - [string]$apiKey = $null + [string]$apiKey = $null, + [string]$configuration = $null ) Set-StrictMode -Version 2.0 @@ -40,7 +41,7 @@ try { } $branchName = $branchName.Replace("/", "_") # can't have slashes in the branch name - $vsix = Join-Path $binariesPath "net40\bin\VisualFSharpFull.vsix" + $vsix = Join-Path $binariesPath "VisualFSharpFull\$configuration\net46\VisualFSharpFull.vsix" Write-Host " Uploading '$vsix' to '$requestUrl'." diff --git a/setup/resources/Microsoft.FSharp.NetSdk.Shim.props b/setup/shims/Microsoft.FSharp.NetSdk.Shim.props similarity index 100% rename from setup/resources/Microsoft.FSharp.NetSdk.Shim.props rename to setup/shims/Microsoft.FSharp.NetSdk.Shim.props diff --git a/setup/resources/Microsoft.FSharp.NetSdk.Shim.targets b/setup/shims/Microsoft.FSharp.NetSdk.Shim.targets similarity index 100% rename from setup/resources/Microsoft.FSharp.NetSdk.Shim.targets rename to setup/shims/Microsoft.FSharp.NetSdk.Shim.targets diff --git a/setup/resources/Microsoft.FSharp.Overrides.NetSdk.Shim.targets b/setup/shims/Microsoft.FSharp.Overrides.NetSdk.Shim.targets similarity index 100% rename from setup/resources/Microsoft.FSharp.Overrides.NetSdk.Shim.targets rename to setup/shims/Microsoft.FSharp.Overrides.NetSdk.Shim.targets diff --git a/setup/resources/Microsoft.FSharp.Shim.targets b/setup/shims/Microsoft.FSharp.Shim.targets similarity index 100% rename from setup/resources/Microsoft.FSharp.Shim.targets rename to setup/shims/Microsoft.FSharp.Shim.targets diff --git a/setup/resources/Microsoft.Portable.FSharp.Shim.targets b/setup/shims/Microsoft.Portable.FSharp.Shim.targets similarity index 100% rename from setup/resources/Microsoft.Portable.FSharp.Shim.targets rename to setup/shims/Microsoft.Portable.FSharp.Shim.targets diff --git a/src/buildtools/Directory.Build.props b/src/buildtools/Directory.Build.props index bb5b23d29d0..12d9ad073ec 100644 --- a/src/buildtools/Directory.Build.props +++ b/src/buildtools/Directory.Build.props @@ -1,3 +1,3 @@ - + diff --git a/src/buildtools/Directory.Build.targets b/src/buildtools/Directory.Build.targets index bb5b23d29d0..14437118703 100644 --- a/src/buildtools/Directory.Build.targets +++ b/src/buildtools/Directory.Build.targets @@ -1,3 +1,3 @@ - + diff --git a/src/buildtools/buildtools.targets b/src/buildtools/buildtools.targets index 9285a376e88..9b00e18cf72 100644 --- a/src/buildtools/buildtools.targets +++ b/src/buildtools/buildtools.targets @@ -15,7 +15,7 @@ BeforeTargets="CoreCompile"> - $(MSBuildThisFileDirectory)fslex\bin\Proto\netcoreapp2.0\fslex.dll + $(ArtifactsBinDir)\fslex\Proto\netcoreapp2.0\fslex.dll @@ -38,7 +38,7 @@ BeforeTargets="CoreCompile"> - $(MSBuildThisFileDirectory)fsyacc\bin\Proto\netcoreapp2.0\fsyacc.dll + $(ArtifactsBinDir)\fsyacc\Proto\netcoreapp2.0\fsyacc.dll diff --git a/src/fsharp/Directory.Build.props b/src/fsharp/Directory.Build.props index 57c8aa24ba7..151415117e4 100644 --- a/src/fsharp/Directory.Build.props +++ b/src/fsharp/Directory.Build.props @@ -6,6 +6,7 @@ true true false + $(ArtifactsPackagesDir)\$(Configuration) diff --git a/src/fsharp/Directory.Nuget.props b/src/fsharp/Directory.Nuget.props index 97266b7c79d..6521936cfe3 100644 --- a/src/fsharp/Directory.Nuget.props +++ b/src/fsharp/Directory.Nuget.props @@ -20,6 +20,7 @@ tags=$(PackageTags); githeadsha=$(NormalizedGitHeadSha); configuration=$(Configuration); + artifactsbindir=$(ArtifactsBinDir); diff --git a/src/fsharp/Directory.Nuget.targets b/src/fsharp/Directory.Nuget.targets index f3ae171dc38..e30b155faad 100644 --- a/src/fsharp/Directory.Nuget.targets +++ b/src/fsharp/Directory.Nuget.targets @@ -8,14 +8,4 @@ - - - - - - - - - diff --git a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj index 97d17b10972..46e8888f03b 100644 --- a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj +++ b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj @@ -21,14 +21,17 @@ + + $(BaseOutputPath)\$(Configuration)\$(TargetFramework) + - - - - - - - + + + + + + + diff --git a/src/fsharp/FSharp.Compiler.nuget/Directory.Build.targets b/src/fsharp/FSharp.Compiler.nuget/Directory.Build.targets index a20d4be41e6..7d885b518db 100644 --- a/src/fsharp/FSharp.Compiler.nuget/Directory.Build.targets +++ b/src/fsharp/FSharp.Compiler.nuget/Directory.Build.targets @@ -4,8 +4,8 @@ - - + + diff --git a/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec b/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec index ac76a4a2403..87ef49f5521 100644 --- a/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec +++ b/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec @@ -54,30 +54,30 @@ this approach gives a very small deployment. Which is kind of necessary. --> - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + diff --git a/src/fsharp/FSharp.Core/FSharp.Core.nuspec b/src/fsharp/FSharp.Core/FSharp.Core.nuspec index 21b484cb8ab..443388a8278 100644 --- a/src/fsharp/FSharp.Core/FSharp.Core.nuspec +++ b/src/fsharp/FSharp.Core/FSharp.Core.nuspec @@ -56,18 +56,18 @@ - - - - + + + + - - - - + + + + - - + + diff --git a/src/fsharp/Fsc/InternalsVisibleTo.fs b/src/fsharp/fsc/InternalsVisibleTo.fs similarity index 100% rename from src/fsharp/Fsc/InternalsVisibleTo.fs rename to src/fsharp/fsc/InternalsVisibleTo.fs diff --git a/src/fsharp/Fsc/app.config b/src/fsharp/fsc/app.config similarity index 100% rename from src/fsharp/Fsc/app.config rename to src/fsharp/fsc/app.config diff --git a/src/fsharp/Fsc/Fsc.fsproj b/src/fsharp/fsc/fsc.fsproj similarity index 100% rename from src/fsharp/Fsc/Fsc.fsproj rename to src/fsharp/fsc/fsc.fsproj diff --git a/src/fsharp/fsi/Fsi.fsproj b/src/fsharp/fsi/fsi.fsproj similarity index 96% rename from src/fsharp/fsi/Fsi.fsproj rename to src/fsharp/fsi/fsi.fsproj index 9fbc4dc1331..6a4b7df15d5 100644 --- a/src/fsharp/fsi/Fsi.fsproj +++ b/src/fsharp/fsi/fsi.fsproj @@ -28,10 +28,10 @@ + - diff --git a/src/fsharp/fsiAnyCpu/FsiAnyCPU.fsproj b/src/fsharp/fsiAnyCpu/fsiAnyCpu.fsproj similarity index 100% rename from src/fsharp/fsiAnyCpu/FsiAnyCPU.fsproj rename to src/fsharp/fsiAnyCpu/fsiAnyCpu.fsproj diff --git a/tests/.gitignore b/tests/.gitignore index 2de72583ada..bf970a32fde 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1,6 +1,5 @@ FSharp_* net40-fsharpqa-suite-* CoreUnit_* -TestResults *.il dont.run.peverify \ No newline at end of file diff --git a/tests/FSharp.Directory.Build.props b/tests/FSharp.Directory.Build.props index 19257808542..bb8eac309b1 100644 --- a/tests/FSharp.Directory.Build.props +++ b/tests/FSharp.Directory.Build.props @@ -1,9 +1,3 @@ - - - - - - diff --git a/tests/fsharp/SDKTests/AllSdkTargetsTests.proj b/tests/fsharp/SDKTests/AllSdkTargetsTests.proj index 857e3efd636..9da3a21fea1 100644 --- a/tests/fsharp/SDKTests/AllSdkTargetsTests.proj +++ b/tests/fsharp/SDKTests/AllSdkTargetsTests.proj @@ -1,7 +1,7 @@ - release + Release diff --git a/tests/fsharp/SDKTests/tests/Test.props b/tests/fsharp/SDKTests/tests/Test.props index fdfc314758e..b4665ec5749 100644 --- a/tests/fsharp/SDKTests/tests/Test.props +++ b/tests/fsharp/SDKTests/tests/Test.props @@ -6,14 +6,14 @@ <_TargetFrameworkVersionWithoutV Condition="'$(_TargetFrameworkVersionWithoutV)' == ''">4.6 .NETFramework - release - $(MSBuildThisFileDirectory)..\..\..\..\$(Configuration)\net40\bin + Release + $(MSBuildThisFileDirectory)..\..\..\..\artifacts\bin\FSharp.Build\$(Configuration)\net46 AnyCPU $(MSBuildThisFileDirectory) - + diff --git a/tests/fsharp/SDKTests/tests/Test.targets b/tests/fsharp/SDKTests/tests/Test.targets index 5526c118403..6f1638051d8 100644 --- a/tests/fsharp/SDKTests/tests/Test.targets +++ b/tests/fsharp/SDKTests/tests/Test.targets @@ -1,6 +1,6 @@ - + diff --git a/tests/fsharp/Test.Directory.Build.props b/tests/fsharp/Test.Directory.Build.props deleted file mode 100644 index 6603d10e659..00000000000 --- a/tests/fsharp/Test.Directory.Build.props +++ /dev/null @@ -1,8 +0,0 @@ - - - $(CompilerTestPath)\Microsoft.FSharp.Targets - $(CompilerTestPath)\Microsoft.FSharp.NetSdk.props - $(CompilerTestPath)\Microsoft.FSharp.NetSdk.targets - $(CompilerTestPath)\Microsoft.FSharp.Overrides.NetSdk.targets - - diff --git a/tests/fsharp/single-test.fs b/tests/fsharp/single-test.fs index 4e221bed17c..14a79c360d2 100644 --- a/tests/fsharp/single-test.fs +++ b/tests/fsharp/single-test.fs @@ -62,10 +62,10 @@ type ProjectConfiguration = { let replaceTokens tag (replacement:string) (template:string) = template.Replace(tag, replacement) -let generateProps testCompilerVersion= +let generateProps testCompilerVersion = let template = @" - release + Release $(TESTCOMPILERVERSION) @@ -96,13 +96,13 @@ let generateProjectArtifacts (pc:ProjectConfiguration) targetFramework = let condition = if addCondition then " Condition=\"Exists('" + fileName + "')\"" else "" match compileItem with | CompileItem.Compile -> - "\n " + "\n " | CompileItem.Reference -> - "\n " + "\n " | CompileItem.UseSource -> - "\n " + "\n " | CompileItem.LoadSource -> - "\n " + "\n " sources |> List.map(fun src -> computeInclude src) @@ -215,7 +215,7 @@ let singleTestBuildAndRunCore cfg copyFiles p = let projectBody = generateProjectArtifacts pc targetFramework emitFile projectFileName projectBody use testOkFile = new FileGuard(Path.Combine(directory, "test.ok")) - exec { cfg with Directory = directory } cfg.DotNet20Exe (sprintf "run -f %s" targetFramework) + exec { cfg with Directory = directory } cfg.DotNetExe (sprintf "run -f %s" targetFramework) testOkFile.CheckExists() executeFsc compilerType targetFramework else @@ -225,7 +225,7 @@ let singleTestBuildAndRunCore cfg copyFiles p = let projectBody = generateProjectArtifacts pc targetFramework emitFile projectFileName projectBody use testOkFile = new FileGuard(Path.Combine(directory, "test.ok")) - exec { cfg with Directory = directory } cfg.DotNet20Exe "build /t:RunFSharpScript" + exec { cfg with Directory = directory } cfg.DotNetExe "build /t:RunFSharpScript" testOkFile.CheckExists() executeFsi compilerType targetFramework result <- true diff --git a/tests/fsharp/test-framework.fs b/tests/fsharp/test-framework.fs index e00fc7111e7..85bc6319f19 100644 --- a/tests/fsharp/test-framework.fs +++ b/tests/fsharp/test-framework.fs @@ -122,19 +122,19 @@ type TestConfig = BUILD_CONFIG : string FSC : string fsc_flags : string - BinPath : string FSCOREDLLPATH : string FSI : string #if !FSHARP_SUITE_DRIVES_CORECLR_TESTS FSIANYCPU : string #endif FSI_FOR_SCRIPTS : string + FSharpBuild : string + FSharpCompilerInteractiveSettings : string fsi_flags : string ILDASM : string PEVERIFY : string Directory: string DotNetExe: string - DotNet20Exe: string DefaultPlatform: string} @@ -157,11 +157,21 @@ let config configurationName envVars = let SCRIPT_ROOT = __SOURCE_DIRECTORY__ let packagesDir = Environment.GetEnvironmentVariable("USERPROFILE") ++ ".nuget" ++ "packages" #if NET46 - let architecture = "net40" + let fscArchitecture = "net46" + let fsiArchitecture = "net46" + let fsharpCoreArchitecture = "net45" + let fsharpBuildArchitecture = "net46" + let fsharpCompilerInteractiveSettingsArchitecture = "net46" #else - let architecture = "coreclr" + let fscArchitecture = "netcoreapp2.1" + let fsiArchitecture = "netcoreapp2.0" + let fsharpCoreArchitecture = "netstandard1.6" + let fsharpBuildArchitecture = "netstandard2.0" + let fsharpCompilerInteractiveSettingsArchitecture = "netstandard1.6" #endif - let BINPATH = SCRIPT_ROOT ++ ".." ++ ".." ++ configurationName ++ architecture ++ "bin" + let repoRoot = SCRIPT_ROOT ++ ".." ++ ".." + let artifactsPath = repoRoot ++ "artifacts" + let artifactsBinPath = artifactsPath ++ "bin" let csc_flags = "/nologo" let fsc_flags = "-r:System.Core.dll --nowarn:20 --define:COMPILED" let fsi_flags = "-r:System.Core.dll --nowarn:20 --define:INTERACTIVE --maxerrors:1 --abortonerror" @@ -170,20 +180,20 @@ let config configurationName envVars = let CSC = requireFile (packagesDir ++ "Microsoft.Net.Compilers" ++ "2.7.0" ++ "tools" ++ "csc.exe") let ILDASM = requireFile (packagesDir ++ ("runtime.win-" + architectureMoniker + ".Microsoft.NETCore.ILDAsm") ++ "2.0.3" ++ "runtimes" ++ ("win-" + architectureMoniker) ++ "native" ++ "ildasm.exe") let coreclrdll = requireFile (packagesDir ++ ("runtime.win-" + architectureMoniker + ".Microsoft.NETCore.Runtime.CoreCLR") ++ "2.0.3" ++ "runtimes" ++ ("win-" + architectureMoniker) ++ "native" ++ "coreclr.dll") - let PEVERIFY = requireFile (SCRIPT_ROOT ++ ".." ++ "fsharpqa" ++ "testenv" ++ "src" ++ "PEVerify" ++ "bin" ++ configurationName ++ "net46" ++ "PEVerify.exe") - let FSI_FOR_SCRIPTS = BINPATH ++ "fsi.exe" - let toolsDir = SCRIPT_ROOT ++ ".." ++ ".." ++ "Tools" - let dotNetExe = toolsDir ++ "dotnetcli" ++ "dotnet.exe" - let dotNet20Exe = toolsDir ++ "dotnet20" ++ "dotnet.exe" + let PEVERIFY = requireFile (artifactsBinPath ++ "PEVerify" ++ configurationName ++ "net46" ++ "PEVerify.exe") + let FSI_FOR_SCRIPTS = artifactsBinPath ++ "fsi" ++ configurationName ++ fsiArchitecture ++ "fsi.exe" + let FSharpBuild = requireFile (artifactsBinPath ++ "FSharp.Build" ++ configurationName ++ fsharpBuildArchitecture ++ "FSharp.Build.dll") + let FSharpCompilerInteractiveSettings = requireFile (artifactsBinPath ++ "FSharp.Compiler.Interactive.Settings" ++ configurationName ++ fsharpCompilerInteractiveSettingsArchitecture ++ "FSharp.Compiler.Interactive.Settings.dll") + let dotNetExe = artifactsPath ++ "toolset" ++ "dotnet" ++ "dotnet.exe" // ildasm requires coreclr.dll to run which has already been restored to the packages directory File.Copy(coreclrdll, Path.GetDirectoryName(ILDASM) ++ "coreclr.dll", overwrite=true) - let FSI = requireFile (BINPATH ++ "fsi.exe") + let FSI = requireFile (FSI_FOR_SCRIPTS) #if !FSHARP_SUITE_DRIVES_CORECLR_TESTS - let FSIANYCPU = requireFile (BINPATH ++ "fsiAnyCpu.exe") + let FSIANYCPU = requireFile (artifactsBinPath ++ "fsiAnyCpu" ++ configurationName ++ "net46" ++ "fsiAnyCpu.exe") #endif - let FSC = requireFile (BINPATH ++ "fsc.exe") - let FSCOREDLLPATH = requireFile (BINPATH ++ "FSharp.Core.dll") + let FSC = requireFile (artifactsBinPath ++ "fsc" ++ configurationName ++ fscArchitecture ++ "fsc.exe") + let FSCOREDLLPATH = requireFile (artifactsBinPath ++ "FSharp.Core" ++ configurationName ++ fsharpCoreArchitecture ++ "FSharp.Core.dll") let defaultPlatform = match Is64BitOperatingSystem with @@ -193,7 +203,6 @@ let config configurationName envVars = | false -> "win7-x86" { EnvironmentVariables = envVars - BinPath = BINPATH |> Commands.pathAddBackslash FSCOREDLLPATH = FSCOREDLLPATH ILDASM = ILDASM PEVERIFY = PEVERIFY @@ -205,12 +214,13 @@ let config configurationName envVars = FSIANYCPU = FSIANYCPU #endif FSI_FOR_SCRIPTS = FSI_FOR_SCRIPTS + FSharpBuild = FSharpBuild + FSharpCompilerInteractiveSettings = FSharpCompilerInteractiveSettings csc_flags = csc_flags fsc_flags = fsc_flags fsi_flags = fsi_flags Directory="" DotNetExe = dotNetExe - DotNet20Exe = dotNet20Exe DefaultPlatform = defaultPlatform } let logConfig (cfg: TestConfig) = @@ -222,7 +232,6 @@ let logConfig (cfg: TestConfig) = log "csc_flags =%s" cfg.csc_flags log "FSC =%s" cfg.FSC log "fsc_flags =%s" cfg.fsc_flags - log "BINPATH =%s" cfg.BinPath log "FSCOREDLLPATH =%s" cfg.FSCOREDLLPATH log "FSI =%s" cfg.FSI #if !FSHARP_SUITE_DRIVES_CORECLR_TESTS @@ -452,6 +461,7 @@ let rm cfg x = Commands.rm cfg.Directory x let rmdir cfg x = Commands.rmdir cfg.Directory x let mkdir cfg = Commands.mkdir_p cfg.Directory let copy_y cfg f = Commands.copy_y cfg.Directory f >> checkResult +let copySystemValueTuple cfg = copy_y cfg (getDirectoryName(cfg.FSC) ++ "System.ValueTuple.dll") ("." ++ "System.ValueTuple.dll") let diff normalize path1 path2 = let result = System.Text.StringBuilder() diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs index d18197ee20d..7f5804ea1f2 100644 --- a/tests/fsharp/tests.fs +++ b/tests/fsharp/tests.fs @@ -326,7 +326,7 @@ module CoreTests = fsc cfg "%s -a -o:lib.dll" cfg.fsc_flags ["lib.fs"] - copy_y cfg (cfg.BinPath ++ "System.ValueTuple.dll") ("." ++ "System.ValueTuple.dll") + copySystemValueTuple cfg peverify cfg "lib.dll" fsc cfg "%s -r:lib.dll" cfg.fsc_flags ["test.fsx"] @@ -479,7 +479,7 @@ module CoreTests = fsc cfg "%s -a -o:lib.dll -g" cfg.fsc_flags ["lib.fs"] - copy_y cfg (cfg.BinPath ++ "System.ValueTuple.dll") ("." ++ "System.ValueTuple.dll") + copySystemValueTuple cfg peverify cfg "lib.dll" @@ -789,7 +789,7 @@ module CoreTests = fsc cfg "%s -o:test.exe -r cslib.dll -g" cfg.fsc_flags ["test.fsx"] - copy_y cfg (cfg.BinPath ++ "System.ValueTuple.dll") ("." ++ "System.ValueTuple.dll") + copySystemValueTuple cfg peverify cfg "test.exe" @@ -1072,7 +1072,7 @@ module CoreTests = echo "Test 6=================================================" - fscAppend cfg stdoutPath stderrPath "--nologo -r FSharp.Compiler.Interactive.Settings" ["usesfsi.fsx"] + fscAppend cfg stdoutPath stderrPath "--nologo -r \"%s\"" cfg.FSharpCompilerInteractiveSettings ["usesfsi.fsx"] echo "Test 7=================================================" @@ -1632,13 +1632,13 @@ module CoreTests = let verify () = let cfg = testConfig "core/verify" - peverifyWithArgs cfg "/nologo" (cfg.BinPath ++ "FSharp.Build.dll") + peverifyWithArgs cfg "/nologo" (cfg.FSharpBuild) - // peverifyWithArgs cfg "/nologo /MD" (cfg.BinPath ++ "FSharp.Compiler.dll") + // peverifyWithArgs cfg "/nologo /MD" (getDirectoryName(cfg.FSC) ++ "FSharp.Compiler.dll") - peverifyWithArgs cfg "/nologo" (cfg.BinPath ++ "fsi.exe") + peverifyWithArgs cfg "/nologo" (cfg.FSI) - peverifyWithArgs cfg "/nologo" (cfg.BinPath ++ "FSharp.Compiler.Interactive.Settings.dll") + peverifyWithArgs cfg "/nologo" (cfg.FSharpCompilerInteractiveSettings) fsc cfg "%s -o:xmlverify.exe -g" cfg.fsc_flags ["xmlverify.fs"] @@ -1957,7 +1957,7 @@ module TypecheckTests = let ``sigs pos27`` () = let cfg = testConfig "typecheck/sigs" fsc cfg "%s --target:exe -o:pos27.exe" cfg.fsc_flags ["pos27.fs"] - copy_y cfg (cfg.BinPath ++ "System.ValueTuple.dll") ("." ++ "System.ValueTuple.dll") + copySystemValueTuple cfg peverify cfg "pos27.exe" [] diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/CompareIL.cmd b/tests/fsharpqa/Source/CodeGen/EmittedIL/CompareIL.cmd index da8260013c7..1786d4bc552 100644 --- a/tests/fsharpqa/Source/CodeGen/EmittedIL/CompareIL.cmd +++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/CompareIL.cmd @@ -3,7 +3,7 @@ REM == %1 --> assembly ildasm /TEXT /LINENUM /NOBAR "%~nx1" >"%~n1.il" IF NOT ERRORLEVEL 0 exit 1 -echo ..\..\..\..\testenv\bin\ILComparer.exe "%~n1.il.bsl" "%~n1.il" -..\..\..\..\testenv\bin\ILComparer.exe "%~n1.il.bsl" "%~n1.il" +echo %~dp0..\..\..\testenv\bin\ILComparer.exe "%~n1.il.bsl" "%~n1.il" + %~dp0..\..\..\testenv\bin\ILComparer.exe "%~n1.il.bsl" "%~n1.il" exit /b %ERRORLEVEL% diff --git a/tests/fsharpqa/Source/run.pl b/tests/fsharpqa/Source/run.pl index c999def6387..d9c3de8c3de 100644 --- a/tests/fsharpqa/Source/run.pl +++ b/tests/fsharpqa/Source/run.pl @@ -265,12 +265,12 @@ my $PEVERIFY = $ENV{PEVERIFY}; unless(defined($PEVERIFY)) { my $scriptPath = dirname(__FILE__); - $PEVERIFY = "$scriptPath\\..\\testenv\\src\\PEVerify\\bin\\Release\\net46\\PEVerify.exe"; + $PEVERIFY = "$scriptPath\\..\\..\\..\\artifacts\\bin\\PEVerify\\Release\\net46\\PEVerify.exe"; if (-e $PEVERIFY) { $ENV{PEVERIFY} = $PEVERIFY; } else { - $ENV{PEVERIFY} = "$scriptPath\\..\\testenv\\src\\PEVerify\\bin\\Debug\\net46\\PEVerify.exe"; + $ENV{PEVERIFY} = "$scriptPath\\..\\..\\..\\artifacts\\bin\\PEVerify\\Debug\\net46\\PEVerify.exe"; } } diff --git a/tests/service/FscTests.fs b/tests/service/FscTests.fs index 82914dbdbae..553f5e468b0 100644 --- a/tests/service/FscTests.fs +++ b/tests/service/FscTests.fs @@ -48,7 +48,7 @@ type PEVerifier () = Some ("pedump", "--verify all") else let peverifyPath configuration = - Path.Combine(__SOURCE_DIRECTORY__, "..", "fsharpqa", "testenv", "src", "PEVerify", "bin", configuration, "net46", "PEVerify.exe") + Path.Combine(__SOURCE_DIRECTORY__, "..", "..", "artifacts", "bin", "PEVerify", configuration, "net46", "PEVerify.exe") let peverify = if File.Exists(peverifyPath "Debug") then peverifyPath "Debug" else peverifyPath "Release" diff --git a/verify-translations.cmd b/verify-translations.cmd index 6717de0f778..2580890c6fb 100644 --- a/verify-translations.cmd +++ b/verify-translations.cmd @@ -1,3 +1,3 @@ @echo off -%~dp0release\net40\bin\fsi.exe %~dp0src\scripts\VerifyAllTranslations.fsx -- %~dp0 +%~dp0artifacts\bin\fsi\Release\net46\fsi.exe %~dp0src\scripts\VerifyAllTranslations.fsx -- %~dp0 diff --git a/vsintegration/ItemTemplates/.gitignore b/vsintegration/ItemTemplates/.gitignore new file mode 100644 index 00000000000..cd42ee34e87 --- /dev/null +++ b/vsintegration/ItemTemplates/.gitignore @@ -0,0 +1,2 @@ +bin/ +obj/ diff --git a/vsintegration/ProjectTemplates/.gitignore b/vsintegration/ProjectTemplates/.gitignore new file mode 100644 index 00000000000..cd42ee34e87 --- /dev/null +++ b/vsintegration/ProjectTemplates/.gitignore @@ -0,0 +1,2 @@ +bin/ +obj/ diff --git a/vsintegration/Templates.Directory.Build.props b/vsintegration/Templates.Directory.Build.props index 9be1daa15b8..c6a5cea2009 100644 --- a/vsintegration/Templates.Directory.Build.props +++ b/vsintegration/Templates.Directory.Build.props @@ -2,6 +2,12 @@ + + + + + + net46 v4.6 diff --git a/vsintegration/Templates.Directory.Build.targets b/vsintegration/Templates.Directory.Build.targets index 84513c489fc..4d8df139274 100644 --- a/vsintegration/Templates.Directory.Build.targets +++ b/vsintegration/Templates.Directory.Build.targets @@ -11,4 +11,21 @@ + + + + + $(OutputPath)$(TemplateCategory)\FSharp + $(MSBuildProjectDirectory)\$(TemplatesRootPath) + + + + + + + + + + diff --git a/vsintegration/Vsix/Directory.Build.targets b/vsintegration/Vsix/Directory.Build.targets index fa37bc2cd13..677cf0afc9d 100644 --- a/vsintegration/Vsix/Directory.Build.targets +++ b/vsintegration/Vsix/Directory.Build.targets @@ -2,6 +2,11 @@ + + $(ArtifactsDir)\VSSetup\$(Configuration) + $(ArtifactsDir)\VSSetup.obj\$(Configuration)\Microsoft.FSharp\ + + False diff --git a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj index 54b61728a7f..95a623bfa12 100644 --- a/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj +++ b/vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj @@ -85,7 +85,7 @@ True TargetFramework=net45 - + {8B3E283D-B5FE-4055-9D80-7E3A32F3967B} FsiAnyCPU BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3b @@ -97,7 +97,7 @@ True TargetFramework=net46 - + {D0E98C0D-490B-4C61-9329-0862F6E87645} Fsi BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3b @@ -109,7 +109,7 @@ True TargetFramework=net46 - + {C94C257C-3C0A-4858-B5D8-D746498D1F08} fsc BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3b diff --git a/vsintegration/src/Directory.Build.props b/vsintegration/src/Directory.Build.props new file mode 100644 index 00000000000..1ad6fb80ecd --- /dev/null +++ b/vsintegration/src/Directory.Build.props @@ -0,0 +1,9 @@ + + + + + + false + + + diff --git a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.PropertiesPages.vbproj b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.PropertiesPages.vbproj index 8e8042c83a0..a04064212fd 100644 --- a/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.PropertiesPages.vbproj +++ b/vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.PropertiesPages.vbproj @@ -4,8 +4,7 @@ Debug - net40 - $(FSharpSourcesRoot)\..\$(Configuration)\$(TargetDotnetProfile)\bin + $(ArtifactsBinDir)\$(MSBuildProjectName)\$(Configuration)\$(TargetFramework) AnyCPU 9.0.21022 2.0 @@ -24,6 +23,7 @@ false 41999,42016,42017,42018,42019,42020,42021,42022,42032,42036 40026;42105;42107;42353 + win v4.6 diff --git a/vsintegration/tests/GetTypesVSUnitTests/GetTypesVSUnitTests.fsproj b/vsintegration/tests/GetTypesVSUnitTests/GetTypesVSUnitTests.fsproj index 1167ad2577c..68470cf046d 100644 --- a/vsintegration/tests/GetTypesVSUnitTests/GetTypesVSUnitTests.fsproj +++ b/vsintegration/tests/GetTypesVSUnitTests/GetTypesVSUnitTests.fsproj @@ -10,6 +10,8 @@ false true true + true + true @@ -19,6 +21,7 @@ + diff --git a/vsintegration/tests/Salsa/salsa.fs b/vsintegration/tests/Salsa/salsa.fs index 8a86f834180..9314dbf3662 100644 --- a/vsintegration/tests/Salsa/salsa.fs +++ b/vsintegration/tests/Salsa/salsa.fs @@ -43,13 +43,13 @@ module internal Salsa = { new System.IDisposable with member this.Dispose() = actuallyBuild <- true } member th.Results = capturedFlags, capturedSources - member th.Compile(compile:System.Converter, flags:string[], sources:string[]) = + member th.Compile(compile:System.Func, flags:string[], sources:string[]) = capturedFlags <- flags capturedSources <- sources if actuallyBuild then - compile.Invoke(0) + compile.Invoke() else - 0 + 0 interface ITaskHost type BuildResult = { diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ParameterInfo.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ParameterInfo.fs index 9339aaa02a8..06b42d32efc 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ParameterInfo.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ParameterInfo.fs @@ -433,19 +433,15 @@ type UsingMSBuild() = | [] -> System.String.Format((*Mark*) | x :: xs -> f xs""" // Note, 3 of these 8 are only available on .NET 4.6.1. On .NET 4.5 only 5 overloads are returned. - let expected45 = [["format"; "arg0"]; //Net4.5 - ["format"; "args"]; //Net4.5 - ["provider"; "format"; "args"]; //Net4.5 - ["format"; "arg0"; "arg1"]; //Net4.5 - ["format"; "arg0"; "arg1"; "arg2"]] //Net4.5 - let expected461 = [["provider"; "format"; "arg0"]; //Net4.6.1 - ["provider"; "format"; "arg0"; "arg1"]; //Net4.6.1 - ["provider"; "format"; "arg0"; "arg1"; "arg2"]] //Net4.6.1 - - let expected = - if Environment.Version.CompareTo(v461) >= 0 then - List.concat [expected45;expected461] - else expected45 + let expected = [["format"; "arg0"]; //Net4.5 + ["format"; "args"]; //Net4.5 + ["provider"; "format"; "args"]; //Net4.5 + ["format"; "arg0"; "arg1"]; //Net4.5 + ["format"; "arg0"; "arg1"; "arg2"]; //Net4.5 + ["provider"; "format"; "arg0"]; //Net4.6.1 + ["provider"; "format"; "arg0"; "arg1"]; //Net4.6.1 + ["provider"; "format"; "arg0"; "arg1"; "arg2"]] //Net4.6.1 + this.VerifyParameterInfoAtStartOfMarker(fileContent,"(*Mark*)", expected) (* --- Parameter Info Systematic Tests ------------------------------------------------- *) diff --git a/vsintegration/tests/UnitTests/Tests.Build.fs b/vsintegration/tests/UnitTests/Tests.Build.fs index ecdf69f5cf3..b1b7228a16f 100644 --- a/vsintegration/tests/UnitTests/Tests.Build.fs +++ b/vsintegration/tests/UnitTests/Tests.Build.fs @@ -40,8 +40,8 @@ type MyLogger(f : string -> unit) = type FauxHostObject() = let mutable myFlags : string[] = null let mutable mySources : string[] = null - member x.Compile(compile:System.Converter, flags:string[], sources:string[]) = - myFlags <- flags + member x.Compile(compile:System.Func, flags:string[], sources:string[]) = + myFlags <- flags mySources <- sources 0 member x.Flags = myFlags @@ -77,7 +77,7 @@ type Build() = let p = tool.InternalGenerateFullPathToTool() Assert.Fail("should not succeed") with e -> - e.Message.AssertMatchesPattern("ToolPath is unknown; specify the path to fsc.exe as the ToolPath property.") + e.Message.AssertMatchesPattern("ToolPath is unknown; specify the path to the tool.") [] member public this.TestCodePage() = @@ -92,7 +92,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -107,7 +108,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -122,7 +124,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -139,7 +142,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -154,7 +158,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -168,7 +173,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -183,7 +189,8 @@ type Build() = "--warnaserror-:52,109" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -198,7 +205,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -213,7 +221,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -228,7 +237,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -243,7 +253,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -258,7 +269,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -272,7 +284,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -287,7 +300,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -302,6 +316,7 @@ type Build() = "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine + "--yadda" + Environment.NewLine + "yadda" + Environment.NewLine) cmd @@ -318,7 +333,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -333,7 +349,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -348,7 +365,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -363,7 +381,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -379,7 +398,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -395,7 +415,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) cmd + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] member public this.TestReferencePathWithSpaces() = @@ -410,7 +431,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -425,7 +447,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -442,6 +465,7 @@ type Build() = "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine + src + Environment.NewLine + src + Environment.NewLine) cmd @@ -459,7 +483,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -474,7 +499,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -489,7 +515,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -503,7 +530,8 @@ type Build() = "--utf8output" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -517,7 +545,8 @@ type Build() = "--win32res:foo.res" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -531,7 +560,8 @@ type Build() = "--win32manifest:foo.manifest" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -544,7 +574,8 @@ type Build() = "--warnaserror:76" + Environment.NewLine + "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + - "--highentropyva+" + Environment.NewLine) + "--highentropyva+" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -558,7 +589,8 @@ type Build() = "--fullpaths" + Environment.NewLine + "--flaterrors" + Environment.NewLine + "--subsystemversion:6.02" + Environment.NewLine + - "--highentropyva-" + Environment.NewLine) + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine) cmd [] @@ -627,6 +659,7 @@ type Build() = "--flaterrors" + Environment.NewLine + "--subsystemversion:4.0" + Environment.NewLine + "--highentropyva-" + Environment.NewLine + + "--nocopyfsharpcore" + Environment.NewLine + "--yadda:yadda" + Environment.NewLine + "--other:internal quote" + Environment.NewLine + "blah" + Environment.NewLine + @@ -670,6 +703,7 @@ type Build() = "--flaterrors" "--subsystemversion:4.0" "--highentropyva-" + "--nocopyfsharpcore" "--yadda:yadda" "--other:internal quote" // note stripped internal quotes "blah" |] diff --git a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj index 27b6d0224e3..310ebf78089 100644 --- a/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj +++ b/vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj @@ -13,6 +13,8 @@ true true false + true + true @@ -160,6 +162,7 @@ + @@ -172,6 +175,23 @@ + + + + + + + + + + + + + + + + +