Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ProjectCracking.fs « MonoDevelop.FSharp.Tests « fsharpbinding « external « main - github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 5781bb157b8beba4dfe4d17b6bd0b5031d75edaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
namespace MonoDevelopTests
open System
open System.IO
open System.Reflection
open System.Threading.Tasks
open System.Runtime.CompilerServices

open FsUnit
open NUnit.Framework
open MonoDevelop.Core
open MonoDevelop.Core.ProgressMonitoring
open MonoDevelop.Projects
open MonoDevelop.Projects.MSBuild
open MonoDevelop.FSharp

[<TestFixture>]
module ``Project Cracking`` =
    let toTask computation : Task = Async.StartAsTask computation :> _

    let monitor = new ConsoleProgressMonitor()

    let getProjectOptions sln = async {
        let! (w:WorkspaceItem) = Services.ProjectService.ReadWorkspaceItem (monitor, FilePath(sln))

        let s = w :?> Solution
        let fsproj = s.Items.[0] :?> FSharpProject
        let config = CompilerArguments.getConfig()
        let! refs = fsproj.GetReferences (config)
        let opts = languageService.GetProjectOptionsFromProjectFile fsproj config refs
        return opts.Value.OtherOptions
    }

    do
        FixtureSetup.initialiseMonoDevelop()