From e69f2eec8bef5a9b84082899b8040a48ae82832d Mon Sep 17 00:00:00 2001 From: voiceofwisdom Date: Thu, 23 Jul 2015 14:23:38 -0500 Subject: [PATCH] Loaded dlls versions are used to invalidate cache. --- src/app/FakeLib/FSIHelper.fs | 104 ++++++++++++++++++++--- src/test/Test.FAKECore/FSIHelperSpecs.cs | 8 +- 2 files changed, 94 insertions(+), 18 deletions(-) diff --git a/src/app/FakeLib/FSIHelper.fs b/src/app/FakeLib/FSIHelper.fs index 77aa288cd8a..590faf3a262 100644 --- a/src/app/FakeLib/FSIHelper.fs +++ b/src/app/FakeLib/FSIHelper.fs @@ -7,6 +7,7 @@ open System open System.IO open System.Diagnostics open System.Threading +open System.Xml.Linq let private FSIPath = @".\tools\FSharp\;.\lib\FSharp\;[ProgramFilesX86]\Microsoft SDKs\F#\4.0\Framework\v4.0;[ProgramFilesX86]\Microsoft SDKs\F#\3.1\Framework\v4.0;[ProgramFilesX86]\Microsoft SDKs\F#\3.0\Framework\v4.0;[ProgramFiles]\Microsoft F#\v4.0\;[ProgramFilesX86]\Microsoft F#\v4.0\;[ProgramFiles]\FSharp-2.0.0.0\bin\;[ProgramFilesX86]\FSharp-2.0.0.0\bin\;[ProgramFiles]\FSharp-1.9.9.9\bin\;[ProgramFilesX86]\FSharp-1.9.9.9\bin\" @@ -25,14 +26,20 @@ let private extractDirectives (regex : System.Text.RegularExpressions.Regex) scr |> Seq.map(fun m -> (m.Groups.Item("path").Value) ) - -let getAllScriptContents (pathsAndContents : seq) = - pathsAndContents |> Seq.map(snd) + +type Script = { + Content : string + Location : string + SearchPaths : string seq + IncludedAssemblies : Lazy +} + +let getAllScriptContents (pathsAndContents : seq