Skip to content

Commit

Permalink
Merge pull request cake-contrib#42 from cake-contrib/feature/cake-isu…
Browse files Browse the repository at this point in the history
…es-0-5

Update to Cake.Issues 0.5.0
  • Loading branch information
pascalberger authored Aug 5, 2018
2 parents 0418370 + 7de4673 commit cb27f94
Show file tree
Hide file tree
Showing 10 changed files with 21 additions and 62 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" />
<PackageReference Include="Cake.Core" Version="0.28.0" />
<PackageReference Include="Cake.Testing" Version="0.28.0" />
<PackageReference Include="Cake.Issues" Version="0.4.1" />
<PackageReference Include="Cake.Issues.Testing" Version="0.4.1" />
<PackageReference Include="Cake.Issues" Version="0.5.0-beta0001" />
<PackageReference Include="Cake.Issues.Testing" Version="0.5.0-beta0001" />
<PackageReference Include="Shouldly" Version="3.0.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" />
<PackageReference Include="xunit" Version="2.4.0" />
Expand Down
39 changes: 5 additions & 34 deletions src/Cake.Issues.MsBuild.Tests/MsBuildIssuesProviderFixture.cs
Original file line number Diff line number Diff line change
@@ -1,45 +1,16 @@
namespace Cake.Issues.MsBuild.Tests
{
using System.Collections.Generic;
using System.IO;
using Cake.Testing;
using Core.Diagnostics;
using Cake.Issues.Testing;

internal class MsBuildIssuesProviderFixture
: BaseMultiFormatIssueProviderFixture<MsBuildIssuesProvider, MsBuildIssuesSettings, XmlFileLoggerFormat>
{
public MsBuildIssuesProviderFixture(string fileResourceName)
: base(fileResourceName)
{
this.Log = new FakeLog { Verbosity = Verbosity.Normal };

using (var ms = new MemoryStream())
using (var stream = this.GetType().Assembly.GetManifestResourceStream("Cake.Issues.MsBuild.Tests.Testfiles." + fileResourceName))
{
stream.CopyTo(ms);
this.MsBuildIssuesSettings =
new MsBuildIssuesSettings(ms.ToArray(), new XmlFileLoggerFormat(this.Log));
}

this.RepositorySettings =
new RepositorySettings(@"c:\Source\Cake.Issues.MsBuild");
}

public FakeLog Log { get; set; }

public MsBuildIssuesSettings MsBuildIssuesSettings { get; set; }

public RepositorySettings RepositorySettings { get; set; }

public MsBuildIssuesProvider Create()
{
var provider = new MsBuildIssuesProvider(this.Log, this.MsBuildIssuesSettings);
provider.Initialize(this.RepositorySettings);
return provider;
this.RepositorySettings = new RepositorySettings(@"c:\Source\Cake.Issues.MsBuild");
}

public IEnumerable<IIssue> ReadIssues()
{
var issueProvider = this.Create();
return issueProvider.ReadIssues(IssueCommentFormat.PlainText);
}
protected override string FileResourceNamespace => "Cake.Issues.MsBuild.Tests.Testfiles.";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public void Should_Throw_If_Settings_Are_Null()
null));

