Skip to content

Instantly share code, notes, and snippets.

@b0urb4k1
Created October 6, 2016 05:12
Show Gist options
  • Save b0urb4k1/37c0da64a4e426bb2f8162c57896fd4b to your computer and use it in GitHub Desktop.
Save b0urb4k1/37c0da64a4e426bb2f8162c57896fd4b to your computer and use it in GitHub Desktop.
#r "../packages/FAKE/tools/FakeLib.dll"
open Fake
let configuration = getBuildParamOrDefault "configuration" "Release"
let platform = getBuildParamOrDefault "platform" "x64"
let testMode = getBuildParamOrDefault "testMode" ""
let targett = getBuildParamOrDefault "targett" "Build"
let verbosity = getBuildParamOrDefault "verbosity" "Quiet"
let project = getBuildParamOrDefault "project" ""
let convertVerbosity v =
match v with
| "Quiet" -> Some MSBuildVerbosity.Quiet
| "Minimal" -> Some MSBuildVerbosity.Minimal
| "Normal" -> Some MSBuildVerbosity.Normal
| "Detailed" -> Some MSBuildVerbosity.Detailed
| "Diagnostic" -> Some MSBuildVerbosity.Diagnostic
| _ -> None
let buildTargetString t p =
if System.String.IsNullOrEmpty(p)
then t
else match t with
| "Build" -> p
| _ -> sprintf "%s:%s" p t
let loggerConfig : list<MSBuildFileLoggerConfig> = [
{
Number = 1
Filename = Some ("build.log")
Verbosity = Some MSBuildVerbosity.Normal
Parameters = Some [MSBuildLogParameter.Append]
}
]
MSBuildDefaults <-
{ MSBuildDefaults with Verbosity = convertVerbosity verbosity; NoLogo = true; FileLoggers = Some loggerConfig }
MSBuildLoggers <- List.append MSBuildLoggers ["Reporting.MsBuildLogger,../packages/Reporting/lib/net461/Reporting.dll"]
Target "Build" (fun _ ->
trace "Building Solution."
!! "../../Solution.sln"
|> MSBuild null (buildTargetString targett project)
[ "Configuration", configuration
"Platform", platform
"DefineConstants", testMode
"AdditionalDefinitions", testMode
"Ddd", "true"
]
|> Log "Output: "
)
RunTargetOrDefault "Build"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment