Skip to content

Commit 10f58cf

Browse files
committed
Add interfaces for settings
1 parent 31b2c7d commit 10f58cf

16 files changed

+46
-16
lines changed

src/Cake.Issues.Testing/FakeConfigurableIssueProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public FakeConfigurableIssueProvider(
4848
/// <summary>
4949
/// Gets the repository settings.
5050
/// </summary>
51-
public RepositorySettings RepositorySettings => this.Settings;
51+
public IRepositorySettings RepositorySettings => this.Settings;
5252

5353
/// <summary>
5454
/// Gets the issue provider settings.

src/Cake.Issues.Testing/FakeIssueProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public FakeIssueProvider(ICakeLog log, IEnumerable<IIssue> issues)
4242
/// <summary>
4343
/// Gets the settings.
4444
/// </summary>
45-
public new RepositorySettings Settings => base.Settings;
45+
public new IRepositorySettings Settings => base.Settings;
4646

4747
/// <inheritdoc/>
4848
public override string ProviderName => "Fake Issue Provider";

src/Cake.Issues.Testing/FakeLogFileFormat.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public FakeLogFileFormat(ICakeLog log, IEnumerable<IIssue> issues)
4242
/// <inheritdoc/>
4343
public override IEnumerable<IIssue> ReadIssues(
4444
FakeMultiFormatIssueProvider issueProvider,
45-
RepositorySettings repositorySettings,
45+
IRepositorySettings repositorySettings,
4646
FakeMultiFormatIssueProviderSettings issueProviderSettings)
4747
{
4848
return this.issues;

src/Cake.Issues.Testing/FakeMultiFormatIssueProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public FakeMultiFormatIssueProvider(ICakeLog log, FakeMultiFormatIssueProviderSe
2626
/// <summary>
2727
/// Gets the repository settings.
2828
/// </summary>
29-
public RepositorySettings RepositorySettings => this.Settings;
29+
public IRepositorySettings RepositorySettings => this.Settings;
3030

3131
/// <summary>
3232
/// Gets the issue provider settings.

src/Cake.Issues/Aliases.ReadIssues.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public static IEnumerable<IIssue> ReadIssues(
121121
public static IEnumerable<IIssue> ReadIssues(
122122
this ICakeContext context,
123123
IIssueProvider issueProvider,
124-
ReadIssuesSettings settings)
124+
IReadIssuesSettings settings)
125125
{
126126
context.NotNull(nameof(context));
127127
issueProvider.NotNull(nameof(issueProvider));
@@ -170,7 +170,7 @@ public static IEnumerable<IIssue> ReadIssues(
170170
public static IEnumerable<IIssue> ReadIssues(
171171
this ICakeContext context,
172172
IEnumerable<IIssueProvider> issueProviders,
173-
ReadIssuesSettings settings)
173+
IReadIssuesSettings settings)
174174
{
175175
context.NotNull(nameof(context));
176176
settings.NotNull(nameof(settings));

src/Cake.Issues/BaseIssueComponent.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
/// </summary>
99
/// <typeparam name="T">Type of settings.</typeparam>
1010
public abstract class BaseIssueComponent<T> : IBaseIssueComponent<T>
11-
where T : RepositorySettings
11+
where T : class, IRepositorySettings
1212
{
1313
/// <summary>
1414
/// Initializes a new instance of the <see cref="BaseIssueComponent{T}"/> class.

src/Cake.Issues/BaseIssueProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
/// <summary>
77
/// Base class for all issue provider implementations.
88
/// </summary>
9-
public abstract class BaseIssueProvider : BaseIssueComponent<RepositorySettings>, IIssueProvider
9+
public abstract class BaseIssueProvider : BaseIssueComponent<IRepositorySettings>, IIssueProvider
1010
{
1111
/// <summary>
1212
/// Initializes a new instance of the <see cref="BaseIssueProvider"/> class.

src/Cake.Issues/BaseLogFileFormat.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ protected BaseLogFileFormat(ICakeLog log)
3131
/// <inheritdoc/>
3232
public abstract IEnumerable<IIssue> ReadIssues(
3333
TIssueProvider issueProvider,
34-
RepositorySettings repositorySettings,
34+
IRepositorySettings repositorySettings,
3535
TSettings issueProviderSettings);
3636
}
3737
}

src/Cake.Issues/IBaseIssueComponent.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
/// </summary>
88
/// <typeparam name="T">Type of settings.</typeparam>
99
public interface IBaseIssueComponent<in T>
10-
where T : RepositorySettings
10+
where T : IRepositorySettings
1111
{
1212
/// <summary>
1313
/// Initializes the component.

src/Cake.Issues/IIssueProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/// <summary>
66
/// Interface describing a provider for issues.
77
/// </summary>
8-
public interface IIssueProvider : IBaseIssueComponent<RepositorySettings>
8+
public interface IIssueProvider : IBaseIssueComponent<IRepositorySettings>
99
{
1010
/// <summary>
1111
/// Gets the human friendly name of the issue provider.

src/Cake.Issues/ILogFileFormat.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public interface ILogFileFormat<TIssueProvider, TSettings>
2020
/// <returns>List of issues.</returns>
2121
IEnumerable<IIssue> ReadIssues(
2222
TIssueProvider issueProvider,
23-
RepositorySettings repositorySettings,
23+
IRepositorySettings repositorySettings,
2424
TSettings issueProviderSettings);
2525
}
2626
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace Cake.Issues
2+
{
3+
using Cake.Core.IO;
4+
5+
/// <summary>
6+
/// Interface for settings for reading issues.
7+
/// </summary>
8+
public interface IReadIssuesSettings : IRepositorySettings
9+
{
10+
/// <summary>
11+
/// Gets or sets the name of the run.
12+
/// </summary>
13+
string Run { get; set; }
14+
}
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace Cake.Issues
2+
{
3+
using Cake.Core.IO;
4+
5+
/// <summary>
6+
/// Interface for settings containing a path to a repository.
7+
/// </summary>
8+
public interface IRepositorySettings
9+
{
10+
/// <summary>
11+
/// Gets the Root path of the repository.
12+
/// </summary>
13+
DirectoryPath RepositoryRoot { get; }
14+
}
15+
}

src/Cake.Issues/IssuesReader.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class IssuesReader
1111
{
1212
private readonly ICakeLog log;
1313
private readonly List<IIssueProvider> issueProviders = new List<IIssueProvider>();
14-
private readonly ReadIssuesSettings settings;
14+
private readonly IReadIssuesSettings settings;
1515

1616
/// <summary>
1717
/// Initializes a new instance of the <see cref="IssuesReader"/> class.
@@ -22,7 +22,7 @@ public class IssuesReader
2222
public IssuesReader(
2323
ICakeLog log,
2424
IEnumerable<IIssueProvider> issueProviders,
25-
ReadIssuesSettings settings)
25+
IReadIssuesSettings settings)
2626
{
2727
log.NotNull(nameof(log));
2828
settings.NotNull(nameof(settings));

src/Cake.Issues/ReadIssuesSettings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/// <summary>
66
/// Settings for reading issues.
77
/// </summary>
8-
public class ReadIssuesSettings : RepositorySettings
8+
public class ReadIssuesSettings : RepositorySettings, IReadIssuesSettings
99
{
1010
/// <summary>
1111
/// Initializes a new instance of the <see cref="ReadIssuesSettings"/> class.

src/Cake.Issues/RepositorySettings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/// <summary>
66
/// Settings containing a path to a repository.
77
/// </summary>
8-
public class RepositorySettings
8+
public class RepositorySettings : IRepositorySettings
99
{
1010
/// <summary>
1111
/// Initializes a new instance of the <see cref="RepositorySettings"/> class.

0 commit comments

Comments
 (0)