// Then
result.IsArgumentNullException("settings");
result.IsArgumentNullException("issueProviderSettings");
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
/// <summary>
/// Base class for all MSBuild log file format.
/// </summary>
public abstract class MsBuildLogFileFormat : LogFileFormat<MsBuildIssuesProvider, MsBuildIssuesSettings>
public abstract class BaseMsBuildLogFileFormat : BaseLogFileFormat<MsBuildIssuesProvider, MsBuildIssuesSettings>
{
/// <summary>
/// Initializes a new instance of the <see cref="MsBuildLogFileFormat"/> class.
/// Initializes a new instance of the <see cref="BaseMsBuildLogFileFormat"/> class.
/// </summary>
/// <param name="log">The Cake log instance.</param>
protected MsBuildLogFileFormat(ICakeLog log)
protected BaseMsBuildLogFileFormat(ICakeLog log)
: base(log)
{
}
Expand Down
2 changes: 1 addition & 1 deletion src/Cake.Issues.MsBuild/Cake.Issues.MsBuild.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

<ItemGroup>
<PackageReference Include="Cake.Core" Version="0.28.0" />
<PackageReference Include="Cake.Issues" Version="0.4.1" />
<PackageReference Include="Cake.Issues" Version="0.5.0-beta0001" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.6.1" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" />
</ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions src/Cake.Issues.MsBuild/MsBuildIssuesAliases.IssueProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public static string MsBuildIssuesProviderTypeName(
public static IIssueProvider MsBuildIssuesFromFilePath(
this ICakeContext context,
FilePath logFilePath,
MsBuildLogFileFormat format)
BaseMsBuildLogFileFormat format)
{
context.NotNull(nameof(context));
logFilePath.NotNull(nameof(logFilePath));
Expand Down Expand Up @@ -87,7 +87,7 @@ public static IIssueProvider MsBuildIssuesFromFilePath(
public static IIssueProvider MsBuildIssuesFromContent(
this ICakeContext context,
string logFileContent,
MsBuildLogFileFormat format)
BaseMsBuildLogFileFormat format)
{
context.NotNull(nameof(context));
logFileContent.NotNullOrWhiteSpace(nameof(logFileContent));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public static partial class MsBuildIssuesAliases
/// <returns>Instance for the MsBuild log format.</returns>
[CakePropertyAlias]
[CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)]
public static MsBuildLogFileFormat MsBuildXmlFileLoggerFormat(
public static BaseMsBuildLogFileFormat MsBuildXmlFileLoggerFormat(
this ICakeContext context)
{
context.NotNull(nameof(context));
Expand Down
16 changes: 2 additions & 14 deletions src/Cake.Issues.MsBuild/MsBuildIssuesProvider.cs
Original file line number Diff line number Diff line change
@@ -1,35 +1,23 @@
namespace Cake.Issues.MsBuild
{
using System.Collections.Generic;
using Core.Diagnostics;

/// <summary>
/// Provider for issues reported as MsBuild warnings.
/// </summary>
public class MsBuildIssuesProvider : IssueProvider
public class MsBuildIssuesProvider : BaseMultiFormatIssueProvider<MsBuildIssuesSettings, MsBuildIssuesProvider>
{
private readonly MsBuildIssuesSettings msBuildIssuesSettings;

/// <summary>
/// Initializes a new instance of the <see cref="MsBuildIssuesProvider"/> class.
/// </summary>
/// <param name="log">The Cake log context.</param>
/// <param name="settings">Settings for reading the log file.</param>
public MsBuildIssuesProvider(ICakeLog log, MsBuildIssuesSettings settings)
: base(log)
: base(log, settings)
{
settings.NotNull(nameof(settings));

this.msBuildIssuesSettings = settings;
}

/// <inheritdoc />
public override string ProviderName => "MSBuild";

/// <inheritdoc />
protected override IEnumerable<IIssue> InternalReadIssues(IssueCommentFormat format)
{
return this.msBuildIssuesSettings.Format.ReadIssues(this, this.Settings, this.msBuildIssuesSettings);
}
}
}
6 changes: 3 additions & 3 deletions src/Cake.Issues.MsBuild/MsBuildIssuesSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/// <summary>
/// Settings for <see cref="MsBuildIssuesAliases"/>.
/// </summary>
public class MsBuildIssuesSettings : MultiFormatIssueProviderSettings<MsBuildIssuesProvider, MsBuildIssuesSettings>
public class MsBuildIssuesSettings : BaseMultiFormatIssueProviderSettings<MsBuildIssuesProvider, MsBuildIssuesSettings>
{
/// <summary>
/// Initializes a new instance of the <see cref="MsBuildIssuesSettings"/> class
Expand All @@ -14,7 +14,7 @@ public class MsBuildIssuesSettings : MultiFormatIssueProviderSettings<MsBuildIss
/// <param name="logFilePath">Path to the MSBuild log file.
/// The log file needs to be in the format as defined by the <paramref name="format"/> parameter.</param>
/// <param name="format">Format of the provided MSBuild log file.</param>
public MsBuildIssuesSettings(FilePath logFilePath, MsBuildLogFileFormat format)
public MsBuildIssuesSettings(FilePath logFilePath, BaseMsBuildLogFileFormat format)
: base(logFilePath, format)
{
}
Expand All @@ -26,7 +26,7 @@ public MsBuildIssuesSettings(FilePath logFilePath, MsBuildLogFileFormat format)
/// <param name="logFileContent">Content of the MSBuild log file.
/// The log file needs to be in the format as defined by the <paramref name="format"/> parameter.</param>
/// <param name="format">Format of the provided MSBuild log file.</param>
public MsBuildIssuesSettings(byte[] logFileContent, MsBuildLogFileFormat format)
public MsBuildIssuesSettings(byte[] logFileContent, BaseMsBuildLogFileFormat format)
: base(logFileContent, format)
{
}
Expand Down
2 changes: 1 addition & 1 deletion src/Cake.Issues.MsBuild/XmlFileLoggerFormat.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
/// <summary>
/// MsBuild log format as written by the <c>XmlFileLogger</c> class from MSBuild Extension Pack.
/// </summary>
internal class XmlFileLoggerFormat : MsBuildLogFileFormat
internal class XmlFileLoggerFormat : BaseMsBuildLogFileFormat
{
/// <summary>
/// Initializes a new instance of the <see cref="XmlFileLoggerFormat"/> class.
Expand Down

0 comments on commit cb27f94

Please sign in to comment.