Cake.Issues 5.0.0-beta0002

This is a prerelease version of Cake.Issues.
dotnet add package Cake.Issues --version 5.0.0-beta0002                
NuGet\Install-Package Cake.Issues -Version 5.0.0-beta0002                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cake.Issues" Version="5.0.0-beta0002" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cake.Issues --version 5.0.0-beta0002                
#r "nuget: Cake.Issues, 5.0.0-beta0002"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Cake.Issues&version=5.0.0-beta0002&prerelease                

Addin for reading code analyzer or linter issues for the Cake build automation system

The issues addin for Cake allows you to read issue from any code analyzer or linter.

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 streamlining the integration with 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.

How to use

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.

NOTE: Cake.Issues.Recipe for Cake .NET Tool and Cake.Frosting.Issues.Recipe provide a single NuGet package, which can be used inside your projects build to add fully flavored issue management, including parsing of linter outputs, integration with build systems and pull requests and creation of different reports.

Reading issues

The addin provides the ReadIssues alias to read issues. It needs an additional NuGet package to provide the specific issue provider implementation:

Cake .NET Tool Addin Cake Frosting Addin Description
Cake.Issues.MsBuild Cake.Frosting.Issues.MsBuild Issue provider for reading MsBuild errors and warnings.
Cake.Issues.DocFx Cake.Frosting.Issues.DocFx Issue provider for reading DocFx warnings.
Cake.Issues.EsLint Cake.Frosting.Issues.EsLint Issue provider for reading ESLint issues.
Cake.Issues.GitRepository Cake.Frosting.Issues.GitRepository Issue provider for analyzing Git repositories.
Cake.Issues.InspectCode Cake.Frosting.Issues.InspectCode Issue provider for reading JetBrains Inspect Code issues.
Cake.Issues.Markdownlint Cake.Frosting.Issues.Markdownlint Issue provider for reading issues from markdownlint.
Cake.Issues.Sarif Cake.Frosting.Issues.Sarif Issue provider for reading SARIF reports.
Cake.Issues.Terraform Cake.Frosting.Issues.Terraform Issue provider for reading Terraform validation output.

See Issue Providers for a list of available issue providers and detailed documentation.

Creating issues

To create issues directly in the build script the NewIssue alias can be used:

[TaskName("Create-Issue")]
public sealed class CreateIssueTask : FrostingTask<BuildContext>
{
    public override void Run(BuildContext context)
    {
        var issue =
            context
                .NewIssue(
                    "Something went wrong",
                    "MyCakeScript",
                    "My Cake Script")
                .WithMessageInHtmlFormat("Something went <b>wrong</b>")
                .WithMessageInMarkdownFormat("Something went **wrong**")
                .InFile("myfile.txt", 42)
                .WithPriority(IssuePriority.Warning)
                .Create();

        context.Information("Issue created with message: {0}", issues.MessageText);
    }
}

Creating reports

Issue reports can be created using any of the available Report Format addin together with the Cake.Issues.Reporting addin for Cake .NET Tool or Cake.Frosting.Issues.Reporting addin for Cake Frosting.

Cake .NET Tool Addin Cake Frosting Addin Description
Cake.Issues.Reporting.Console Cake.Frosting.Issues.Reporting.Console Support for reporting issues to the console.
Cake.Issues.Reporting.Generic Cake.Frosting.Issues.Reporting.Generic Support for creating reports in any text based format (HTML, Markdown, ...).
Cake.Issues.Reporting.Sarif Cake.Frosting.Issues.Reporting.Sarif Support for creating reports in SARIF format.

Reporting issues to pull requests and build systems

Issues can be written as comments to pull requests or reported to build systems using any of the available Pull Request System addin together with the Cake.Issues.PullRequests addin for Cake .NET Tool or Cake.Frosting.Issues.PullRequests addin for Cake Frosting.

Cake .NET Tool Addin Cake Frosting Addin Description
Cake.Issues.PullRequests.AppVeyor Cake.Frosting.Issues.PullRequests.AppVeyor Integration with AppVeyor builds.
Cake.Issues.PullRequests.AzureDevOps Cake.Frosting.Issues.PullRequests.AzureDevOps Integration with Azure DevOps pull requests.
Cake.Issues.PullRequests.GitHubActions Cake.Frosting.Issues.PullRequests.GitHubActions Integration with GitHub Actions.

Support & Discussion

For questions and to discuss ideas & feature requests, use the GitHub discussions on the Cake GitHub repository, under the Extension Q&A category.

Contributing

Contributions are welcome. See Contribution Guidelines.

License

MIT License - Copyright © Cake Issues contributors

Binary distributions for some addins contain third-party code which is licensed under its own respective license. See LICENSE for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (11)

Showing the top 5 NuGet packages that depend on Cake.Issues:

Package Downloads
Cake.Frosting.Issues.Recipe

Cake.Frosting.Issues.Recipe provides a build script which can be used inside your projects Cake Frosting build to add issue management. See the Project Site for documentation and an overview of the whole ecosystem of addins for working with issues in Cake builds. NOTE: This is the version of the recipe compatible with Cake Frosting. For recipe compatible with Cake Script Runners see Cake.Issues.Recipe.

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. 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 Frosting. For addin compatible with Cake Script Runners see Cake.Issues.MsBuild.

