Skip to content

Commit 1ce2228

Browse files
Move unified validation APIs to separate package (#62071)
Co-authored-by: captainsafia <1857993+captainsafia@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Safia Abdalla <safia@microsoft.com> Co-authored-by: Safia Abdalla <safia@safia.rocks>
1 parent 336519c commit 1ce2228

File tree

78 files changed

+698
-554
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+698
-554
lines changed

AspNetCore.slnx

Lines changed: 303 additions & 293 deletions
Large diffs are not rendered by default.

eng/Build.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@
198198
$(RepoRoot)src\Extensions\**\*.csproj;
199199
$(RepoRoot)src\BuildAfterTargetingPack\*.csproj;
200200
$(RepoRoot)src\OpenApi\**\*.csproj;
201+
$(RepoRoot)src\Validation\**\*.csproj;
201202
$(RepoRoot)eng\tools\HelixTestRunner\HelixTestRunner.csproj;
202203
"
203204
Exclude="
@@ -242,6 +243,7 @@
242243
$(RepoRoot)src\Extensions\**\src\*.csproj;
243244
$(RepoRoot)src\BuildAfterTargetingPack\*.csproj;
244245
$(RepoRoot)src\OpenApi\**\src\*.csproj;
246+
$(RepoRoot)src\Validation\**\src\*.csproj;
245247
"
246248
Exclude="
247249
@(ProjectToBuild);

eng/ProjectReferences.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,5 +170,6 @@
170170
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Grpc.JsonTranscoding" ProjectPath="$(RepoRoot)src\Grpc\JsonTranscoding\src\Microsoft.AspNetCore.Grpc.JsonTranscoding\Microsoft.AspNetCore.Grpc.JsonTranscoding.csproj" />
171171
<ProjectReferenceProvider Include="Microsoft.AspNetCore.Grpc.Swagger" ProjectPath="$(RepoRoot)src\Grpc\JsonTranscoding\src\Microsoft.AspNetCore.Grpc.Swagger\Microsoft.AspNetCore.Grpc.Swagger.csproj" />
172172
<ProjectReferenceProvider Include="Microsoft.AspNetCore.OpenApi" ProjectPath="$(RepoRoot)src\OpenApi\src\Microsoft.AspNetCore.OpenApi.csproj" />
173+
<ProjectReferenceProvider Include="Microsoft.Extensions.Validation" ProjectPath="$(RepoRoot)src\Validation\src\Microsoft.Extensions.Validation.csproj" />
173174
</ItemGroup>
174175
</Project>

eng/SharedFramework.Local.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
<AspNetCoreAppReferenceAndPackage Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" />
3838
<AspNetCoreAppReferenceAndPackage Include="Microsoft.Extensions.Diagnostics.HealthChecks" />
3939
<AspNetCoreAppReferenceAndPackage Include="Microsoft.Extensions.Features" />
40+
<AspNetCoreAppReferenceAndPackage Include="Microsoft.Extensions.Validation" />
4041

4142
<!-- These assemblies are only in the shared framework -->
4243
<AspNetCoreAppReference Include="Microsoft.AspNetCore" />

eng/ShippingAssemblies.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@
105105
<AspNetCoreShippingAssembly Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" />
106106
<AspNetCoreShippingAssembly Include="Microsoft.Extensions.Diagnostics.HealthChecks" />
107107
<AspNetCoreShippingAssembly Include="Microsoft.Extensions.Features" />
108+
<AspNetCoreShippingAssembly Include="Microsoft.Extensions.Validation" />
108109
<AspNetCoreShippingAssembly Include="Microsoft.AspNetCore.App.Internal.Assets" />
109110
<AspNetCoreShippingAssembly Include="Microsoft.Extensions.Caching.SqlServer" />
110111
<AspNetCoreShippingAssembly Include="Microsoft.Extensions.Caching.StackExchangeRedis" />

eng/TrimmableProjects.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,5 +118,6 @@
118118
<TrimmableProject Include="Microsoft.Extensions.Diagnostics.HealthChecks" />
119119
<TrimmableProject Include="Microsoft.Extensions.Features" />
120120
<TrimmableProject Include="Microsoft.AspNetCore.OpenApi" />
121+
<TrimmableProject Include="Microsoft.Extensions.Validation" />
121122
</ItemGroup>
122123
</Project>

src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.sfxproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
OutputItemType="AspNetCoreAnalyzer"
7878
ReferenceOutputAssembly="false" />
7979

80-
<ProjectReference Include="$(RepoRoot)src\Http\Http.Extensions\gen\Microsoft.AspNetCore.Http.ValidationsGenerator\Microsoft.AspNetCore.Http.ValidationsGenerator.csproj"
80+
<ProjectReference Include="$(RepoRoot)src\Validation\gen\Microsoft.Extensions.Validation.ValidationsGenerator.csproj"
8181
Private="false"
8282
OutputItemType="AspNetCoreAnalyzer"
8383
ReferenceOutputAssembly="false" />

src/Framework/test/TestData.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ static TestData()
151151
"Microsoft.Extensions.Options.DataAnnotations",
152152
"Microsoft.Extensions.Primitives",
153153
"Microsoft.Extensions.WebEncoders",
154+
"Microsoft.Extensions.Validation",
154155
"Microsoft.JSInterop",
155156
"Microsoft.Net.Http.Headers",
156157
"System.Diagnostics.EventLog",
@@ -303,6 +304,7 @@ static TestData()
303304
{ "Microsoft.Extensions.Options" },
304305
{ "Microsoft.Extensions.Primitives" },
305306
{ "Microsoft.Extensions.WebEncoders" },
307+
{ "Microsoft.Extensions.Validation" },
306308
{ "Microsoft.JSInterop" },
307309
{ "Microsoft.Net.Http.Headers" },
308310
{ "System.Diagnostics.EventLog" },
Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,5 @@
11
#nullable enable
2-
abstract Microsoft.AspNetCore.Http.Validation.ValidatableParameterInfo.GetValidationAttributes() -> System.ComponentModel.DataAnnotations.ValidationAttribute![]!
3-
abstract Microsoft.AspNetCore.Http.Validation.ValidatablePropertyInfo.GetValidationAttributes() -> System.ComponentModel.DataAnnotations.ValidationAttribute![]!
42
Microsoft.AspNetCore.Http.Metadata.IDisableValidationMetadata
53
Microsoft.AspNetCore.Http.ProducesResponseTypeMetadata.Description.get -> string?
64
Microsoft.AspNetCore.Http.ProducesResponseTypeMetadata.Description.set -> void
75
Microsoft.AspNetCore.Http.Metadata.IProducesResponseTypeMetadata.Description.get -> string?
8-
Microsoft.AspNetCore.Http.Validation.IValidatableInfo
9-
Microsoft.AspNetCore.Http.Validation.IValidatableInfo.ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext! context, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task!
10-
Microsoft.AspNetCore.Http.Validation.IValidatableInfoResolver
11-
Microsoft.AspNetCore.Http.Validation.IValidatableInfoResolver.TryGetValidatableParameterInfo(System.Reflection.ParameterInfo! parameterInfo, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableInfo) -> bool
12-
Microsoft.AspNetCore.Http.Validation.IValidatableInfoResolver.TryGetValidatableTypeInfo(System.Type! type, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableInfo) -> bool
13-
Microsoft.AspNetCore.Http.Validation.ValidatableParameterInfo
14-
Microsoft.AspNetCore.Http.Validation.ValidatableParameterInfo.ValidatableParameterInfo(System.Type! parameterType, string! name, string! displayName) -> void
15-
Microsoft.AspNetCore.Http.Validation.ValidatablePropertyInfo
16-
Microsoft.AspNetCore.Http.Validation.ValidatablePropertyInfo.ValidatablePropertyInfo(System.Type! declaringType, System.Type! propertyType, string! name, string! displayName) -> void
17-
Microsoft.AspNetCore.Http.Validation.ValidatableTypeAttribute
18-
Microsoft.AspNetCore.Http.Validation.ValidatableTypeAttribute.ValidatableTypeAttribute() -> void
19-
Microsoft.AspNetCore.Http.Validation.ValidatableTypeInfo
20-
Microsoft.AspNetCore.Http.Validation.ValidatableTypeInfo.ValidatableTypeInfo(System.Type! type, System.Collections.Generic.IReadOnlyList<Microsoft.AspNetCore.Http.Validation.ValidatablePropertyInfo!>! members) -> void
21-
Microsoft.AspNetCore.Http.Validation.ValidateContext
22-
Microsoft.AspNetCore.Http.Validation.ValidateContext.CurrentDepth.get -> int
23-
Microsoft.AspNetCore.Http.Validation.ValidateContext.CurrentDepth.set -> void
24-
Microsoft.AspNetCore.Http.Validation.ValidateContext.CurrentValidationPath.get -> string!
25-
Microsoft.AspNetCore.Http.Validation.ValidateContext.CurrentValidationPath.set -> void
26-
Microsoft.AspNetCore.Http.Validation.ValidateContext.ValidateContext() -> void
27-
Microsoft.AspNetCore.Http.Validation.ValidateContext.ValidationContext.get -> System.ComponentModel.DataAnnotations.ValidationContext!
28-
Microsoft.AspNetCore.Http.Validation.ValidateContext.ValidationContext.set -> void
29-
Microsoft.AspNetCore.Http.Validation.ValidateContext.ValidationErrors.get -> System.Collections.Generic.Dictionary<string!, string![]!>?
30-
Microsoft.AspNetCore.Http.Validation.ValidateContext.ValidationErrors.set -> void
31-
Microsoft.AspNetCore.Http.Validation.ValidateContext.ValidationOptions.get -> Microsoft.AspNetCore.Http.Validation.ValidationOptions!
32-
Microsoft.AspNetCore.Http.Validation.ValidateContext.ValidationOptions.set -> void
33-
Microsoft.AspNetCore.Http.Validation.ValidationOptions
34-
Microsoft.AspNetCore.Http.Validation.ValidationOptions.MaxDepth.get -> int
35-
Microsoft.AspNetCore.Http.Validation.ValidationOptions.MaxDepth.set -> void
36-
Microsoft.AspNetCore.Http.Validation.ValidationOptions.Resolvers.get -> System.Collections.Generic.IList<Microsoft.AspNetCore.Http.Validation.IValidatableInfoResolver!>!
37-
Microsoft.AspNetCore.Http.Validation.ValidationOptions.TryGetValidatableParameterInfo(System.Reflection.ParameterInfo! parameterInfo, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableInfo) -> bool
38-
Microsoft.AspNetCore.Http.Validation.ValidationOptions.TryGetValidatableTypeInfo(System.Type! type, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableTypeInfo) -> bool
39-
Microsoft.AspNetCore.Http.Validation.ValidationOptions.ValidationOptions() -> void
40-
Microsoft.Extensions.DependencyInjection.ValidationServiceCollectionExtensions
41-
static Microsoft.Extensions.DependencyInjection.ValidationServiceCollectionExtensions.AddValidation(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action<Microsoft.AspNetCore.Http.Validation.ValidationOptions!>? configureOptions = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
42-
virtual Microsoft.AspNetCore.Http.Validation.ValidatableParameterInfo.ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext! context, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task!
43-
virtual Microsoft.AspNetCore.Http.Validation.ValidatablePropertyInfo.ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext! context, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task!
44-
virtual Microsoft.AspNetCore.Http.Validation.ValidatableTypeInfo.ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext! context, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task!

src/Http/Http.Extensions/test/Microsoft.AspNetCore.Http.Extensions.Tests.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232

3333
<ItemGroup>
3434
<ProjectReference Include="..\gen\Microsoft.AspNetCore.Http.RequestDelegateGenerator\Microsoft.AspNetCore.Http.RequestDelegateGenerator.csproj" />
35-
<ProjectReference Include="..\gen\Microsoft.AspNetCore.Http.ValidationsGenerator\Microsoft.AspNetCore.Http.ValidationsGenerator.csproj" />
3635

3736
</ItemGroup>
3837

@@ -45,6 +44,5 @@
4544

4645
<ItemGroup>
4746
<HelixContent Include="$(MSBuildProjectDirectory)\RequestDelegateGenerator\Baselines\**" />
48-
<HelixContent Include="$(MSBuildProjectDirectory)\ValidationsGenerator\snapshots\**" />
4947
</ItemGroup>
5048
</Project>

0 commit comments

Comments
 (0)