Skip to content

🍰 🧩 🔎 Cake addin for reading and managing issues from any code analyzer or linter that may occur during the build process

License

Notifications You must be signed in to change notification settings

cake-contrib/Cake.Issues

Repository files navigation

Cake Issues Addin

License Documentation Join in the discussion on the Cake repository Stable Release Pre-Release) Code Coverage

The Cake.Issues addins for the Cake build automation system offer an extensive and flexible solution for reading linting issues.

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 about the addins see the Cake.Issues website. For general information about the Cake build automation system see the Cake website.

Table of Contents

Background

Unique Problem Solving

Some examples how Cake.Issues can help development teams to improve code quality.

Break build on linting issues:

Cake.Issues provides a seamless integration, allowing you to enforce coding standards by breaking builds when linting issues are detected.

Reports:

Craft detailed and visually appealing reports for linting issues directly within your Cake build. The addins facilitates easy identification and resolution of linting concerns, enhancing the overall code quality.

Pull Requests integration:

Ensure linting issues are promptly addressed by having them reported as comments on pull requests. Cake.Issues bridges the gap between linting tools and version control systems, fostering efficient collaboration during code reviews.

Universal Compatibility

Build System Agnosticism:

Embrace the freedom to choose the build system that best suit your needs. If your current build system lacks tasks for reporting issues in pull requests, Cake.Issues steps in to fill that void seamlessly. In the case of using multiple CI services, Cake.Issues guarantees a consistent feature set across all of them.

Diverse Linting Tool Support:

Regardless of the linting tools you use, Cake.Issues ensures that you're not left out. Cake.Issues supports a variety of analyzers and linters, allowing you to incorporate new tools effortlessly while maintaining integration with existing ones.

Unprecedented Extensibility

Modular Architecture:

The Cake.Issues addin breaks away from the norm by offering a modular architecture. Comprising over 15 distinct addins, it presents a cohesive solution through more than 75 aliases for Cake builds, providing unparalleled flexibility.

Extensible Infrastructure:

Designed with extensibility in mind, Cake.Issues provides extension points for supporting additional analyzers, linters, report formats, and code review systems. This adaptability ensures that your build scripts can evolve with the ever-changing landscape of development tools.

Install

Integrating Cake.Issues into your Cake build is straightforward. Developers can quickly configure the addins to work with their preferred linting tools and version control system. With minimal setup, teams can enjoy the benefits of enhanced code quality management seamlessly integrated into their existing build pipeline.

The Cake Issues addins are deployed as NuGet packages.

In Cake Scripting running they can be added using the addin preprocessor directive:

#addin nuget:?package=Cake.Issues&version=x.x.x

In Cake Frosting they can be added using package references:

<PackageReference Include="Cake.Issues" Version="x.x.x" />

See list of available addins.

Compatibility

See Release Notes for requirements for each specific version.

Usage

See Website for detailed usage instructions.

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.

Addins

Cake Scripting Addin Cake Frosting Addin Description
Cake.Issues Cake.Issues Addin providing the aliases for creating and reading of issues.
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.
Cake.Issues.PullRequests Cake.Frosting.Issues.PullRequests Addin providing the aliases for writing issues to pull requests and build servers.
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.
Cake.Issues.Reporting Cake.Frosting.Issues.Reporting Addin providing the aliases for creating reports.
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.

API

The Cake Issues addins provide a wide range of additional aliases which can be used in Cake builds. See API reference for an overview.

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.