diff --git a/docs/input/docs/issue-providers/docfx/examples.md b/docs/input/docs/issue-providers/docfx/examples.md new file mode 100644 index 00000000..bd2225cf --- /dev/null +++ b/docs/input/docs/issue-providers/docfx/examples.md @@ -0,0 +1,67 @@ +--- +Order: 30 +Title: Examples +Description: Examples for using the Cake.Issues.DocFx addin. +--- +The following example will call [DocFx] to generate the documentation and outputs the number of warnings. + +To call [DocFx] from a Cake script you can use the [Cake.DocFx] addin. + +```csharp +#addin "Cake.DocFx" +``` + +To read issues from DocFx log files you need to import the core addin and the DocFx support: + +```csharp +#addin "Cake.Issues" +#addin "Cake.Issues.DocFx" +``` + +:::{.alert .alert-warning} +Please note that you always should pin addins to a specific version to make sure your builds are deterministic and +won't break due to updates to one of the addins. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. +::: + +We need some global variables: + +```csharp +var logPath = @"c:\build\docfx.log"; +var repoRootPath = @"c:\repo"; +var docRootPath = @"docs"; +``` + +The following task will build the [DocFx] project and write a log file: + +```csharp +Task("Build-Documentation").Does(() => +{ + // Run DocFx. + DocFxBuild(new DocFxBuildSettings() + { + LogPath = logPath + }); +}); +``` + +Finally you can define a task where you call the core addin with the desired issue provider. + +```csharp +Task("Read-Issues") + .IsDependentOn("Build-Documentation") + .Does(() => + { + // Read Issues. + var issues = + ReadIssues( + DocFxIssuesFromFilePath(logPath, docRootPath), + repoRootPath); + + Information("{0} issues are found.", issues.Count()); + }); +``` + +[DocFx]: https://dotnet.github.io/docfx/ +[Cake.DocFx]: https://www.nuget.org/packages/Cake.DocFx/ diff --git a/docs/input/docs/issue-providers/docfx/features.md b/docs/input/docs/issue-providers/docfx/features.md new file mode 100644 index 00000000..64cd2497 --- /dev/null +++ b/docs/input/docs/issue-providers/docfx/features.md @@ -0,0 +1,43 @@ +--- +Order: 20 +Title: Features +Description: Features of the Cake.Issues.DocFx addin. +--- +The [Cake.Issues.DocFx addin] provides the following features. + +# Basic features + +* Reads warnings from [DocFx] log files. + + :::{.alert .alert-info} + [DocFx] can be run with [Cake.DocFx] addin. + ::: + +# Supported IIssue properties + +| | Property | Remarks | +|--------------------------------------------------------------------|-----------------------------------|---------------------------------| +| | `IIssue.ProviderType` | | +| | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| | `IIssue.AffectedFileRelativePath` | | +| | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| | `IIssue.Column` | | +| | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| | `IIssue.Priority` | | +| | `IIssue.PriorityName` | | +| | `IIssue.Rule` | | +| | `IIssue.RuleUrl` | | + +[Cake.Issues.DocFx addin]: https://www.nuget.org/packages/Cake.Issues.DocFx +[DocFx]: https://dotnet.github.io/docfx/ +[Cake.DocFx]: https://www.nuget.org/packages/Cake.DocFx +[IssuePriority.Warning]: ../../../api/Cake.Issues/IssuePriority/7A0CE07F diff --git a/docs/input/docs/issue-providers/docfx/index.cshtml b/docs/input/docs/issue-providers/docfx/index.cshtml new file mode 100644 index 00000000..4ac9d00d --- /dev/null +++ b/docs/input/docs/issue-providers/docfx/index.cshtml @@ -0,0 +1,12 @@ +--- +Title: DocFx +Description: Issue provider which allows you to read warnings logged by DocFx. +--- +

@Html.Raw(Model.String(DocsKeys.Description))

+ +

+ Support for reading warnings reported by DocFx + is implemented in the Cake.Issues.DocFx addin. +

