From 598dc257acd902f61bf78509cc096ac2fe07c8b4 Mon Sep 17 00:00:00 2001 From: James Crowley Date: Thu, 16 Oct 2014 09:28:33 +0100 Subject: [PATCH 1/2] Adding NDepend helper to project file --- src/app/FakeLib/NDependHelper.fs | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/app/FakeLib/NDependHelper.fs diff --git a/src/app/FakeLib/NDependHelper.fs b/src/app/FakeLib/NDependHelper.fs new file mode 100644 index 00000000000..eb096a1b2ae --- /dev/null +++ b/src/app/FakeLib/NDependHelper.fs @@ -0,0 +1,42 @@ +module Fake.NDepend + +open Fake +open System +open System.IO +open System.Text + +let getWorkingDir workingDir = + Seq.find isNotNullOrEmpty [workingDir; environVar("teamcity.build.workingDir"); "."] + |> Path.GetFullPath + +let buildParamsAndExecute parameters buildArguments toolPath workingDir = + let args = buildArguments parameters + trace (toolPath + " " + args) + let result = ExecProcess (fun info -> + info.FileName <- toolPath + info.WorkingDirectory <- getWorkingDir workingDir + info.Arguments <- args) TimeSpan.MaxValue + if result <> 0 then failwithf "Error running %s" toolPath + +type NDependParams = + { ToolPath: string + WorkingDir: string + ProjectFile: string + CoverageFiles: string list } + +let NDependDefaults = + { ToolPath = findToolInSubPath "ndepend.console.exe" (currentDirectory @@ "tools" @@ "NDepend") + WorkingDir = "" + ProjectFile = "" + CoverageFiles = [] } + +let buildNDependArgs parameters = + new StringBuilder() + |> append parameters.ProjectFile + |> appendWithoutQuotes "/CoverageFiles " + |> appendFileNamesIfNotNull parameters.CoverageFiles + |> toText + +let NDepend (setParams: NDependParams -> NDependParams) = + let parameters = (NDependDefaults |> setParams) + buildParamsAndExecute parameters buildNDependArgs parameters.ToolPath parameters.WorkingDir From b63d4aba75d888df2070a4522b9091cf7de135dd Mon Sep 17 00:00:00 2001 From: James Crowley Date: Thu, 16 Oct 2014 09:29:14 +0100 Subject: [PATCH 2/2] Adding NDepend helper to project file --- src/app/FakeLib/FakeLib.fsproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/FakeLib/FakeLib.fsproj b/src/app/FakeLib/FakeLib.fsproj index 4ac518c9ac6..4dcd94e5b26 100644 --- a/src/app/FakeLib/FakeLib.fsproj +++ b/src/app/FakeLib/FakeLib.fsproj @@ -73,6 +73,7 @@ + @@ -416,4 +417,4 @@ - \ No newline at end of file +