-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathBuildSolutionTask.cs
32 lines (28 loc) · 1.12 KB
/
BuildSolutionTask.cs
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
using Cake.Common.Tools.DotNet;
using Cake.Common.Tools.DotNet.Build;
using Cake.Common.Tools.DotNet.MSBuild;
using Cake.Frosting;
[TaskName("Build-Solution")]
[IsDependentOn(typeof(RestoreSolutionTask))]
[IsDependeeOf(typeof(ReadIssuesTask))]
public sealed class BuildSolutionTask : FrostingTask<BuildContext>
{
public override void Run(BuildContext context)
{
var msBuildLogFilePath = context.Paths.OutputLogsDirectoryPath.CombineWithFilePath("build.binlog");
var settings = new DotNetBuildSettings
{
NoRestore = true,
MSBuildSettings =
context.Parameters.Build.GetSettings()
.WithLogger(
"BinaryLogger," + context.Environment.ApplicationRoot.CombineWithFilePath("StructuredLogger.dll"),
"",
msBuildLogFilePath.FullPath)
.WithTarget("Rebuild"),
};
context.DotNetBuild(context.Paths.SolutionFilePath.FullPath, settings);
// Read issues
context.Parameters.InputFiles.AddMsBuildBinaryLogFilePath(msBuildLogFilePath);
}
}