+ +@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/docfx/requirements.md b/docs/input/docs/issue-providers/docfx/requirements.md new file mode 100644 index 00000000..576c77bd --- /dev/null +++ b/docs/input/docs/issue-providers/docfx/requirements.md @@ -0,0 +1,9 @@ +--- +Order: 10 +Title: Requirements +Description: Requirements for the Cake.Issues.DocFx addin. +--- +The requirements for using the [Cake.Issues.DocFx addin] are listed in the [release notes] for any specific version. + +[Cake.Issues.DocFx addin]: https://www.nuget.org/packages/Cake.Issues.DocFx +[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/eslint/features.md b/docs/input/docs/issue-providers/eslint/features.md new file mode 100644 index 00000000..bef51cbc --- /dev/null +++ b/docs/input/docs/issue-providers/eslint/features.md @@ -0,0 +1,44 @@ +--- +Order: 20 +Title: Features +Description: Features of the Cake.Issues.EsLint addin. +--- +The [Cake.Issues.EsLint addin] provides the following features. + +# Basic features + +* Reads issues reported by ESLint. +* Provides URLs for all issues. +* Support for custom URL resolving using the [EsLintAddRuleUrlResolver] alias. + +# Supported log file formats + +* [EsLintJsonFormat] alias for reading issues from log files created by [ESLint json formatter]. + +# Supported IIssue properties + +| | Property | Remarks | +|--------------------------------------------------------------------|-----------------------------------|---------------------------------| +| | `IIssue.ProviderType` | | +| | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| | `IIssue.AffectedFileRelativePath` | | +| | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| | `IIssue.Column` | | +| | `IIssue.EndColumn` | | +| | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| | `IIssue.Priority` | | +| | `IIssue.PriorityName` | | +| | `IIssue.Rule` | | +| | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [EsLintAddRuleUrlResolver] | + +[Cake.Issues.EsLint addin]: https://www.nuget.org/packages/Cake.Issues.EsLint +[ESLint json formatter]: https://eslint.org/docs/user-guide/formatters/#json +[EsLintAddRuleUrlResolver]: ../../../api/Cake.Issues.EsLint/EsLintIssuesAliases/D64301E6 +[EsLintJsonFormat]: ../../../api/Cake.Issues.EsLint/EsLintIssuesAliases/230C6E27 diff --git a/docs/input/docs/issue-providers/eslint/index.cshtml b/docs/input/docs/issue-providers/eslint/index.cshtml new file mode 100644 index 00000000..67d79724 --- /dev/null +++ b/docs/input/docs/issue-providers/eslint/index.cshtml @@ -0,0 +1,12 @@ +--- +Title: ESLint +Description: Issue provider which allows you to read issues logged by ESLint. +--- +

@Html.Raw(Model.String(DocsKeys.Description))

+ +

+ Support for reading issues reported by ESLint + is implemented in the Cake.Issues.EsLint addin. +

