diff --git a/FSharpBuild.Directory.Build.targets b/FSharpBuild.Directory.Build.targets index ef7f82861c5..fa39d7498fd 100644 --- a/FSharpBuild.Directory.Build.targets +++ b/FSharpBuild.Directory.Build.targets @@ -34,6 +34,7 @@ + diff --git a/FSharpTests.Directory.Build.props b/FSharpTests.Directory.Build.props index d9fc35fc05d..46e9b6fb369 100644 --- a/FSharpTests.Directory.Build.props +++ b/FSharpTests.Directory.Build.props @@ -23,7 +23,7 @@ $(MSBuildThisFileDirectory)artifacts\toolset\dotnet dotnet.exe dotnet - $(MSBuildThisFileDirectory)artifacts\bin\fsi\$(Configuration)\netcoreapp2.0\fsi.exe + $(MSBuildThisFileDirectory)artifacts\bin\fsi\$(Configuration)\netcoreapp2.1\fsi.exe diff --git a/Makefile b/Makefile index e402025e0ef..14a5b0a8c07 100644 --- a/Makefile +++ b/Makefile @@ -37,13 +37,13 @@ build: proto restore $(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 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.1 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 test: build - $(DotNetExe) test -f netcoreapp2.0 -c $(Configuration) --no-restore --no-build tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj -l "trx;LogFileName=$(CURDIR)/tests/TestResults/FSharp.Core.UnitTests.coreclr.trx" - $(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" + $(DotNetExe) test -f netcoreapp2.1 -c $(Configuration) --no-restore --no-build tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj -l "trx;LogFileName=$(CURDIR)/tests/TestResults/FSharp.Core.UnitTests.coreclr.trx" + $(DotNetExe) test -f netcoreapp2.1 -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)/artifacts diff --git a/build.cmd b/build.cmd index 389679d5ba4..2556b718f15 100644 --- a/build.cmd +++ b/build.cmd @@ -1,6 +1,5 @@ rem Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. @if "%_echo%"=="" echo off - setlocal enableDelayedExpansion :ARGUMENTS_VALIDATION @@ -66,6 +65,7 @@ set BUILD_FCS=0 set BUILD_CONFIG=Release set BUILD_DIAG= set BUILD_PUBLICSIGN=0 +set BUILD_FSHARP_PROJ=1 set TEST_NET40_COMPILERUNIT_SUITE=0 set TEST_NET40_COREUNIT_SUITE=0 @@ -464,10 +464,15 @@ if /i "%TEST_NET40_FSHARP_SUITE" == "1" ( ) rem Decide if Proto need building -if NOT EXIST Proto\net40\bin\fsc.exe ( +if NOT EXIST "%~dp0artifacts\bin\fsc\Proto\net46\fsc.exe" ( set BUILD_PROTO=1 ) +rem decide if FSharp.Proj needs building +if "%BUILD_NET40%"=="0" if "%BUILD_NET40_FSHARP_CORE%"=="0" if "%BUILD_CORECLR%"=="0" if "%BUILD_VS%"=="0" if "%BUILD_FCS%"=="0" if "%TEST_NET40_COMPILERUNIT_SUITE%"=="0" if "%TEST_NET40_COREUNIT_SUITE%"=="0" if "%TEST_NET40_FSHARP_SUITE%"=="0" if "%TEST_NET40_FSHARPQA_SUITE%"=="0" if "%TEST_CORECLR_COREUNIT_SUITE%"=="0" if "%TEST_CORECLR_FSHARP_SUITE%"=="0" if "%TEST_VS_IDEUNIT_SUITE%"=="0" if "%TEST_FCS%"=="0" if "%TEST_END_2_END%"=="0" if "%COPY_FSCOMP_RESOURCE_FOR_BUILD_FROM_SOURCES%"=="0" ( + set BUILD_FSHARP_PROJ=0 +) + rem rem This stops the dotnet cli from hunting around and rem finding the highest possible dotnet sdk version to use. @@ -483,7 +488,6 @@ echo BUILD_PROTO_WITH_CORECLR_LKG=%BUILD_PROTO_WITH_CORECLR_LKG% echo BUILD_NET40=%BUILD_NET40% echo BUILD_NET40_FSHARP_CORE=%BUILD_NET40_FSHARP_CORE% echo BUILD_CORECLR=%BUILD_CORECLR% -echo BUILD_FROMSOURCE=%BUILD_FROMSOURCE% echo BUILD_VS=%BUILD_VS% echo BUILD_FCS=%BUILD_FCS% echo BUILD_SETUP=%BUILD_SETUP% @@ -491,6 +495,8 @@ echo BUILD_NUGET=%BUILD_NUGET% echo BUILD_CONFIG=%BUILD_CONFIG% echo BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN% echo BUILD_MICROBUILD=%BUILD_MICROBUILD% +echo BUILD_FROMSOURCE=%BUILD_FROMSOURCE% +echo BUILD_FSHARP_PROJ=%BUILD_FSHARP_PROJ% echo. echo PB_SKIPTESTS=%PB_SKIPTESTS% echo PB_RESTORESOURCE=%PB_RESTORESOURCE% @@ -665,7 +671,7 @@ if "%BUILD_PROTO%" == "1" ( echo ---------------- Done with SDK restore, starting build ------------------------ -if "%BUILD_PHASE%" == "1" ( +if "%BUILD_PHASE%" == "1" if "%BUILD_FSHARP_PROJ%" == "1" ( 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 @@ -1072,6 +1078,7 @@ goto :success REM ------ exit ------------------------------------- :failure endlocal +@echo exit /b 1 :success diff --git a/build/targets/NGenOrCrossGen.targets b/build/targets/NGenOrCrossGen.targets new file mode 100644 index 00000000000..33dcaa3a63a --- /dev/null +++ b/build/targets/NGenOrCrossGen.targets @@ -0,0 +1,36 @@ + + + + + $(windir)\Microsoft.NET\Framework64\v4.0.30319\ngen.exe + $(windir)\Microsoft.NET\Framework\v4.0.30319\ngen.exe + + + + + + + + + + + + + + + + true + false + + + + diff --git a/fsharp.proj b/fsharp.proj index e695da391c9..59436e5a2e7 100644 --- a/fsharp.proj +++ b/fsharp.proj @@ -36,21 +36,50 @@ true + + + true + true + + - - - - - - - - - - - + + TargetFramework=netstandard1.6 + TargetFramework=net45 + + + TargetFramework=netstandard2.0 + TargetFramework=net46 + + + TargetFramework=netstandard1.6 + TargetFramework=net46 + + + TargetFramework=net46 + + + TargetFramework=netstandard1.6 + TargetFramework=net46 + + + TargetFramework=netcoreapp2.1 + TargetFramework=net46 + + + TargetFramework=netcoreapp2.1 + TargetFramework=net46 + + + TargetFramework=net46 + @@ -70,6 +99,7 @@ + diff --git a/proto.proj b/proto.proj index c3a704496ee..0974580af5a 100644 --- a/proto.proj +++ b/proto.proj @@ -7,8 +7,14 @@ - - + + TargetFramework=net46 + TargetFramework=netcoreapp2.1 + + + TargetFramework=net46 + TargetFramework=netcoreapp2.1 + diff --git a/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec b/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec index 87ef49f5521..f10712a641e 100644 --- a/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec +++ b/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec @@ -55,14 +55,14 @@ --> - + - + diff --git a/src/fsharp/fsc/fsc.fsproj b/src/fsharp/fsc/fsc.fsproj index 4bc9770e9e0..40f56a0627e 100644 --- a/src/fsharp/fsc/fsc.fsproj +++ b/src/fsharp/fsc/fsc.fsproj @@ -12,6 +12,7 @@ $(OtherFlags) --maxerrors:20 --extraoptimizationloops:1 true true + true diff --git a/src/fsharp/fsi/fsi.fsproj b/src/fsharp/fsi/fsi.fsproj index 6a4b7df15d5..5dbcac7557e 100644 --- a/src/fsharp/fsi/fsi.fsproj +++ b/src/fsharp/fsi/fsi.fsproj @@ -4,7 +4,7 @@ Exe - net46;netcoreapp2.0 + net46;netcoreapp2.1 .exe fsi $(NoWarn);45;55;62;75;1204 @@ -13,6 +13,7 @@ fsi.res true true + true @@ -45,7 +46,7 @@ - + diff --git a/tests/fsharp/test-framework.fs b/tests/fsharp/test-framework.fs index 85bc6319f19..85d462ffe47 100644 --- a/tests/fsharp/test-framework.fs +++ b/tests/fsharp/test-framework.fs @@ -164,7 +164,7 @@ let config configurationName envVars = let fsharpCompilerInteractiveSettingsArchitecture = "net46" #else let fscArchitecture = "netcoreapp2.1" - let fsiArchitecture = "netcoreapp2.0" + let fsiArchitecture = "netcoreapp2.1" let fsharpCoreArchitecture = "netstandard1.6" let fsharpBuildArchitecture = "netstandard2.0" let fsharpCompilerInteractiveSettingsArchitecture = "netstandard1.6"