The MsBuild support for the Cake.Issues addin for Cake allows you to read issues logged as warnings in a MsBuild log. This addin provides the aliases for reading MsBuild warnings and providing them to the Cake.Issues addin. It also requires the core Cake.Issues addin. There are also additional addins for generating reports or posting issues to pull requests. See the Project Site for an overview of the whole ecosystem of addins for working with issues in Cake scripts. NOTE: This is the version of the addin compatible with Cake Script Runners. For addin compatible with Cake Frosting see Cake.Frosting.Issues.MsBuild.
$ dotnet add package Cake.Issues.MsBuildNOTE: This is the version of the addin compatible with Cake .NET Tool. For addin compatible with Cake Frosting see Cake.Frosting.Issues.MsBuild.
The MsBuild support for the Cake.Issues addin for Cake allows you to read issues logged as warnings in a MsBuild log.
Cake.Issues redefines issue management within the Cake build system by offering a comprehensive, universal, and extensible solution. The unique capabilities of the addins empower development teams to enforce coding standards, generate insightful reports, seamlessly incorporate various linting tools, and streamline the integration with build servers and pull requests. With its modular architecture and extensive set of aliases, Cake.Issues provides a future-proof infrastructure for issue management in Cake builds, fostering a more efficient and adaptable development process.
For more information and extensive documentation see the Cake.Issues website. For general information about the Cake build automation system see the Cake website.
Integrating Cake.Issues into your Cake build is straightforward. With minimal setup, teams can enjoy the benefits of enhanced code quality management seamlessly integrated into their existing build pipeline.
After adding the addin the log file of a MsBuild build can be parsed:
Task("Build-Solution").Does(() =>
{
var logPath = @"c:\build\msbuild.binlog";
var repoRootPath = @"c:\repo";
// Build solution.
DotNetBuild(
repoRootPath.CombineWithFilePath("MySolution.sln"),
new DotNetBuildSettings
{
MSBuildSettings =
new DotNetMSBuildSettings()
// Ensures that binary log version is written in a version compatible with Cake.Issues.MsBuild.
.WithLogger(
"BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"),
"",
logPath.FullPath)
});
// Read issues.
var issues =
ReadIssues(
MsBuildIssuesFromFilePath(logPath, MsBuildBinaryLogFileFormat),
repoRootPath);
Information("{0} issues are found.", issues.Count());
});
For questions and to discuss ideas & feature requests, use the GitHub discussions on the Cake GitHub repository, under the Extension Q&A category.
Contributions are welcome. See Contribution Guidelines.
Binary distributions for some addins contain third-party code which is licensed under its own respective license. See LICENSE for details.