+ +@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/eslint/requirements.md b/docs/input/docs/issue-providers/eslint/requirements.md new file mode 100644 index 00000000..dbca0cec --- /dev/null +++ b/docs/input/docs/issue-providers/eslint/requirements.md @@ -0,0 +1,9 @@ +--- +Order: 10 +Title: Requirements +Description: Requirements for the Cake.Issues.EsLint addin. +--- +The requirements for using the [Cake.Issues.EsLint addin] are listed in the [release notes] for any specific version. + +[Cake.Issues.EsLint addin]: https://www.nuget.org/packages/Cake.Issues.EsLint +[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/inspectcode/examples.md b/docs/input/docs/issue-providers/inspectcode/examples.md new file mode 100644 index 00000000..5d9dbaf9 --- /dev/null +++ b/docs/input/docs/issue-providers/inspectcode/examples.md @@ -0,0 +1,66 @@ +--- +Order: 30 +Title: Examples +Description: Examples for using the Cake.Issues.InspectCode addin. +--- +The following example will call [JetBrains InspectCode] and output the number of warnings. + +To call [JetBrains InspectCode] from a Cake script you need to add the `JetBrains.ReSharper.CommandLineTools`: + +```csharp +#tool "nuget:?package=JetBrains.ReSharper.CommandLineTools" +``` + +To read issues from InspectCode log files you need to import the core addin and the InspectCode support: + +```csharp +#addin "Cake.Issues" +#addin "Cake.Issues.InspectCode" +``` + +:::{.alert .alert-warning} +Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and +won't break due to updates to one of the packages. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. +::: + +We need some global variables: + +```csharp +var logPath = @"c:\build\inspectcode.xml"; +var repoRootPath = @"c:\repo"; +``` + +The following task will run [JetBrains InspectCode] and write a log file: + +```csharp +Task("Analyze-Project").Does(() => +{ + // Run InspectCode. + var settings = new InspectCodeSettings() { + OutputFile = logPath + }; + + InspectCode(repoRootPath.CombineWithFilePath("MySolution.sln"), settings); +}); +``` + +Finally you can define a task where you call the core addin with the desired issue provider. + +```csharp +Task("Read-Issues") + .IsDependentOn("Analyze-Project") + .Does(() => + { + // Read Issues. + var issues = + ReadIssues( + InspectCodeIssuesFromFilePath(logPath), + repoRootPath); + + Information("{0} issues are found.", issues.Count()); + }); +``` + +[JetBrains InspectCode]: https://www.jetbrains.com/help/resharper/InspectCode.html diff --git a/docs/input/docs/issue-providers/inspectcode/features.md b/docs/input/docs/issue-providers/inspectcode/features.md new file mode 100644 index 00000000..93462f82 --- /dev/null +++ b/docs/input/docs/issue-providers/inspectcode/features.md @@ -0,0 +1,38 @@ +--- +Order: 20 +Title: Features +Description: Features of the Cake.Issues.InspectCode addin. +--- +The [Cake.Issues.InspectCode addin] provides the following features: + +# Basic features + +* Reads warnings from [JetBrains InsepectCode] log files. +* Provides URLs for issues containing a Wiki URL. + +# Supported IIssue properties + +| | Property | Remarks | +|--------------------------------------------------------------------|-----------------------------------|----------------------------------| +| | `IIssue.ProviderType` | | +| | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| | `IIssue.AffectedFileRelativePath` | | +| | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| | `IIssue.Column` | | +| | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| | `IIssue.Priority` | | +| | `IIssue.PriorityName` | | +| | `IIssue.Rule` | | +| | `IIssue.RuleUrl` | For issues containing a Wiki Url | + +[JetBrains InsepectCode]: https://www.jetbrains.com/help/resharper/2017.1/InspectCode.html +[Cake.Issues.InspectCode addin]: https://www.nuget.org/packages/Cake.Issues.InspectCode diff --git a/docs/input/docs/issue-providers/inspectcode/index.cshtml b/docs/input/docs/issue-providers/inspectcode/index.cshtml new file mode 100644 index 00000000..4f18b059 --- /dev/null +++ b/docs/input/docs/issue-providers/inspectcode/index.cshtml @@ -0,0 +1,12 @@ +--- +Title: InspectCode +Description: Issue provider which allows you to read issues logged by JetBrains Inspect Code. +--- +

@Html.Raw(Model.String(DocsKeys.Description))

+ +

+ Support for reading issues reported by JetBrains Inspect Code + is implemented in the Cake.Issues.InspectCode addin. +

