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 4a919e3bbda..7e96d797f77 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 @@ -3,6 +3,7 @@ $(MSBuildProjectDirectory)\..\..\src + net45 ..\..\$(Configuration.ToLower())\fcs @@ -23,10 +24,10 @@ Service/MSBuildReferenceResolver.fs - - $(FSharpSourcesRoot)\..\packages\Microsoft.Portable.FSharp.Core.4.1.20\lib\profiles\net40\FSharp.Core.dll - false - + + + + $(FSharpSourcesRoot)\..\fcs\dependencies\MSBuild.v12.0\Microsoft.Build.Framework.dll false @@ -47,6 +48,5 @@ $(FSharpSourcesRoot)\..\fcs\dependencies\MSBuild.v12.0\Microsoft.Build.Tasks.v12.0.dll false - \ No newline at end of file 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 96a0923814d..ab486b6cbcf 100644 --- a/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj +++ b/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj @@ -3,6 +3,7 @@ $(MSBuildProjectDirectory)\..\..\src + net45 ..\..\$(Configuration.ToLower())\fcs @@ -26,11 +27,8 @@ - - - $(FSharpSourcesRoot)\..\packages\Microsoft.Portable.FSharp.Core.4.1.20\lib\profiles\net40\FSharp.Core.dll - false - + + \ No newline at end of file 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 555ac872bc2..871579de358 100644 --- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj +++ b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj @@ -3,6 +3,7 @@ $(MSBuildProjectDirectory)\..\..\src + Exe net45 @@ -19,11 +20,7 @@ - - - $(FSharpSourcesRoot)\..\packages\Microsoft.Portable.FSharp.Core.4.1.20\lib\profiles\net40\FSharp.Core.dll - false - + $(FSharpSourcesRoot)\..\fcs\dependencies\MSBuild.v12.0\Microsoft.Build.Framework.dll false diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/paket.references b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/paket.references deleted file mode 100644 index 3ad1f9662c7..00000000000 --- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/paket.references +++ /dev/null @@ -1,4 +0,0 @@ -Microsoft.Build.Utilities.Core -Microsoft.Build.Engine -Microsoft.Build -System.Threading.Tasks.Dataflow \ No newline at end of file diff --git a/fcs/FSharp.Compiler.Service.Tests/CSharp_Analysis/CSharp_Analysis.csproj b/fcs/FSharp.Compiler.Service.Tests/CSharp_Analysis/CSharp_Analysis.csproj new file mode 100644 index 00000000000..49585864e4d --- /dev/null +++ b/fcs/FSharp.Compiler.Service.Tests/CSharp_Analysis/CSharp_Analysis.csproj @@ -0,0 +1,10 @@ + + + + net45;netstandard2.0 + false + + + + + \ No newline at end of file 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 1f109c29ee7..148b5f4dad6 100644 --- a/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj +++ b/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj @@ -3,14 +3,14 @@ $(MSBuildProjectDirectory)\..\..\src + net46;netcoreapp2.0 - $(NoWarn);44; true - true true - ..\..\$(Configuration.ToLower())\fcs + false + true $(DefineConstants);FX_NO_RUNTIMEENVIRONMENT @@ -68,14 +68,12 @@ - - + + - - - + @@ -91,7 +89,7 @@ - - + + \ No newline at end of file diff --git a/fcs/FSharp.Compiler.Service.sln b/fcs/FSharp.Compiler.Service.sln index 2fe403a3e36..192f8bd6242 100644 --- a/fcs/FSharp.Compiler.Service.sln +++ b/fcs/FSharp.Compiler.Service.sln @@ -51,7 +51,7 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "UntypedTree", "samples\Unty EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FscExe", "samples\FscExe\FscExe.fsproj", "{C94C257C-3C0A-4858-B5D8-D746498D1F08}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharp_Analysis", "..\tests\service\data\CSharp_Analysis\CSharp_Analysis.csproj", "{887630A3-4B1D-40EA-B8B3-2D842E9C40DB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharp_Analysis", "FSharp.Compiler.Service.Tests\CSharp_Analysis\CSharp_Analysis.csproj", "{887630A3-4B1D-40EA-B8B3-2D842E9C40DB}" EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FsiExe", "samples\FsiExe\FsiExe.fsproj", "{F9540CA8-1CE0-4546-A23A-A461E416E95B}" EndProject diff --git a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj index 16f6efe9450..8d7f42d4eec 100644 --- a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj +++ b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj @@ -3,6 +3,7 @@ $(MSBuildProjectDirectory)\..\..\src + net45;netstandard2.0 $(DefineConstants);COMPILER_SERVICE_AS_DLL @@ -30,7 +31,6 @@ F#, fsharp, interactive, compiler, editor - $(DefineConstants);FX_NO_PDB_READER $(DefineConstants);FX_NO_PDB_WRITER $(DefineConstants);FX_NO_SYMBOLSTORE @@ -631,31 +631,25 @@ Service/fsi.fs - + + + + + + + - - + + - - $(FSharpSourcesRoot)\..\packages\Microsoft.DiaSymReader.PortablePdb.1.2.0\lib\portable-net45+win8\Microsoft.DiaSymReader.PortablePdb.dll - - - $(FSharpSourcesRoot)\..\packages\Microsoft.DiaSymReader.1.1.0\lib\portable-net45+win8\Microsoft.DiaSymReader.dll - - - $(FSharpSourcesRoot)\..\packages\System.Reflection.Metadata.1.4.2\lib\portable-net45+win8\System.Reflection.Metadata.dll - - - $(FSharpSourcesRoot)\..\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll - $(FSharpSourcesRoot)\..\packages\System.ValueTuple.4.3.1\lib\netstandard1.0\System.ValueTuple.dll diff --git a/fcs/build.fsx b/fcs/build.fsx index 58b56e99319..03b57797b02 100644 --- a/fcs/build.fsx +++ b/fcs/build.fsx @@ -63,78 +63,57 @@ let isJenkinsBuild = buildServer = BuildServer.Jenkins let isVersionTag tag = Version.TryParse tag |> fst let hasRepoVersionTag = isAppVeyorBuild && AppVeyorEnvironment.RepoTag && isVersionTag AppVeyorEnvironment.RepoTagName let assemblyVersion = if hasRepoVersionTag then AppVeyorEnvironment.RepoTagName else release.NugetVersion -let nugetVersion = release.NugetVersion -open SemVerHelper let buildVersion = if hasRepoVersionTag then assemblyVersion else if isAppVeyorBuild then sprintf "%s-b%s" assemblyVersion AppVeyorEnvironment.BuildNumber else assemblyVersion -// Skipping build of FCS on Jenkins Mono for now until we knoow how to get an updated version of Mono installed -let skipBuild = isJenkinsBuild && isMono - Target "Clean" (fun _ -> - if not skipBuild then CleanDir releaseDir ) Target "Restore" (fun _ -> - if not skipBuild then - runDotnet __SOURCE_DIRECTORY__ "restore FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj -v n" - runDotnet __SOURCE_DIRECTORY__ "restore FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj -v n" - runDotnet __SOURCE_DIRECTORY__ "restore FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj -v n" - runDotnet __SOURCE_DIRECTORY__ "restore FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj -v n" - for p in (!! "./../**/packages.config") do - let result = - ExecProcess (fun info -> - info.FileName <- FullName @"./../.nuget/NuGet.exe" - info.WorkingDirectory <- FullName @"./.." - info.Arguments <- sprintf "restore %s -PackagesDirectory \"%s\" -ConfigFile \"%s\"" (FullName p) (FullName "./../packages") (FullName "./../NuGet.Config")) TimeSpan.MaxValue - if result <> 0 then failwithf "nuget restore %s failed" p + // We assume a paket restore has already been run + runDotnet __SOURCE_DIRECTORY__ "restore FSharp.Compiler.Service.sln -v n" + for p in [ "../packages.config" ] do + ExecProcess (fun info -> + info.FileName <- FullName @"./../.nuget/NuGet.exe" + info.WorkingDirectory <- FullName @"./.." + info.Arguments <- sprintf "restore %s -PackagesDirectory \"%s\" -ConfigFile \"%s\"" (FullName p) (FullName "./../packages") (FullName "./../NuGet.Config")) TimeSpan.MaxValue + |> assertExitCodeZero ) Target "BuildVersion" (fun _ -> - if not skipBuild then Shell.Exec("appveyor", sprintf "UpdateBuild -Version \"%s\"" buildVersion) |> ignore ) Target "Build" (fun _ -> - if skipBuild then - try Directory.CreateDirectory("../Release/") |> ignore with _ -> () - File.WriteAllText("../Release/nichts.txt", "nothing to see here, build was skipped until we knoow how to get an updated version of Mono installed on Jenkins") - else - runDotnet __SOURCE_DIRECTORY__ "build FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj -v n -c Release /maxcpucount:1" + runDotnet __SOURCE_DIRECTORY__ "build FSharp.Compiler.Service.sln -v n -c Release" ) Target "Test" (fun _ -> - if not skipBuild then + // This project file is used for the netcoreapp2.0 tests to work out reference sets runDotnet __SOURCE_DIRECTORY__ "restore ../tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj -v n" runDotnet __SOURCE_DIRECTORY__ "build ../tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj -v n" - runDotnet __SOURCE_DIRECTORY__ "test FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj -v n -c Release /maxcpucount:1" -) + // Now run the tests + runDotnet __SOURCE_DIRECTORY__ "test FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj -v n -c Release" +) Target "NuGet" (fun _ -> - if not skipBuild then - runDotnet __SOURCE_DIRECTORY__ "build FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj -v n -c Release /maxcpucount:1" - runDotnet __SOURCE_DIRECTORY__ "pack FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj -v n -c Release /maxcpucount:1" - runDotnet __SOURCE_DIRECTORY__ "pack FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj -v n -c Release /maxcpucount:1" - runDotnet __SOURCE_DIRECTORY__ "pack FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj -v n -c Release /maxcpucount:1" + runDotnet __SOURCE_DIRECTORY__ "pack FSharp.Compiler.Service.sln -v n -c Release" ) Target "GenerateDocsEn" (fun _ -> - if not skipBuild then executeFSIWithArgs "docsrc/tools" "generate.fsx" [] [] |> ignore ) Target "GenerateDocsJa" (fun _ -> - if not skipBuild then executeFSIWithArgs "docsrc/tools" "generate.ja.fsx" [] [] |> ignore ) Target "PublishNuGet" (fun _ -> - if not skipBuild then Paket.Push (fun p -> let apikey = match getBuildParam "nuget-apikey" with @@ -148,11 +127,12 @@ Target "PublishNuGet" (fun _ -> // -------------------------------------------------------------------------------------- // Run all targets by default. Invoke 'build ' to override +Target "Start" DoNothing Target "Release" DoNothing Target "GenerateDocs" DoNothing Target "TestAndNuGet" DoNothing -"Clean" +"Start" =?> ("BuildVersion", isAppVeyorBuild) ==> "Restore" ==> "Build" diff --git a/fcs/cibuild.sh b/fcs/cibuild.sh index 77f614b6b24..ddc49d8ff34 100755 --- a/fcs/cibuild.sh +++ b/fcs/cibuild.sh @@ -2,4 +2,4 @@ # note: expects to run from top directory ./mono/latest-mono-stable.sh -./build.sh NuGet +./fcs/build.sh NuGet diff --git a/fcs/fcs.props b/fcs/fcs.props index eee47b6040e..c3e2198b38f 100644 --- a/fcs/fcs.props +++ b/fcs/fcs.props @@ -8,13 +8,5 @@ $(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools fsi.exe - - - $(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools - fsc.exe - $(FscToolPath)\$(FsiToolExe) - - {HintPathFromItem};{TargetFrameworkDirectory};{RawFileName} - \ No newline at end of file diff --git a/fcs/netfx.props b/fcs/netfx.props new file mode 100644 index 00000000000..064f29b1809 --- /dev/null +++ b/fcs/netfx.props @@ -0,0 +1,28 @@ + + + + + + + true + + + /Library/Frameworks/Mono.framework/Versions/Current/lib/mono + /usr/lib/mono + /usr/local/lib/mono + + + $(BaseFrameworkPathOverrideForMono)/4.5-api + $(BaseFrameworkPathOverrideForMono)/4.5.1-api + $(BaseFrameworkPathOverrideForMono)/4.5.2-api + $(BaseFrameworkPathOverrideForMono)/4.6-api + $(BaseFrameworkPathOverrideForMono)/4.6.1-api + $(BaseFrameworkPathOverrideForMono)/4.6.2-api + $(BaseFrameworkPathOverrideForMono)/4.7-api + $(BaseFrameworkPathOverrideForMono)/4.7.1-api + true + + + $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) + + \ No newline at end of file diff --git a/fcs/paket.dependencies b/fcs/paket.dependencies index 39535eedd9d..ccaead9f031 100644 --- a/fcs/paket.dependencies +++ b/fcs/paket.dependencies @@ -4,9 +4,3 @@ source https://www.nuget.org/api/v2/ nuget FAKE nuget FSharp.Formatting - -nuget Microsoft.Build.Utilities.Core 14.3.0 -nuget Microsoft.Build.Framework 14.3.0 -nuget Microsoft.Build.Engine 14.3.0 -nuget Microsoft.Build 14.3.0 -nuget System.Threading.Tasks.Dataflow 4.5.24.0 \ No newline at end of file diff --git a/fcs/paket.lock b/fcs/paket.lock index 947bfc412b7..1ead25b452a 100644 --- a/fcs/paket.lock +++ b/fcs/paket.lock @@ -1,24 +1,10 @@ RESTRICTION: || (== net45) (== net46) NUGET remote: https://www.nuget.org/api/v2 - FAKE (4.63.2) + FAKE (4.64.6) FSharp.Compiler.Service (2.0.0.6) FSharp.Formatting (2.14.4) FSharp.Compiler.Service (2.0.0.6) FSharpVSPowerTools.Core (>= 2.3 < 2.4) FSharpVSPowerTools.Core (2.3) FSharp.Compiler.Service (>= 2.0.0.3) - Microsoft.Build (14.3) - Microsoft.Build.Framework (14.3) - Microsoft.Build.Engine (14.3) - Microsoft.Build.Framework (14.3) - Microsoft.Build.Framework (14.3) - System.Collections (>= 4.0.11) - restriction: || (&& (== net45) (>= netstandard1.3)) (== net46) - System.Runtime (>= 4.1) - restriction: || (&& (== net45) (>= netstandard1.3)) (== net46) - System.Runtime.InteropServices (>= 4.1) - restriction: || (&& (== net45) (>= netstandard1.3)) (== net46) - Microsoft.Build.Utilities.Core (14.3) - Microsoft.Build.Framework (14.3) - System.Collections (4.3) - restriction: || (&& (== net45) (>= netstandard1.3)) (== net46) - System.Runtime (4.3) - restriction: || (&& (== net45) (>= netstandard1.3)) (== net46) - System.Runtime.InteropServices (4.3) - restriction: || (&& (== net45) (>= netstandard1.3)) (== net46) - System.Threading.Tasks.Dataflow (4.5.24) diff --git a/fcs/samples/EditorService/EditorService.fsproj b/fcs/samples/EditorService/EditorService.fsproj index 1f684a07fdf..470cec8c1ef 100644 --- a/fcs/samples/EditorService/EditorService.fsproj +++ b/fcs/samples/EditorService/EditorService.fsproj @@ -1,64 +1,18 @@ - - - + + + - Debug - AnyCPU - $(MSBuildProjectDirectory)\..\..\ - 2.0 - a40507d6-fa48-43d3-b18a-ae3daace4020 + net46;netcoreapp2.0 Exe - EditorService - EditorService - v4.5 - EditorService - - true + false - - true - full - false - false - bin\Debug\ - DEBUG;TRACE - 3 - AnyCPU - bin\Debug\EditorService.xml - true - - - pdbonly - true - true - bin\Release\ - TRACE - 3 - AnyCPU - bin\Release\EditorService.xml - true - - - - - $(SolutionDir)\..\packages\Microsoft.Portable.FSharp.Core.4.1.20\lib\profiles\net40\FSharp.Core.dll - false - - - - - - - - FSharp.Compiler.Service - {2e4d67b4-522d-4cf7-97e4-ba940f0b18f3} - True - + + + - - \ No newline at end of file + diff --git a/fcs/samples/EditorService/paket.references b/fcs/samples/EditorService/paket.references deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fcs/samples/FscExe/FscExe.fsproj b/fcs/samples/FscExe/FscExe.fsproj index 4434ddb30a7..ae716f00027 100644 --- a/fcs/samples/FscExe/FscExe.fsproj +++ b/fcs/samples/FscExe/FscExe.fsproj @@ -1,75 +1,19 @@ - - - - + + + - $(MSBuildProjectDirectory)\..\..\..\src - - - Debug - AnyCPU - $(MSBuildProjectDirectory)\..\..\ - x86 - {C94C257C-3C0A-4858-B5D8-D746498D1F08} + net46 Exe - $(NoWarn);62;44 - FscExe - FscExe - FX_RESIDENT_COMPILER;$(DefineConstants) - true - $(OtherFlags) --warnon:1182 - true - 4.4.0.0 - v4.5 - - - - true - full - false - false - bin\Debug\ - TRACE;DEBUG;$(DefineConstants) - 3 - AnyCPU - bin\Debug\FsiExe.xml - true - - - - - pdbonly - true - true - bin\Release\ - TRACE;$(DefineConstants) - 3 - AnyCPU - bin\Release\FsiExe.xml - true + false + $(DefineConstants);RESIDENT_COMPILER - - Driver/FscMain.fs - + - - - $(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools\FSharp.Core.dll - true - - - + + - - - FSharp.Compiler.Service - {2e4d67b4-522d-4cf7-97e4-ba940f0b18f3} - True - - - - \ No newline at end of file + diff --git a/fcs/samples/FscExe/FscMain.fs b/fcs/samples/FscExe/FscMain.fs index 6a639ea678d..af8f290df78 100644 --- a/fcs/samples/FscExe/FscMain.fs +++ b/fcs/samples/FscExe/FscMain.fs @@ -14,11 +14,7 @@ open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library open Microsoft.FSharp.Compiler.ErrorLogger open Microsoft.FSharp.Compiler.Range -#if FX_RESHAPED_REFLECTION -open Microsoft.FSharp.Core.ReflectionAdapters -#endif - -#if FX_RESIDENT_COMPILER +#if RESIDENT_COMPILER type TypeInThisAssembly() = member x.Dummy = 1 let progress = ref false @@ -58,19 +54,15 @@ module FSharpResidentCompiler = // Use different base channel names on mono and CLR as a CLR remoting process can't talk // to a mono server static let baseChannelName = -#if ENABLE_MONO_SUPPORT if runningOnMono then "FSCChannelMono" else -#endif "FSCChannel" static let channelName = baseChannelName + "_" + domainName + "_" + userName static let serverName = -#if ENABLE_MONO_SUPPORT if runningOnMono then "FSCServerMono" else -#endif "FSCSever" static let mutable serverExists = true @@ -131,7 +123,6 @@ module FSharpResidentCompiler = // On Unix, the file permissions of the implicit socket need to be set correctly to make this // private to the user. -#if ENABLE_MONO_SUPPORT if runningOnMono then try let monoPosix = System.Reflection.Assembly.Load(new System.Reflection.AssemblyName("Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756")) @@ -152,7 +143,6 @@ module FSharpResidentCompiler = #endif () // Fail silently -#endif server.Run() static member private ConnectToServer() = @@ -177,7 +167,6 @@ module FSharpResidentCompiler = with _ -> if !progress then printfn "client: error while creating client, starting client instead" let procInfo = -#if ENABLE_MONO_SUPPORT if runningOnMono then let shellName, useShellExecute = match System.Environment.GetEnvironmentVariable("FSC_MONO") with @@ -194,7 +183,6 @@ module FSharpResidentCompiler = CreateNoWindow = true, UseShellExecute = useShellExecute) else -#endif ProcessStartInfo(FileName=fscServerExe, Arguments = "/server", CreateNoWindow = true, @@ -274,6 +262,7 @@ module Driver = System.Console.WriteLine("Press any key to continue...") System.Console.ReadKey() |> ignore +#if RESIDENT_COMPILER if runningOnMono && hasArgument "resident" argv then let argv = stripArgument "resident" argv @@ -293,14 +282,13 @@ module Driver = elif runningOnMono && hasArgument "server" argv then FSharpResidentCompiler.FSharpCompilationServer.RunServer() 0 - +#endif else let errors, exitCode = FSharpChecker.Create().Compile (argv) |> Async.RunSynchronously for error in errors do eprintfn "%s" (error.ToString()) exitCode -#if FX_NO_DEFAULT_DEPENDENCY_TYPE -#else +#if !FX_NO_DEFAULT_DEPENDENCY_TYPE [] #endif do () diff --git a/fcs/samples/FscExe/paket.references b/fcs/samples/FscExe/paket.references deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fcs/samples/FsiExe/FsiExe.fsproj b/fcs/samples/FsiExe/FsiExe.fsproj index 1e13ce613b6..6ee84579726 100644 --- a/fcs/samples/FsiExe/FsiExe.fsproj +++ b/fcs/samples/FsiExe/FsiExe.fsproj @@ -1,63 +1,11 @@ - - - + + + - $(MSBuildProjectDirectory)\..\..\..\src - - - Debug - AnyCPU - $(MSBuildProjectDirectory)\..\..\ - 2.0 - {f9540ca8-1ce0-4546-a23a-a461e416e95b} + net46 Exe - FsiExe - FsiExe - v4.5 - FsiExe - 40 - - true - - - true - full - false - false - bin\Debug\ - TRACE;DEBUG - 3 - AnyCPU - bin\Debug\FsiExe.xml - true - - + false - - pdbonly - true - true - bin\Release\ - TRACE - 3 - AnyCPU - bin\Release\FsiExe.xml - true - - - - - $(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools\FSharp.Core.dll - true - - - - - - - - - @@ -65,11 +13,9 @@ - - FSharp.Compiler.Service - {2e4d67b4-522d-4cf7-97e4-ba940f0b18f3} - True - + + + + - - \ No newline at end of file + diff --git a/fcs/samples/FsiExe/paket.references b/fcs/samples/FsiExe/paket.references deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fcs/samples/InteractiveService/InteractiveService.fsproj b/fcs/samples/InteractiveService/InteractiveService.fsproj index 91f16cf41fc..6d767f44f42 100644 --- a/fcs/samples/InteractiveService/InteractiveService.fsproj +++ b/fcs/samples/InteractiveService/InteractiveService.fsproj @@ -1,68 +1,17 @@ - - - + + + - $(MSBuildProjectDirectory)\..\..\..\src - - - Debug - AnyCPU - $(MSBuildProjectDirectory)\..\..\ - 2.0 - 067e95e5-e3dc-4ca7-813a-4d1e277d2d52 + net46 Exe - InteractiveService - InteractiveService - v4.5 - InteractiveService - 4.4.0.0 - - true - - - true - full - false - false - bin\Debug\ - DEBUG;TRACE - 3 - AnyCPU - bin\Debug\InteractiveService.xml - true + false - - pdbonly - true - true - bin\Release\ - TRACE - 3 - AnyCPU - bin\Release\InteractiveService.xml - true - - - - - $(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools\FSharp.Core.dll - true - - - - - - - - FSharp.Compiler.Service - {2e4d67b4-522d-4cf7-97e4-ba940f0b18f3} - True - + + - - \ No newline at end of file + diff --git a/fcs/samples/InteractiveService/paket.references b/fcs/samples/InteractiveService/paket.references deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fcs/samples/Tokenizer/Tokenizer.fsproj b/fcs/samples/Tokenizer/Tokenizer.fsproj index 72f0cba2961..6d767f44f42 100644 --- a/fcs/samples/Tokenizer/Tokenizer.fsproj +++ b/fcs/samples/Tokenizer/Tokenizer.fsproj @@ -1,71 +1,17 @@ - - - + + + - $(MSBuildProjectDirectory)\..\..\..\src - - - Debug - AnyCPU - $(MSBuildProjectDirectory)\..\..\ - 2.0 - 92793069-816f-4f69-84ac-0966f8275e65 + net46 Exe - Tokenizer - Tokenizer - v4.5 - Tokenizer - 4.4.0.0 - - true - - - true - full - false - false - bin\Debug\ - DEBUG;TRACE - 3 - AnyCPU - bin\Debug\Tokenizer.xml - true - - - pdbonly - true - true - bin\Release\ - TRACE - 3 - AnyCPU - bin\Release\Tokenizer.xml - true + false - - - - $(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools\FSharp.Core.dll - true - - - - - - - - FSharp.Compiler.Service - {2e4d67b4-522d-4cf7-97e4-ba940f0b18f3} - True - + + - - 11 - - - \ No newline at end of file + diff --git a/fcs/samples/Tokenizer/paket.references b/fcs/samples/Tokenizer/paket.references deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fcs/samples/UntypedTree/UntypedTree.fsproj b/fcs/samples/UntypedTree/UntypedTree.fsproj index c9faade7af0..6d767f44f42 100644 --- a/fcs/samples/UntypedTree/UntypedTree.fsproj +++ b/fcs/samples/UntypedTree/UntypedTree.fsproj @@ -1,71 +1,17 @@ - - - + + + - $(MSBuildProjectDirectory)\..\..\..\src - - - Debug - AnyCPU - 2.0 - c816728d-bbea-472d-9f6c-e8913957a673 + net46 Exe - UntypedTree - UntypedTree - v4.5 - UntypedTree - 4.4.0.0 - - true - $(MSBuildProjectDirectory)\..\..\ - - - true - full - false - false - bin\Debug\ - DEBUG;TRACE - 3 - AnyCPU - bin\Debug\UntypedTree.xml - true - - - pdbonly - true - true - bin\Release\ - TRACE - 3 - AnyCPU - bin\Release\UntypedTree.xml - true + false - - - - $(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools\FSharp.Core.dll - true - - - - - - - - FSharp.Compiler.Service - {2e4d67b4-522d-4cf7-97e4-ba940f0b18f3} - True - + + - - 11 - - - \ No newline at end of file + diff --git a/fcs/samples/UntypedTree/UntypedTree.sln b/fcs/samples/UntypedTree/UntypedTree.sln deleted file mode 100644 index a7b50130754..00000000000 --- a/fcs/samples/UntypedTree/UntypedTree.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "UntypedTree", "UntypedTree.fsproj", "{C816728D-BBEA-472D-9F6C-E8913957A673}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C816728D-BBEA-472D-9F6C-E8913957A673}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C816728D-BBEA-472D-9F6C-E8913957A673}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C816728D-BBEA-472D-9F6C-E8913957A673}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C816728D-BBEA-472D-9F6C-E8913957A673}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/fcs/samples/UntypedTree/paket.references b/fcs/samples/UntypedTree/paket.references deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/src/scripts/fssrgen.targets b/src/scripts/fssrgen.targets index 220a971bbdb..3458dd5bff5 100644 --- a/src/scripts/fssrgen.targets +++ b/src/scripts/fssrgen.targets @@ -13,7 +13,7 @@ Copyright (C) Microsoft Corporation. All Rights Reserved. - ProcessFsSrGen;$(PrepareForBuildDependsOn) + ProcessFsSrGen;$(BuildDependsOn) diff --git a/tests/service/ProjectOptionsTests.fs b/tests/service/ProjectOptionsTests.fs index 07bf18f86ca..3ab2e1c2dab 100644 --- a/tests/service/ProjectOptionsTests.fs +++ b/tests/service/ProjectOptionsTests.fs @@ -543,10 +543,15 @@ ImplFile.x File.WriteAllText(fileName1, fileSource1) File.WriteAllText(fileName2, fileSource2) + printfn "------Starting Script load closure project----" + printfn "Getting project options..." let projectOptions, diagnostics = - checker.GetProjectOptionsFromScript(fileName2, fileSource2) |> Async.RunSynchronously + checker.GetProjectOptionsFromScript(fileName2, fileSource2, useFsiAuxLib=false) |> Async.RunSynchronously + for d in diagnostics do + printfn "ERROR: %A" d diagnostics.IsEmpty |> shouldEqual true + printfn "Parse and check..." let _, checkResults = checker.ParseAndCheckFileInProject(fileName2, 0, fileSource2, projectOptions) |> Async.RunSynchronously @@ -555,13 +560,20 @@ ImplFile.x results.Errors |> shouldEqual [| |] | _ -> failwith "type check was aborted" + printfn "Getting parsing options..." let parsingOptions, diagnostics = checker.GetParsingOptionsFromProjectOptions(projectOptions) + for d in diagnostics do + printfn "ERROR: %A" d diagnostics.IsEmpty |> shouldEqual true + printfn "Parsing file..." let parseResults = checker.ParseFile(fileName1, fileSource1, parsingOptions) |> Async.RunSynchronously + printfn "Checking parsetree..." parseResults.ParseTree.IsSome |> shouldEqual true + printfn "Checking decls..." match parseResults.ParseTree.Value with | ParsedInput.ImplFile (ParsedImplFileInput (_, _, _, _, _, modules, _)) -> let (SynModuleOrNamespace (_, _, _, decls, _, _, _, _)) = modules.Head decls.Length |> shouldEqual 1 | _ -> failwith "got sig file" + printfn "------Finished Script load closure project----"