diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index da37e81..44482aa 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ # These owners will be the default owners for everything in the repo and # will be requested for review when someone opens a pull request. -* @pascalberger @christianbumann @x-jokay @silanosa @georgesgoetz \ No newline at end of file +* @cake-contrib/team-bbt @x-jokay \ No newline at end of file diff --git a/docs/features.md b/docs/features.md index b8c4f05..57c2310 100644 --- a/docs/features.md +++ b/docs/features.md @@ -22,20 +22,26 @@ The [Cake.Issues.Markdownlint addin] provides the following features. # Supported IIssue properties -| | Property | Remarks | -|--------------------------------------------------------------------|-----------------------------------|--------------------------------| -| | `IIssue.ProviderType` | | -| | `IIssue.ProviderName` | | -| | `IIssue.ProjectName` | | -| | `IIssue.ProjectFileRelativePath` | | -| | `IIssue.AffectedFileRelativePath` | | -| | `IIssue.Line` | | -| | `IIssue.MessageText` | | -| | `IIssue.MessageHtml` | | -| | `IIssue.MessageMarkdown` | | -| | `IIssue.Priority` | Always [IssuePriority.Warning] | -| | `IIssue.PriorityName` | Always `Warning` | -| | `IIssue.Rule` | | +| | 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` | Always [IssuePriority.Warning] | +| | `IIssue.PriorityName` | Always `Warning` | +| | `IIssue.Rule` | | | | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [MarkdownlintAddRuleUrlResolver] | [Cake.Issues.Markdownlint addin]: https://www.nuget.org/packages/Cake.Issues.Markdownlint diff --git a/nuspec/nuget/Cake.Issues.Markdownlint.nuspec b/nuspec/nuget/Cake.Issues.Markdownlint.nuspec index 919a2b9..cad08d1 100644 --- a/nuspec/nuget/Cake.Issues.Markdownlint.nuspec +++ b/nuspec/nuget/Cake.Issues.Markdownlint.nuspec @@ -24,7 +24,7 @@ See the Project Site for an overview of the whole ecosystem of addins for workin Copyright © BBT Software AG and contributors Cake Script Cake-Issues Cake-IssueProvider Linting Markdownlint - https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/0.8.2 + https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/0.9.0 diff --git a/src/Cake.Issues.Markdownlint.Tests/Cake.Issues.Markdownlint.Tests.csproj b/src/Cake.Issues.Markdownlint.Tests/Cake.Issues.Markdownlint.Tests.csproj index 04b9aa9..5c8cdb1 100644 --- a/src/Cake.Issues.Markdownlint.Tests/Cake.Issues.Markdownlint.Tests.csproj +++ b/src/Cake.Issues.Markdownlint.Tests/Cake.Issues.Markdownlint.Tests.csproj @@ -24,7 +24,7 @@ - + @@ -38,10 +38,10 @@ - 0.8.0 + 0.9.0 - 0.8.0 + 0.9.0 0.33.0 @@ -54,11 +54,12 @@ runtime; build; native; contentfiles; analyzers all + 2.4.1 - 2.4.1 + 2.4.2 runtime; build; native; contentfiles; analyzers all diff --git a/src/Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintLogFileFormatTests.cs b/src/Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintV1LogFileFormatTests.cs similarity index 94% rename from src/Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintLogFileFormatTests.cs rename to src/Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintV1LogFileFormatTests.cs index 9490c09..1db0863 100644 --- a/src/Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintLogFileFormatTests.cs +++ b/src/Cake.Issues.Markdownlint.Tests/LogFileFormat/MarkdownlintV1LogFileFormatTests.cs @@ -7,7 +7,7 @@ using Shouldly; using Xunit; - public sealed class MarkdownlintLogFileFormatTests + public sealed class MarkdownlintV1LogFileFormatTests { public sealed class TheCtor { @@ -15,7 +15,7 @@ public sealed class TheCtor public void Should_Throw_If_Log_Is_Null() { // Given / When - var result = Record.Exception(() => new MarkdownlintLogFileFormat(null)); + var result = Record.Exception(() => new MarkdownlintV1LogFileFormat(null)); // Then result.IsArgumentNullException("log"); @@ -28,7 +28,7 @@ public sealed class TheReadIssuesMethod public void Should_Read_Issues_Correct() { // Given - var fixture = new MarkdownlintIssuesProviderFixture("markdownlint.json"); + var fixture = new MarkdownlintIssuesProviderFixture("markdownlint.json"); // When var issues = fixture.ReadIssues().ToList(); diff --git a/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderFixture.cs b/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderFixture.cs index 9828dd8..e6f28c2 100644 --- a/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderFixture.cs +++ b/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderFixture.cs @@ -10,8 +10,8 @@ internal class MarkdownlintIssuesProviderFixture public MarkdownlintIssuesProviderFixture(string fileResourceName) : base(fileResourceName) { - this.RepositorySettings = - new RepositorySettings(@"c:\Source\Cake.Issues"); + this.ReadIssuesSettings = + new ReadIssuesSettings(@"c:\Source\Cake.Issues"); } protected override string FileResourceNamespace => "Cake.Issues.Markdownlint.Tests.Testfiles." + typeof(T).Name + "."; diff --git a/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderTests.cs b/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderTests.cs index 585b2cb..2fb6250 100644 --- a/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderTests.cs +++ b/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesProviderTests.cs @@ -21,7 +21,7 @@ public void Should_Throw_If_Log_Is_Null() var result = Record.Exception(() => new MarkdownlintIssuesProvider( log, - new MarkdownlintIssuesSettings("Foo".ToByteArray(), new MarkdownlintLogFileFormat(new FakeLog())))); + new MarkdownlintIssuesSettings("Foo".ToByteArray(), new MarkdownlintV1LogFileFormat(new FakeLog())))); // Then result.IsArgumentNullException("log"); diff --git a/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs b/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs index 2bbd9a7..7eac241 100644 --- a/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs +++ b/src/Cake.Issues.Markdownlint.Tests/MarkdownlintIssuesSettingsTests.cs @@ -18,7 +18,7 @@ public void Should_Throw_If_LogFilePath_Is_Null() { // Given FilePath logFilePath = null; - var format = new MarkdownlintLogFileFormat(new FakeLog()); + var format = new MarkdownlintV1LogFileFormat(new FakeLog()); // When var result = Record.Exception(() => @@ -34,7 +34,7 @@ public void Should_Throw_If_Format_For_LogFilePath_Is_Null() // Given BaseMarkdownlintLogFileFormat format = null; - using (var tempFile = new ResourceTempFile("Cake.Issues.Markdownlint.Tests.Testfiles.MarkdownlintLogFileFormat.markdownlint.json")) + using (var tempFile = new ResourceTempFile("Cake.Issues.Markdownlint.Tests.Testfiles.MarkdownlintV1LogFileFormat.markdownlint.json")) { // When var result = Record.Exception(() => @@ -50,7 +50,7 @@ public void Should_Throw_If_LogFileContent_Is_Null() { // Given byte[] logFileContent = null; - var format = new MarkdownlintLogFileFormat(new FakeLog()); + var format = new MarkdownlintV1LogFileFormat(new FakeLog()); // When var result = Record.Exception(() => @@ -80,7 +80,7 @@ public void Should_Set_LogFileContent() { // Given var logFileContent = "Foo".ToByteArray(); - var format = new MarkdownlintLogFileFormat(new FakeLog()); + var format = new MarkdownlintV1LogFileFormat(new FakeLog()); // When var settings = new MarkdownlintIssuesSettings(logFileContent, format); @@ -94,7 +94,7 @@ public void Should_Set_LogFileContent_If_Empty() { // Given byte[] logFileContent = Array.Empty(); - var format = new MarkdownlintLogFileFormat(new FakeLog()); + var format = new MarkdownlintV1LogFileFormat(new FakeLog()); // When var settings = new MarkdownlintIssuesSettings(logFileContent, format); @@ -107,8 +107,8 @@ public void Should_Set_LogFileContent_If_Empty() public void Should_Set_LogFileContent_From_LogFilePath() { // Given - var format = new MarkdownlintLogFileFormat(new FakeLog()); - using (var tempFile = new ResourceTempFile("Cake.Issues.Markdownlint.Tests.Testfiles.MarkdownlintLogFileFormat.markdownlint.json")) + var format = new MarkdownlintV1LogFileFormat(new FakeLog()); + using (var tempFile = new ResourceTempFile("Cake.Issues.Markdownlint.Tests.Testfiles.MarkdownlintV1LogFileFormat.markdownlint.json")) { // When var settings = new MarkdownlintIssuesSettings(tempFile.FileName, format); diff --git a/src/Cake.Issues.Markdownlint.Tests/Testfiles/MarkdownlintLogFileFormat/markdownlint.json b/src/Cake.Issues.Markdownlint.Tests/Testfiles/MarkdownlintV1LogFileFormat/markdownlint.json similarity index 100% rename from src/Cake.Issues.Markdownlint.Tests/Testfiles/MarkdownlintLogFileFormat/markdownlint.json rename to src/Cake.Issues.Markdownlint.Tests/Testfiles/MarkdownlintV1LogFileFormat/markdownlint.json diff --git a/src/Cake.Issues.Markdownlint/Cake.Issues.Markdownlint.csproj b/src/Cake.Issues.Markdownlint/Cake.Issues.Markdownlint.csproj index 8fea917..f11fd37 100644 --- a/src/Cake.Issues.Markdownlint/Cake.Issues.Markdownlint.csproj +++ b/src/Cake.Issues.Markdownlint/Cake.Issues.Markdownlint.csproj @@ -27,7 +27,7 @@ 0.33.0 - 0.8.0 + 0.9.0 3.0.0 diff --git a/src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliLogFileFormat.cs b/src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliLogFileFormat.cs index 0e0d4b7..4404398 100644 --- a/src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliLogFileFormat.cs +++ b/src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintCliLogFileFormat.cs @@ -23,7 +23,7 @@ public MarkdownlintCliLogFileFormat(ICakeLog log) /// public override IEnumerable ReadIssues( MarkdownlintIssuesProvider issueProvider, - RepositorySettings repositorySettings, + IRepositorySettings repositorySettings, MarkdownlintIssuesSettings markdownlintIssuesSettings) { issueProvider.NotNull(nameof(issueProvider)); @@ -65,7 +65,7 @@ public override IEnumerable ReadIssues( /// True if the file path could be parsed. private bool TryGetFile( GroupCollection values, - RepositorySettings repositorySettings, + IRepositorySettings repositorySettings, out string fileName) { fileName = values["filePath"].Value; diff --git a/src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintLogFileFormat.cs b/src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintV1LogFileFormat.cs similarity index 86% rename from src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintLogFileFormat.cs rename to src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintV1LogFileFormat.cs index 409fb85..3ca07df 100644 --- a/src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintLogFileFormat.cs +++ b/src/Cake.Issues.Markdownlint/LogFileFormat/MarkdownlintV1LogFileFormat.cs @@ -4,19 +4,18 @@ using System.IO; using System.Linq; using System.Runtime.Serialization.Json; - using System.Text; using Cake.Core.Diagnostics; /// - /// Logfile format as written by Markdownlint. + /// Logfile format as written by Markdownlint with options.resultVersion set to 1. /// - internal class MarkdownlintLogFileFormat : BaseMarkdownlintLogFileFormat + internal class MarkdownlintV1LogFileFormat : BaseMarkdownlintLogFileFormat { /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// The Cake log instance. - public MarkdownlintLogFileFormat(ICakeLog log) + public MarkdownlintV1LogFileFormat(ICakeLog log) : base(log) { } @@ -24,7 +23,7 @@ public MarkdownlintLogFileFormat(ICakeLog log) /// public override IEnumerable ReadIssues( MarkdownlintIssuesProvider issueProvider, - RepositorySettings repositorySettings, + IRepositorySettings repositorySettings, MarkdownlintIssuesSettings markdownlintIssuesSettings) { issueProvider.NotNull(nameof(issueProvider)); diff --git a/src/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.MarkdownlintLogFileFormat.cs b/src/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.MarkdownlintLogFileFormat.cs index 4d5520d..d5e8bc1 100644 --- a/src/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.MarkdownlintLogFileFormat.cs +++ b/src/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases.MarkdownlintLogFileFormat.cs @@ -10,18 +10,18 @@ public static partial class MarkdownlintIssuesAliases { /// - /// Gets an instance for the log format as written by Markdownlint. + /// Gets an instance for the log format as written by Markdownlint with options.resultVersion set to 1. /// /// The context. - /// Instance for the Markdownlint log format. + /// Instance for the Markdownlint V1 log format. [CakePropertyAlias] [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)] - public static BaseMarkdownlintLogFileFormat MarkdownlintLogFileFormat( + public static BaseMarkdownlintLogFileFormat MarkdownlintV1LogFileFormat( this ICakeContext context) { context.NotNull(nameof(context)); - return new MarkdownlintLogFileFormat(context.Log); + return new MarkdownlintV1LogFileFormat(context.Log); } } } diff --git a/src/Cake.Issues.Markdownlint/MarkdownlintIssuesProvider.cs b/src/Cake.Issues.Markdownlint/MarkdownlintIssuesProvider.cs index 9db1424..15a41d2 100644 --- a/src/Cake.Issues.Markdownlint/MarkdownlintIssuesProvider.cs +++ b/src/Cake.Issues.Markdownlint/MarkdownlintIssuesProvider.cs @@ -22,7 +22,7 @@ public MarkdownlintIssuesProvider(ICakeLog log, MarkdownlintIssuesSettings setti /// This name can be used to identify issues based on the property. /// public static string ProviderTypeName => typeof(MarkdownlintIssuesProvider).FullName; - + /// public override string ProviderName => "markdownlint"; }