+ +@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/inspectcode/requirements.md b/docs/input/docs/issue-providers/inspectcode/requirements.md new file mode 100644 index 00000000..097fe05e --- /dev/null +++ b/docs/input/docs/issue-providers/inspectcode/requirements.md @@ -0,0 +1,9 @@ +--- +Order: 10 +Title: Requirements +Description: Requirements for the Cake.Issues.Inspectcode addin. +--- +The requirements for using the [Cake.Issues.InspectCode addin] are listed in the [release notes] for any specific version. + +[Cake.Issues.InspectCode addin]: https://www.nuget.org/packages/Cake.Issues.InspectCode +[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/markdownlint/examples.md b/docs/input/docs/issue-providers/markdownlint/examples.md new file mode 100644 index 00000000..b81ddec2 --- /dev/null +++ b/docs/input/docs/issue-providers/markdownlint/examples.md @@ -0,0 +1,69 @@ +--- +Order: 30 +Title: Examples +Description: Examples for using the Cake.Issues.Markdownlint addin. +--- +The following example will call [markdownlint-cli] to lint some markdown files and outputs the number of warnings. + +To call [markdownlint-cli] from a Cake script you can use the [Cake.Markdownlint] addin. + +```csharp +#addin "Cake.Markdownlint" +``` + +To read issues from markdownlint-cli log files you need to import the core addin and the markdownlint support: + +```csharp +#addin "Cake.Issues" +#addin "Cake.Issues.Markdownlint" +``` + +:::{.alert .alert-warning} +Please note that you always should pin addins to a specific version to make sure your builds are deterministic and +won't break due to updates to one of the addins. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. +::: + +We need some global variables: + +```csharp +var logPath = @"c:\build\markdownlint.log"; +var repoRootFolder = MakeAbsolute(Directory("./")); +``` + +The following task will run [markdownlint-cli] and write a log file: + +```csharp +Task("Lint-Documentation").Does(() => +{ + // Run markdownlint-cli. + var settings = + MarkdownlintNodeJsRunnerSettings.ForDirectory(repoRootPath.Combine("docs")); + settings.OutputFile = logPath; + settings.ThrowOnIssue = false; + RunMarkdownlintNodeJs(settings); +}); +``` + +Finally you can define a task where you call the core addin with the desired issue provider. + +```csharp +Task("Read-Issues") + .IsDependentOn("Lint-Documentation") + .Does(() => + { + // Read Issues. + var issues = + ReadIssues( + MarkdownlintIssuesFromFilePath( + logPath, + MarkdownlintCliLogFileFormat), + repoRootPath); + + Information("{0} issues are found.", issues.Count()); + }); +``` + +[markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli +[Cake.Markdownlint]: https://www.nuget.org/packages/Cake.Markdownlint/ diff --git a/docs/input/docs/issue-providers/markdownlint/features.md b/docs/input/docs/issue-providers/markdownlint/features.md new file mode 100644 index 00000000..9b6d2d63 --- /dev/null +++ b/docs/input/docs/issue-providers/markdownlint/features.md @@ -0,0 +1,56 @@ +--- +Order: 20 +Title: Features +Description: Features of the Cake.Issues.Markdownlint addin. +--- +The [Cake.Issues.Markdownlint addin] provides the following features. + +# Basic features + +* Reads warnings from [Markdownlint] logfiles. +* Provides URLs for all issues. +* Support for custom URL resolving using the [MarkdownlintAddRuleUrlResolver] alias (except for [MarkdownlintCliJsonLogFileFormat]). + +# Supported log file formats + +* [MarkdownlintLogFileFormat] alias for reading issues from [Markdownlint] output generated with `options.resultVersion` set to 1. +* [MarkdownlintCliLogFileFormat] alias for reading issues from [markdownlint-cli] log files. +* [MarkdownlintCliJsonLogFileFormat] alias for reading issues from [markdownlint-cli] log files created with the `--json` parameter. + + :::{.alert .alert-info} + [markdownlint-cli] can be run with the [Cake.Markdownlint] addin. + ::: + +# Supported IIssue properties + +| | Property | Remarks | +|--------------------------------------------------------------------|-----------------------------------|-----------------------------------------| +| | `IIssue.ProviderType` | | +| | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| | `IIssue.AffectedFileRelativePath` | | +| | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| | `IIssue.Column` | Only for [MarkdownlintCliLogFileFormat] | +| | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| | `IIssue.Priority` | Always [IssuePriority.Warning] | +| | `IIssue.PriorityName` | Always `Warning` | +| | `IIssue.Rule` | | +| | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [MarkdownlintAddRuleUrlResolver] except for [MarkdownlintCliJsonLogFileFormat] | + +[Cake.Issues.Markdownlint addin]: https://www.nuget.org/packages/Cake.Issues.Markdownlint +[Markdownlint]: https://github.com/DavidAnson/markdownlint +[markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli +[Cake.Markdownlint]: https://www.nuget.org/packages/Cake.Markdownlint/ +[MarkdownlintAddRuleUrlResolver]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55 +[MarkdownlintLogFileFormat]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/EBFF674A +[MarkdownlintCliLogFileFormat]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E +[MarkdownlintCliJsonLogFileFormat]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F +[IssuePriority.Warning]: ../../../api/Cake.Issues/IssuePriority/7A0CE07F diff --git a/docs/input/docs/issue-providers/markdownlint/index.cshtml b/docs/input/docs/issue-providers/markdownlint/index.cshtml new file mode 100644 index 00000000..ab68430a --- /dev/null +++ b/docs/input/docs/issue-providers/markdownlint/index.cshtml @@ -0,0 +1,12 @@ +--- +Title: markdownlint +Description: Issue provider which allows you to read issues logged by markdownlint. +--- +

