diff --git a/docs/content/project.fsx b/docs/content/project.fsx index 05a3727dee..4880e76859 100644 --- a/docs/content/project.fsx +++ b/docs/content/project.fsx @@ -23,6 +23,7 @@ of `InteractiveChecker`: *) // Reference F# compiler API #r "FSharp.Compiler.Service.dll" +#r "FSharp.Compiler.Service.ProjectCracker.dll" open System open System.Collections.Generic @@ -316,7 +317,7 @@ for any project that builds cleanly using the command line tools 'xbuild' or 'ms let projectFile = __SOURCE_DIRECTORY__ + @"/../../src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj" -checker.GetProjectOptionsFromProjectFile(projectFile) +ProjectCracker.GetProjectOptionsFromProjectFile(projectFile) (** @@ -325,7 +326,7 @@ You can also request RELEASE mode and set other build configuration parameters: *) -checker.GetProjectOptionsFromProjectFile(projectFile, [("Configuration", "Release")]) +ProjectCracker.GetProjectOptionsFromProjectFile(projectFile, [("Configuration", "Release")]) (** diff --git a/src/fsharp/FSharp.Compiler.Service.ProjectCracker/ProjectCracker.fs b/src/fsharp/FSharp.Compiler.Service.ProjectCracker/ProjectCracker.fs index c0fdafb216..fdc314f793 100644 --- a/src/fsharp/FSharp.Compiler.Service.ProjectCracker/ProjectCracker.fs +++ b/src/fsharp/FSharp.Compiler.Service.ProjectCracker/ProjectCracker.fs @@ -13,7 +13,7 @@ type ProjectCracker = static member GetProjectOptionsFromProjectFileLogged(projectFileName : string, ?properties : (string * string) list, ?loadedTimeStamp, ?enableLogging) = let loadedTimeStamp = defaultArg loadedTimeStamp DateTime.MaxValue // Not 'now', we don't want to force reloading let properties = defaultArg properties [] - let enableLogging = defaultArg enableLogging false + let enableLogging = defaultArg enableLogging true let logMap = ref Map.empty let rec convert (opts: FSharp.Compiler.Service.ProjectCracker.Exe.ProjectOptions) : FSharpProjectOptions = @@ -50,4 +50,8 @@ type ProjectCracker = convert opts, !logMap static member GetProjectOptionsFromProjectFile(projectFileName : string, ?properties : (string * string) list, ?loadedTimeStamp) = - fst (ProjectCracker.GetProjectOptionsFromProjectFileLogged(projectFileName, ?properties=properties, ?loadedTimeStamp=loadedTimeStamp)) + fst (ProjectCracker.GetProjectOptionsFromProjectFileLogged( + projectFileName, + ?properties=properties, + ?loadedTimeStamp=loadedTimeStamp, + enableLogging=false)) diff --git a/tests/service/ExprTests.fs b/tests/service/ExprTests.fs index bd22ec68c1..217b6c1508 100644 --- a/tests/service/ExprTests.fs +++ b/tests/service/ExprTests.fs @@ -1,6 +1,7 @@  #if INTERACTIVE #r "../../bin/v4.5/FSharp.Compiler.Service.dll" +#r "../../bin/v4.5/FSharp.Compiler.Service.ProjectCracker.dll" #r "../../packages/NUnit/lib/nunit.framework.dll" #load "FsUnit.fs" #load "Common.fs" @@ -679,7 +680,7 @@ let ``Test expressions of declarations stress big expressions`` () = let ``Test Declarations selfhost`` () = let projectFile = __SOURCE_DIRECTORY__ + @"/FSharp.Compiler.Service.Tests.fsproj" // Check with Configuration = Release - let options = checker.GetProjectOptionsFromProjectFile(projectFile, [("Configuration", "Debug")]) + let options = ProjectCracker.GetProjectOptionsFromProjectFile(projectFile, [("Configuration", "Debug")]) let wholeProjectResults = checker.ParseAndCheckProject(options) |> Async.RunSynchronously wholeProjectResults.Errors.Length |> shouldEqual 0 @@ -736,7 +737,7 @@ let ``Test Declarations selfhost FSharp.Core`` () = Environment.CurrentDirectory <- __SOURCE_DIRECTORY__ + @"/../../../fsharp/src/fsharp/FSharp.Core" let projectFile = __SOURCE_DIRECTORY__ + @"/../../../fsharp/src/fsharp/FSharp.Core/FSharp.Core.fsproj" - let options = checker.GetProjectOptionsFromProjectFile(projectFile, [("Configuration", "Debug")]) + let options = ProjectCracker.GetProjectOptionsFromProjectFile(projectFile, [("Configuration", "Debug")]) let wholeProjectResults = checker.ParseAndCheckProject(options) |> Async.RunSynchronously diff --git a/tests/service/ProjectOptionsTests.fs b/tests/service/ProjectOptionsTests.fs index a1ee9e2721..5973243ad5 100644 --- a/tests/service/ProjectOptionsTests.fs +++ b/tests/service/ProjectOptionsTests.fs @@ -126,7 +126,7 @@ let ``Project file parsing -- compile files 2``() = [] let ``Project file parsing -- bad project file``() = let f = normalizePath (__SOURCE_DIRECTORY__ + @"/data/Malformed.fsproj") - let log = snd (ProjectCracker.GetProjectOptionsFromProjectFileLogged(f, enableLogging=true)) + let log = snd (ProjectCracker.GetProjectOptionsFromProjectFileLogged(f)) log.[f] |> should contain "Microsoft.Build.Exceptions.InvalidProjectFileException" []