Introduce Cake.Issues.Build for build server integrations#1238
Introduce Cake.Issues.Build for build server integrations#1238pascalberger merged 8 commits intodevelopfrom
Conversation
Co-authored-by: pascalberger <2190718+pascalberger@users.noreply.github.com>
Co-authored-by: pascalberger <2190718+pascalberger@users.noreply.github.com>
Co-authored-by: pascalberger <2190718+pascalberger@users.noreply.github.com>
c7e69fa to
c3525d3
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR introduces the new Cake.Issues.Build library to provide cleaner separation between build server and pull request functionality, addressing a naming inconsistency where build server implementations were using the Cake.Issues.PullRequests namespace. The shared issue filtering logic has been extracted into a reusable IssueFiltering project that both libraries can use.
Key Changes:
- New
Cake.Issues.Buildlibrary with focused build server API - Shared source project (
IssueFiltering) for common filtering logic between build servers and pull request systems - Complete test coverage with 10 unit tests and integration test example
- NuGet package specifications for both Cake .NET Tool and Cake Frosting variants
Reviewed Changes
Copilot reviewed 31 out of 31 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/IssueFiltering/. | New shared source project containing issue filtering logic |
| src/Cake.Issues.Build/*.cs | New build server library core implementation |
| src/Cake.Issues.Build.Tests/*.cs | Unit and integration tests for new library |
| src/Cake.Issues.PullRequests/IssueFilterer.cs | Updated to use shared filtering namespace |
| src/Cake.Issues.PullRequests/Cake.Issues.PullRequests.csproj | Added import of shared IssueFiltering project |
| src/Cake.Issues.slnx | Added new projects to solution |
| nuspec/nuget/Cake..Build. | NuGet package specifications and documentation for new library |
|
|
||
| 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 build servers. |
There was a problem hiding this comment.
Grammar inconsistency: 'streamlining' should be 'streamline' to maintain parallel structure with 'incorporate' in the list.
|
|
||
| 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 build servers. |
There was a problem hiding this comment.
Grammar inconsistency: 'streamlining' should be 'streamline' to maintain parallel structure with 'incorporate' in the list.
This PR introduces the new
Cake.Issues.Buildlibrary to provide a cleaner separation between pull request systems and build servers, addressing the confusing naming issue where build server addins were usingCake.Issues.PullRequests.What's New
New
Cake.Issues.BuildLibraryMaxIssuesToPost,MaxIssuesToPostForEachIssueProvider,ProviderIssueLimits(asDictionary<string, int>), andIssueFiltersBaseBuildServerSystemprovides foundation for build server implementations without capabilities systemReportIssuesToBuildServermethods for all usage scenariosShared Infrastructure
IssueFiltering: Shared source project containing common issue filtering logic that both pull request and build server systems can useIHasIssueFilteringinterface andBasicIssueFiltererclass enable code sharingNuGet Package Support
Cake.Issues.Build) and Cake Frosting (Cake.Frosting.Issues.Build)Usage Example
Backward Compatibility
All existing functionality in
Cake.Issues.PullRequestscontinues to work unchanged. The shared issue filtering logic is now used by both libraries, ensuring consistent behavior while eliminating code duplication.Testing
Future build server implementations should use the new
Cake.Issues.Buildlibrary, while existing implementations can be migrated gradually without breaking changes.Fixes #1237.