@Html.Raw(Model.String(DocsKeys.Description))

+ +

+ Support for reading issues reported by markdownlint + is implemented in the Cake.Issues.Markdownlint addin. +

+ +@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/markdownlint/requirements.md b/docs/input/docs/issue-providers/markdownlint/requirements.md new file mode 100644 index 00000000..e7d7f9a3 --- /dev/null +++ b/docs/input/docs/issue-providers/markdownlint/requirements.md @@ -0,0 +1,9 @@ +--- +Order: 10 +Title: Requirements +Description: Requirements for the Cake.Issues.Markdownlint addin. +--- +The requirements for using the [Cake.Issues.Markdownlint addin] are listed in the [release notes] for any specific version. + +[Cake.Issues.Markdownlint addin]: https://www.nuget.org/packages/Cake.Issues.Markdownlint +[release notes]: release-notes diff --git a/docs/input/docs/issue-providers/msbuild/examples.md b/docs/input/docs/issue-providers/msbuild/examples.md new file mode 100644 index 00000000..b0094018 --- /dev/null +++ b/docs/input/docs/issue-providers/msbuild/examples.md @@ -0,0 +1,75 @@ +--- +Order: 30 +Title: Examples +Description: Examples for using the Cake.Issues.MsBuild addin. +--- +The following example will call MsBuild to build the solution and outputs the number of warnings. + +To read issues from MsBuild log files you need to import the core addin and the MsBuild support: + +```csharp +#addin "Cake.Issues" +#addin "Cake.Issues.MsBuild" +``` + +In this example the log file is written by the `XmlFileLogger` class from [MSBuild Extension Pack]. +In order to use the above logger, the following line will download and install the tool from NuGet.org: + +```csharp +#tool "nuget:?package=MSBuild.Extension.Pack" +``` + +:::{.alert .alert-warning} +Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and +won't break due to updates to one of the packages. + +See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details. +::: + +We need some global variables: + +```csharp +var logPath = @"c:\build\msbuild.log"; +var repoRootPath = @"c:\repo"; +``` + +The following task will build the solution and write a log file: + +```csharp +Task("Build-Solution").Does(() => +{ + // Build solution. + var settings = + new MSBuildSettings() + .WithLogger( + Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath, + "XmlFileLogger", + $"logfile=\"{logPath}\";verbosity=Detailed;encoding=UTF-8" + ); + + MSBuild(repoRootPath.CombineWithFilePath("MySolution.sln"), settings); +}); +``` + +Finally you can define a task where you call the core addin with the desired issue provider. +The following example reads issues reported as MsBuild warnings by the `XmlFileLogger` +class from [MSBuild Extension Pack]: + +```csharp +Task("Read-Issues") + .IsDependentOn("Build-Solution") + .Does(() => + { + // Read Issues. + var issues = + ReadIssues( + MsBuildIssuesFromFilePath( + logPath, + MsBuildXmlFileLoggerFormat), + repoRootFolder); + + Information("{0} issues are found.", issues.Count()); + }); +``` + +[MSBuild Extension Pack]: https://github.com/mikefourie-zz/MSBuildExtensionPack diff --git a/docs/input/docs/issue-providers/msbuild/features.md b/docs/input/docs/issue-providers/msbuild/features.md new file mode 100644 index 00000000..8f92f5fb --- /dev/null +++ b/docs/input/docs/issue-providers/msbuild/features.md @@ -0,0 +1,48 @@ +--- +Order: 20 +Title: Features +Description: Features of the Cake.Issues.MsBuild addin. +--- +The [Cake.Issues.MsBuild addin] provides the following features. + +# Basic features + +* Reads errors and warnings from MSBuild log files. +* Provides URLs for all code analysis (`CA*`) and StyleCop (`SA*`) warnings. +* Support for custom URL resolving using the [MsBuildAddRuleUrlResolver] alias. + +# Supported log file formats + +* [MsBuildBinaryLogFileFormat] alias for reading issues from binary log files. +* [MsBuildXmlFileLoggerFormat] alias for reading issues from log files created by [MSBuild Extension Pack XmlFileLogger]. + +# Supported IIssue properties + +| | Property | Remarks | +|--------------------------------------------------------------------|-----------------------------------|---------------------------------------| +| | `IIssue.ProviderType` | | +| | `IIssue.ProviderName` | | +| | `IIssue.Run` | Can be set while reading issues | +| | `IIssue.Identifier` | Set to `IIssue.MessageText` | +| | `IIssue.ProjectName` | | +| | `IIssue.ProjectFileRelativePath` | | +| | `IIssue.AffectedFileRelativePath` | | +| | `IIssue.Line` | | +| | `IIssue.EndLine` | | +| | `IIssue.Column` | Only for [MsBuildXmlFileLoggerFormat] | +| | `IIssue.EndColumn` | | +| | `IIssue.FileLink` | Can be set while reading issues | +| | `IIssue.MessageText` | | +| | `IIssue.MessageHtml` | | +| | `IIssue.MessageMarkdown` | | +| | `IIssue.Priority` | | +| | `IIssue.PriorityName` | | +| | `IIssue.Rule` | | +| | `IIssue.RuleUrl` | For code analysis (`CA*`) and StyleCop (`SA*`) warnings. Support for additional rules can be added through a custom [MsBuildAddRuleUrlResolver] | + +[Cake.Issues.MsBuild addin]: https://www.nuget.org/packages/Cake.Issues.MsBuild +[MSBuild Extension Pack XmlFileLogger]: https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs +[MsBuildAddRuleUrlResolver]: ../../../api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487 +[MsBuildBinaryLogFileFormat]: ../../../api/Cake.Issues.MsBuild/MsBuildIssuesAliases/AD50C7E1 +[MsBuildXmlFileLoggerFormat]: ../../../api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E +[IssuePriority.Warning]: ../../../api/Cake.Issues/IssuePriority/7A0CE07F diff --git a/docs/input/docs/issue-providers/msbuild/index.cshtml b/docs/input/docs/issue-providers/msbuild/index.cshtml new file mode 100644 index 00000000..394da873 --- /dev/null +++ b/docs/input/docs/issue-providers/msbuild/index.cshtml @@ -0,0 +1,12 @@ +--- +Title: MsBuild +Description: Issue provider which allows you to read warnings logged by MsBuild. +--- +

@Html.Raw(Model.String(DocsKeys.Description))

+ +

+ Support for reading warnings reported by MsBuild is implemented in the + Cake.Issues.MsBuild addin. +

+ +@Html.Partial("_ChildPages") \ No newline at end of file diff --git a/docs/input/docs/issue-providers/msbuild/requirements.md b/docs/input/docs/issue-providers/msbuild/requirements.md new file mode 100644 index 00000000..bc25ea62 --- /dev/null +++ b/docs/input/docs/issue-providers/msbuild/requirements.md @@ -0,0 +1,9 @@ +--- +Order: 10 +Title: Requirements +Description: Requirements for the Cake.Issues.MsBuild addin. +--- +The requirements for using the [Cake.Issues.MsBuild addin] are listed in the [release notes] for any specific version. + +[Cake.Issues.MsBuild addin]: https://www.nuget.org/packages/Cake.Issues.MsBuild +[release notes]: release-notes