Cake.Frosting.Issues.PullRequests

The pull requests issues addin for Cake allows you to write issue from any code analyzer or linter as comments to pull requests. This addin provides the aliases for writing issues to pull requests. It requires the core Cake.Issues addin, addins for reading issues and an addin for the specific pull request system. 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 Frosting. For addin compatible with Cake Script Runners see Cake.Issues.PullRequests.

Cake.Frosting.Issues.Reporting

The issues reporting addin for Cake allows you to create reports for issue from any code analyzer or linter. This addin provides the aliases for creating reports. It requires the core Cake.Issues addin, addins for reading issues and one or more reporting format addin for the specific report format. 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 Frosting. For addin compatible with Cake Script Runners see Cake.Issues.Reporting.

Cake.Frosting.Issues.InspectCode

The JetBrains Inspect Code support for the Cake.Issues addin for Cake allows you to read issues logged by JetBrains Inspect Code. This addin provides the aliases for reading JetBrains Inspect Code issues 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 Frosting. For addin compatible with Cake Script Runners see Cake.Issues.InspectCode.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Cake.Issues:

Repository Stars
dnnsoftware/Dnn.Platform
DNN (formerly DotNetNuke) is the leading open source web content management platform (CMS) in the Microsoft ecosystem.
Version Downloads Last updated
5.0.0-beta0002 159 11/23/2024
5.0.0-beta0001 783 11/18/2024
4.12.0 13,235 11/5/2024
4.11.0 16,040 10/6/2024
4.10.1 28,189 8/20/2024
4.10.0 11,698 7/30/2024
4.9.0 2,487 7/25/2024
4.8.1 3,899 7/19/2024
4.8.0 454 7/19/2024
4.7.2 652 7/18/2024
4.7.1 1,172 7/17/2024
4.7.0 713 7/16/2024
4.6.0 12,792 6/24/2024
4.5.1 17,023 5/24/2024
4.5.0 912 5/23/2024
4.4.0 4,585 5/18/2024
4.3.1 11,093 4/25/2024
4.3.0 3,657 4/20/2024
4.2.1 2,033 4/16/2024
4.2.0 3,240 4/14/2024
4.1.0 21,846 2/21/2024
4.0.0 37,346 12/23/2023
4.0.0-beta0001 46,685 11/26/2023
3.0.0 46,737 7/13/2023
3.0.0-beta0002 7,735 6/14/2023
3.0.0-beta0001 5,342 1/7/2023
2.0.0 36,987 11/30/2022
2.0.0-beta0003 3,464 9/29/2022
2.0.0-beta0002 2,308 7/28/2022
2.0.0-beta0001 9,427 12/8/2021
1.0.0 98,221 7/27/2021
1.0.0-beta0001 6,492 2/16/2021
0.9.1 51,591 9/19/2020
0.9.0 5,627 8/22/2020
0.9.0-beta0005 939 8/10/2020
0.9.0-beta0004 1,646 8/1/2020
0.9.0-beta0003 403 7/31/2020
0.9.0-beta0002 1,501 7/12/2020
0.9.0-beta0001 432 7/6/2020
0.8.1 6,855 1/20/2020
0.8.0 51,593 10/17/2019
0.8.0-beta0001 878 10/10/2019
0.7.1 153,546 8/16/2019
0.7.0 20,380 5/30/2019
0.7.0-beta0003 477 5/27/2019
0.7.0-beta0002 883 4/20/2019
0.7.0-beta0001 512 4/19/2019
0.6.2 56,219 9/5/2018
0.6.2-beta0002 708 9/5/2018
0.6.2-beta0001 638 9/4/2018
0.6.1 1,338 9/2/2018
0.6.1-beta0001 715 8/26/2018
0.6.0 4,614 8/24/2018
0.6.0-beta0002 784 8/19/2018
0.6.0-beta0001 732 8/18/2018
0.5.0 26,381 8/17/2018
0.5.0-beta0003 708 8/17/2018
0.5.0-beta0002 779 8/6/2018
0.5.0-beta0001 757 8/5/2018
0.4.1 1,011 8/3/2018
0.4.0 4,100 7/28/2018
0.4.0-beta0002 704 7/25/2018
0.4.0-beta0001 740 7/24/2018
0.3.1 1,932 6/20/2018
0.3.0 8,667 6/4/2018
0.3.0-beta0004 819 6/3/2018
0.3.0-beta0003 788 6/3/2018
0.3.0-beta0002 863 6/1/2018
0.3.0-beta0001 804 5/31/2018
0.2.0 1,533 5/22/2018
0.2.0-beta0004 1,007 3/10/2018
0.2.0-beta0003 778 3/7/2018
0.2.0-beta0002 1,044 12/25/2017
0.2.0-beta0001 815 10/15/2017
0.1.0 3,063 9/16/2017
0.1.0-beta0004 760 9/13/2017
0.1.0-beta0003 810 9/3/2017
0.1.0-beta0002 775 9/2/2017
0.1.0-beta0001 781 9/1/2017