Skip to content

Commit 15b7a99

Browse files
authored
Feature Add Net 8.0 (#593)
1 parent bd8a62e commit 15b7a99

13 files changed

+113
-649
lines changed

src/Directory.build.props

+3-6
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,13 @@
3232
<None Include="$(MSBuildThisFileDirectory)..\LICENSE" Pack="true" PackagePath="LICENSE" />
3333
</ItemGroup>
3434

35-
<ItemGroup>
36-
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.133" PrivateAssets="all" />
37-
</ItemGroup>
38-
3935
<ItemGroup Condition="'$(IsTestProject)' != 'true'">
40-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
36+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
4137
</ItemGroup>
4238
<ItemGroup>
39+
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.133" PrivateAssets="all" />
4340
<PackageReference Include="stylecop.analyzers" Version="1.2.0-beta.507" PrivateAssets="all" />
44-
<PackageReference Include="Roslynator.Analyzers" Version="4.6.1" PrivateAssets="All" />
41+
<PackageReference Include="Roslynator.Analyzers" Version="4.6.2" PrivateAssets="All" />
4542
</ItemGroup>
4643
<ItemGroup>
4744
<AdditionalFiles Include="$(MSBuildThisFileDirectory)stylecop.json" Link="stylecop.json" />

src/ReactiveUI.Validation.AndroidSupport/ReactiveUI.Validation.AndroidSupport.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="MSBuild.Sdk.Extras">
22

33
<PropertyGroup>
4-
<TargetFrameworks>MonoAndroid12.0;MonoAndroid12.1;MonoAndroid13.0</TargetFrameworks>
4+
<TargetFrameworks>MonoAndroid13.0</TargetFrameworks>
55
<PackageDescription>Provides ReactiveUI.Validation extensions for the Android Support Library</PackageDescription>
66
<PackageId>ReactiveUI.Validation.AndroidSupport</PackageId>
77
<NoWarn>$(NoWarn);CS1591</NoWarn>

src/ReactiveUI.Validation.AndroidX/ReactiveUI.Validation.AndroidX.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="MSBuild.Sdk.Extras">
22

33
<PropertyGroup>
4-
<TargetFrameworks>MonoAndroid12.0;MonoAndroid12.1;MonoAndroid13.0;net7.0-android</TargetFrameworks>
4+
<TargetFrameworks>MonoAndroid13.0;net7.0-android;net8.0-android</TargetFrameworks>
55
<PackageDescription>Provides ReactiveUI.Validation extensions for the AndroidX Library</PackageDescription>
66
<PackageId>ReactiveUI.Validation.AndroidX</PackageId>
77
<NoWarn>$(NoWarn);CS1591</NoWarn>

src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.net6.0.approved.txt src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.DotNet6_0.verified.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/reactiveui/reactiveui.validation")]
2-
[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName=".NET 6.0")]
1+
[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName=".NET 6.0")]
32
namespace ReactiveUI.Validation.Abstractions
43
{
54
public interface IValidatableViewModel

src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.netcoreapp3.1.approved.txt src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.DotNet7_0.verified.txt

+24-24
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/reactiveui/reactiveui.validation")]
2-
[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")]
1+
[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v7.0", FrameworkDisplayName=".NET 7.0")]
32
namespace ReactiveUI.Validation.Abstractions
43
{
54
public interface IValidatableViewModel
@@ -9,17 +8,18 @@ namespace ReactiveUI.Validation.Abstractions
98
}
109
namespace ReactiveUI.Validation.Collections
1110
{
12-
public class ValidationText : System.Collections.Generic.IEnumerable<string>, System.Collections.IEnumerable
11+
public interface IValidationText : System.Collections.Generic.IEnumerable<string>, System.Collections.Generic.IReadOnlyCollection<string>, System.Collections.Generic.IReadOnlyList<string>, System.Collections.IEnumerable
1312
{
14-
public static readonly ReactiveUI.Validation.Collections.ValidationText Empty;
15-
public static readonly ReactiveUI.Validation.Collections.ValidationText None;
16-
public int Count { get; }
17-
public string this[int index] { get; }
18-
public System.Collections.Generic.IEnumerator<string> GetEnumerator() { }
19-
public string ToSingleLine(string? separator = ",") { }
20-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText>? validationTexts) { }
21-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string>? validationTexts) { }
22-
public static ReactiveUI.Validation.Collections.ValidationText Create(params string?[]? validationTexts) { }
13+
string ToSingleLine(string? separator = ",");
14+
}
15+
public static class ValidationText
16+
{
17+
public static readonly ReactiveUI.Validation.Collections.IValidationText Empty;
18+
public static readonly ReactiveUI.Validation.Collections.IValidationText None;
19+
public static ReactiveUI.Validation.Collections.IValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.IValidationText>? validationTexts) { }
20+
public static ReactiveUI.Validation.Collections.IValidationText Create(System.Collections.Generic.IEnumerable<string?>? validationTexts) { }
21+
public static ReactiveUI.Validation.Collections.IValidationText Create(string? validationText) { }
22+
public static ReactiveUI.Validation.Collections.IValidationText Create(params string?[]? validationTexts) { }
2323
}
2424
}
2525
namespace ReactiveUI.Validation.Comparators
@@ -43,7 +43,7 @@ namespace ReactiveUI.Validation.Components.Abstractions
4343
public interface IValidationComponent
4444
{
4545
bool IsValid { get; }
46-
ReactiveUI.Validation.Collections.ValidationText? Text { get; }
46+
ReactiveUI.Validation.Collections.IValidationText? Text { get; }
4747
System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationStatusChange { get; }
4848
}
4949
}
@@ -55,7 +55,7 @@ namespace ReactiveUI.Validation.Components
5555
public bool IsValid { get; }
5656
public System.Collections.Generic.IEnumerable<string> Properties { get; }
5757
public int PropertyCount { get; }
58-
public ReactiveUI.Validation.Collections.ValidationText? Text { get; }
58+
public ReactiveUI.Validation.Collections.IValidationText? Text { get; }
5959
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationStatusChange { get; }
6060
protected void AddProperty<TProp>(System.Linq.Expressions.Expression<System.Func<TViewModel, TProp>> property) { }
6161
public bool ContainsPropertyName(string propertyName, bool exclusively = false) { }
@@ -74,11 +74,11 @@ namespace ReactiveUI.Validation.Components
7474
public abstract class ObservableValidationBase<TViewModel, TValue> : ReactiveUI.ReactiveObject, ReactiveUI.Validation.Components.Abstractions.IPropertyValidationComponent, ReactiveUI.Validation.Components.Abstractions.IValidatesProperties, ReactiveUI.Validation.Components.Abstractions.IValidationComponent, System.IDisposable
7575
{
7676
protected ObservableValidationBase(System.IObservable<ReactiveUI.Validation.States.IValidationState> observable) { }
77-
protected ObservableValidationBase(TViewModel viewModel, System.IObservable<TValue> observable, System.Func<TViewModel, TValue, bool> isValidFunc, System.Func<TViewModel, TValue, bool, ReactiveUI.Validation.Collections.ValidationText> messageFunc) { }
77+
protected ObservableValidationBase(TViewModel viewModel, System.IObservable<TValue> observable, System.Func<TViewModel, TValue, bool> isValidFunc, System.Func<TViewModel, TValue, bool, ReactiveUI.Validation.Collections.IValidationText> messageFunc) { }
7878
public bool IsValid { get; }
7979
public System.Collections.Generic.IEnumerable<string> Properties { get; }
8080
public int PropertyCount { get; }
81-
public ReactiveUI.Validation.Collections.ValidationText? Text { get; }
81+
public ReactiveUI.Validation.Collections.IValidationText? Text { get; }
8282
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationStatusChange { get; }
8383
protected void AddProperty<TProp>(System.Linq.Expressions.Expression<System.Func<TViewModel, TProp>> property) { }
8484
public bool ContainsPropertyName(string propertyName, bool exclusively = false) { }
@@ -110,7 +110,7 @@ namespace ReactiveUI.Validation.Contexts
110110
{
111111
public ValidationContext(System.Reactive.Concurrency.IScheduler? scheduler = null) { }
112112
public bool IsValid { get; }
113-
public ReactiveUI.Validation.Collections.ValidationText Text { get; }
113+
public ReactiveUI.Validation.Collections.IValidationText Text { get; }
114114
public System.IObservable<bool> Valid { get; }
115115
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationStatusChange { get; }
116116
public System.Collections.ObjectModel.ReadOnlyObservableCollection<ReactiveUI.Validation.Components.Abstractions.IValidationComponent> Validations { get; }
@@ -180,7 +180,7 @@ namespace ReactiveUI.Validation.Formatters.Abstractions
180180
{
181181
public interface IValidationTextFormatter<out TOut>
182182
{
183-
TOut Format(ReactiveUI.Validation.Collections.ValidationText validationText);
183+
TOut Format(ReactiveUI.Validation.Collections.IValidationText validationText);
184184
}
185185
}
186186
namespace ReactiveUI.Validation.Formatters
@@ -189,7 +189,7 @@ namespace ReactiveUI.Validation.Formatters
189189
{
190190
public SingleLineFormatter(string? separator = null) { }
191191
public static ReactiveUI.Validation.Formatters.SingleLineFormatter Default { get; }
192-
public string Format(ReactiveUI.Validation.Collections.ValidationText? validationText) { }
192+
public string Format(ReactiveUI.Validation.Collections.IValidationText? validationText) { }
193193
}
194194
}
195195
namespace ReactiveUI.Validation.Helpers
@@ -207,7 +207,7 @@ namespace ReactiveUI.Validation.Helpers
207207
{
208208
public ValidationHelper(ReactiveUI.Validation.Components.Abstractions.IValidationComponent validation, System.IDisposable? cleanup = null) { }
209209
public bool IsValid { get; }
210-
public ReactiveUI.Validation.Collections.ValidationText? Message { get; }
210+
public ReactiveUI.Validation.Collections.IValidationText? Message { get; }
211211
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationChanged { get; }
212212
public void Dispose() { }
213213
protected virtual void Dispose(bool disposing) { }
@@ -218,15 +218,15 @@ namespace ReactiveUI.Validation.States
218218
public interface IValidationState
219219
{
220220
bool IsValid { get; }
221-
ReactiveUI.Validation.Collections.ValidationText Text { get; }
221+
ReactiveUI.Validation.Collections.IValidationText Text { get; }
222222
}
223223
public class ValidationState : ReactiveUI.Validation.States.IValidationState
224224
{
225-
public static readonly ReactiveUI.Validation.States.ValidationState Valid;
226-
public ValidationState(bool isValid, ReactiveUI.Validation.Collections.ValidationText text) { }
225+
public static readonly ReactiveUI.Validation.States.IValidationState Valid;
226+
public ValidationState(bool isValid, ReactiveUI.Validation.Collections.IValidationText text) { }
227227
public ValidationState(bool isValid, string text) { }
228228
public bool IsValid { get; }
229-
public ReactiveUI.Validation.Collections.ValidationText Text { get; }
229+
public ReactiveUI.Validation.Collections.IValidationText Text { get; }
230230
}
231231
}
232232
namespace ReactiveUI.Validation.ValidationBindings.Abstractions

src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.net5.0.approved.txt src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.DotNet8_0.verified.txt

+24-24
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/reactiveui/reactiveui.validation")]
2-
[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")]
1+
[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v8.0", FrameworkDisplayName=".NET 8.0")]
32
namespace ReactiveUI.Validation.Abstractions
43
{
54
public interface IValidatableViewModel
@@ -9,17 +8,18 @@ namespace ReactiveUI.Validation.Abstractions
98
}
109
namespace ReactiveUI.Validation.Collections
1110
{
12-
public class ValidationText : System.Collections.Generic.IEnumerable<string>, System.Collections.IEnumerable
11+
public interface IValidationText : System.Collections.Generic.IEnumerable<string>, System.Collections.Generic.IReadOnlyCollection<string>, System.Collections.Generic.IReadOnlyList<string>, System.Collections.IEnumerable
1312
{
14-
public static readonly ReactiveUI.Validation.Collections.ValidationText Empty;
15-
public static readonly ReactiveUI.Validation.Collections.ValidationText None;
16-
public int Count { get; }
17-
public string this[int index] { get; }
18-
public System.Collections.Generic.IEnumerator<string> GetEnumerator() { }
19-
public string ToSingleLine(string? separator = ",") { }
20-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText>? validationTexts) { }
21-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string>? validationTexts) { }
22-
public static ReactiveUI.Validation.Collections.ValidationText Create(params string?[]? validationTexts) { }
13+
string ToSingleLine(string? separator = ",");
14+
}
15+
public static class ValidationText
16+
{
17+
public static readonly ReactiveUI.Validation.Collections.IValidationText Empty;
18+
public static readonly ReactiveUI.Validation.Collections.IValidationText None;
19+
public static ReactiveUI.Validation.Collections.IValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.IValidationText>? validationTexts) { }
20+
public static ReactiveUI.Validation.Collections.IValidationText Create(System.Collections.Generic.IEnumerable<string?>? validationTexts) { }
21+
public static ReactiveUI.Validation.Collections.IValidationText Create(string? validationText) { }
22+
public static ReactiveUI.Validation.Collections.IValidationText Create(params string?[]? validationTexts) { }
2323
}
2424
}
2525
namespace ReactiveUI.Validation.Comparators
@@ -43,7 +43,7 @@ namespace ReactiveUI.Validation.Components.Abstractions
4343
public interface IValidationComponent
4444
{
4545
bool IsValid { get; }
46-
ReactiveUI.Validation.Collections.ValidationText? Text { get; }
46+
ReactiveUI.Validation.Collections.IValidationText? Text { get; }
4747
System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationStatusChange { get; }
4848
}
4949
}
@@ -55,7 +55,7 @@ namespace ReactiveUI.Validation.Components
5555
public bool IsValid { get; }
5656
public System.Collections.Generic.IEnumerable<string> Properties { get; }
5757
public int PropertyCount { get; }
58-
public ReactiveUI.Validation.Collections.ValidationText? Text { get; }
58+
public ReactiveUI.Validation.Collections.IValidationText? Text { get; }
5959
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationStatusChange { get; }
6060
protected void AddProperty<TProp>(System.Linq.Expressions.Expression<System.Func<TViewModel, TProp>> property) { }
6161
public bool ContainsPropertyName(string propertyName, bool exclusively = false) { }
@@ -74,11 +74,11 @@ namespace ReactiveUI.Validation.Components
7474
public abstract class ObservableValidationBase<TViewModel, TValue> : ReactiveUI.ReactiveObject, ReactiveUI.Validation.Components.Abstractions.IPropertyValidationComponent, ReactiveUI.Validation.Components.Abstractions.IValidatesProperties, ReactiveUI.Validation.Components.Abstractions.IValidationComponent, System.IDisposable
7575
{
7676
protected ObservableValidationBase(System.IObservable<ReactiveUI.Validation.States.IValidationState> observable) { }
77-
protected ObservableValidationBase(TViewModel viewModel, System.IObservable<TValue> observable, System.Func<TViewModel, TValue, bool> isValidFunc, System.Func<TViewModel, TValue, bool, ReactiveUI.Validation.Collections.ValidationText> messageFunc) { }
77+
protected ObservableValidationBase(TViewModel viewModel, System.IObservable<TValue> observable, System.Func<TViewModel, TValue, bool> isValidFunc, System.Func<TViewModel, TValue, bool, ReactiveUI.Validation.Collections.IValidationText> messageFunc) { }
7878
public bool IsValid { get; }
7979
public System.Collections.Generic.IEnumerable<string> Properties { get; }
8080
public int PropertyCount { get; }
81-
public ReactiveUI.Validation.Collections.ValidationText? Text { get; }
81+
public ReactiveUI.Validation.Collections.IValidationText? Text { get; }
8282
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationStatusChange { get; }
8383
protected void AddProperty<TProp>(System.Linq.Expressions.Expression<System.Func<TViewModel, TProp>> property) { }
8484
public bool ContainsPropertyName(string propertyName, bool exclusively = false) { }
@@ -110,7 +110,7 @@ namespace ReactiveUI.Validation.Contexts
110110
{
111111
public ValidationContext(System.Reactive.Concurrency.IScheduler? scheduler = null) { }
112112
public bool IsValid { get; }
113-
public ReactiveUI.Validation.Collections.ValidationText Text { get; }
113+
public ReactiveUI.Validation.Collections.IValidationText Text { get; }
114114
public System.IObservable<bool> Valid { get; }
115115
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationStatusChange { get; }
116116
public System.Collections.ObjectModel.ReadOnlyObservableCollection<ReactiveUI.Validation.Components.Abstractions.IValidationComponent> Validations { get; }
@@ -180,7 +180,7 @@ namespace ReactiveUI.Validation.Formatters.Abstractions
180180
{
181181
public interface IValidationTextFormatter<out TOut>
182182
{
183-
TOut Format(ReactiveUI.Validation.Collections.ValidationText validationText);
183+
TOut Format(ReactiveUI.Validation.Collections.IValidationText validationText);
184184
}
185185
}
186186
namespace ReactiveUI.Validation.Formatters
@@ -189,7 +189,7 @@ namespace ReactiveUI.Validation.Formatters
189189
{
190190
public SingleLineFormatter(string? separator = null) { }
191191
public static ReactiveUI.Validation.Formatters.SingleLineFormatter Default { get; }
192-
public string Format(ReactiveUI.Validation.Collections.ValidationText? validationText) { }
192+
public string Format(ReactiveUI.Validation.Collections.IValidationText? validationText) { }
193193
}
194194
}
195195
namespace ReactiveUI.Validation.Helpers
@@ -207,7 +207,7 @@ namespace ReactiveUI.Validation.Helpers
207207
{
208208
public ValidationHelper(ReactiveUI.Validation.Components.Abstractions.IValidationComponent validation, System.IDisposable? cleanup = null) { }
209209
public bool IsValid { get; }
210-
public ReactiveUI.Validation.Collections.ValidationText? Message { get; }
210+
public ReactiveUI.Validation.Collections.IValidationText? Message { get; }
211211
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationChanged { get; }
212212
public void Dispose() { }
213213
protected virtual void Dispose(bool disposing) { }
@@ -218,15 +218,15 @@ namespace ReactiveUI.Validation.States
218218
public interface IValidationState
219219
{
220220
bool IsValid { get; }
221-
ReactiveUI.Validation.Collections.ValidationText Text { get; }
221+
ReactiveUI.Validation.Collections.IValidationText Text { get; }
222222
}
223223
public class ValidationState : ReactiveUI.Validation.States.IValidationState
224224
{
225-
public static readonly ReactiveUI.Validation.States.ValidationState Valid;
226-
public ValidationState(bool isValid, ReactiveUI.Validation.Collections.ValidationText text) { }
225+
public static readonly ReactiveUI.Validation.States.IValidationState Valid;
226+
public ValidationState(bool isValid, ReactiveUI.Validation.Collections.IValidationText text) { }
227227
public ValidationState(bool isValid, string text) { }
228228
public bool IsValid { get; }
229-
public ReactiveUI.Validation.Collections.ValidationText Text { get; }
229+
public ReactiveUI.Validation.Collections.IValidationText Text { get; }
230230
}
231231
}
232232
namespace ReactiveUI.Validation.ValidationBindings.Abstractions

0 commit comments

Comments
 (0)