Skip to content

Commit 5c8cb02

Browse files
authored
Merge pull request #1439 from sheffer21/DEV/alon/UpgradeMediatRVersion
Upgrade MediatR version to 12.4.1
2 parents 64ca131 + f84189e commit 5c8cb02

File tree

76 files changed

+170
-162
lines changed

Some content is hidden

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

76 files changed

+170
-162
lines changed

.github/workflows/ci.yml

+10-10
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,9 @@ jobs:
136136
working-directory: 'vscode-testextension'
137137
- name: 🏺 Publish coverage data
138138
if: always()
139-
uses: actions/upload-artifact@v3
139+
uses: actions/upload-artifact@v4
140140
with:
141-
name: 'coverage'
141+
name: 'coverage-${{ matrix.os }}'
142142
path: 'coverage/'
143143
- name: 🐿 Publish Coverage
144144
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || ((github.event_name == 'pull_request' || github.event_name == 'pull_request_target') && github.event.pull_request.user.login != 'renovate[bot]' && github.event.pull_request.user.login != 'dependabot[bot]')
@@ -147,26 +147,26 @@ jobs:
147147
name: 'actions-${{ matrix.os }}'
148148
- name: 🏺 Publish logs
149149
if: always()
150-
uses: actions/upload-artifact@v3
150+
uses: actions/upload-artifact@v4
151151
with:
152-
name: 'logs'
152+
name: 'logs-${{ matrix.os }}'
153153
path: 'artifacts/logs/'
154154
- name: 🏺 Publish test data
155155
if: always()
156-
uses: actions/upload-artifact@v3
156+
uses: actions/upload-artifact@v4
157157
with:
158-
name: 'test data'
158+
name: 'test data-${{ matrix.os }}'
159159
path: 'artifacts/test/'
160160
- name: 🏺 Publish NuGet Packages
161161
if: always()
162-
uses: actions/upload-artifact@v3
162+
uses: actions/upload-artifact@v4
163163
with:
164-
name: 'nuget'
164+
name: 'nuget-${{ matrix.os }}'
165165
path: 'artifacts/nuget/'
166166
- name: 🏺 Publish Documentation
167-
uses: actions/upload-artifact@v3
167+
uses: actions/upload-artifact@v4
168168
with:
169-
name: 'docs'
169+
name: 'docs-${{ matrix.os }}'
170170
path: 'artifacts/docs/'
171171
Publish:
172172
needs:

.github/workflows/publish-nuget.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@ jobs:
2323
with:
2424
nuget-version: '5.x'
2525

26-
- uses: actions/download-artifact@v3
26+
- uses: actions/download-artifact@v4
2727
with:
28-
name: nuget
28+
path: nuget
29+
pattern: nuget-*
30+
merge-multiple: true
2931

3032
- name: nuget.org
3133
# continue-on-error: true

Directory.Packages.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
<PackageVersion Include="System.Collections.Immutable" Version="7.0.0" />
5454
<PackageVersion Include="System.Threading.Channels" Version="7.0.0" />
5555
<PackageVersion Include="Microsoft.Reactive.Testing" Version="6.0.1" />
56-
<PackageVersion Include="MediatR" Version="9.0.0" />
56+
<PackageVersion Include="MediatR" Version="12.4.1" />
5757
<PackageVersion Include="Bogus" Version="35.6.1" />
5858
<PackageVersion Include="Snapper" Version="2.4.1" />
5959
<PackageVersion Include="Xunit.SkippableFact" Version="1.4.13" />

src/Dap.Protocol/AbstractHandlers.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public abstract class Request<TParams, TResult> :
1515
}
1616

1717
public abstract class Notification<TParams> : IJsonRpcRequestHandler<TParams>
18-
where TParams : IRequest
18+
where TParams : IRequest<Unit>
1919
{
2020
public abstract Task<Unit> Handle(TParams request, CancellationToken cancellationToken);
2121
}

src/Dap.Protocol/Feature/Events/BreakpointFeature.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ namespace Events
8383
[GenerateHandler]
8484
[GenerateHandlerMethods]
8585
[GenerateRequestMethods]
86-
public record BreakpointEvent : IRequest
86+
public record BreakpointEvent : IRequest<Unit>
8787
{
8888
/// <summary>
8989
/// The reason for the event.

src/Dap.Protocol/Feature/Events/CapabilitiesFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.DebugAdapter.Protocol.Models;
33
using OmniSharp.Extensions.DebugAdapter.Protocol.Serialization;
44
using OmniSharp.Extensions.JsonRpc;
@@ -238,7 +238,7 @@ namespace Events
238238
[GenerateHandler]
239239
[GenerateHandlerMethods]
240240
[GenerateRequestMethods]
241-
public record CapabilitiesEvent : IRequest
241+
public record CapabilitiesEvent : IRequest<Unit>
242242
{
243243
/// <summary>
244244
/// The set of updated capabilities.

src/Dap.Protocol/Feature/Events/ContinuedFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.DebugAdapter.Protocol.Serialization;
33
using OmniSharp.Extensions.JsonRpc;
44
using OmniSharp.Extensions.JsonRpc.Generation;
@@ -15,7 +15,7 @@ namespace Events
1515
GenerateHandlerMethods,
1616
GenerateRequestMethods
1717
]
18-
public record ContinuedEvent : IRequest
18+
public record ContinuedEvent : IRequest<Unit>
1919
{
2020
/// <summary>
2121
/// The thread which was continued.

src/Dap.Protocol/Feature/Events/ExitedFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.JsonRpc;
33
using OmniSharp.Extensions.JsonRpc.Generation;
44

@@ -14,7 +14,7 @@ namespace Events
1414
GenerateHandlerMethods,
1515
GenerateRequestMethods
1616
]
17-
public record ExitedEvent : IRequest
17+
public record ExitedEvent : IRequest<Unit>
1818
{
1919
/// <summary>
2020
/// The exit code returned from the debuggee.

src/Dap.Protocol/Feature/Events/InitializedFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.JsonRpc;
33
using OmniSharp.Extensions.JsonRpc.Generation;
44

@@ -12,6 +12,6 @@ namespace Events
1212
[GenerateHandler(Name = "DebugAdapterInitialized")]
1313
[GenerateHandlerMethods]
1414
[GenerateRequestMethods]
15-
public record InitializedEvent : IRequest;
15+
public record InitializedEvent : IRequest<Unit>;
1616
}
1717
}

src/Dap.Protocol/Feature/Events/InvalidatedFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.DebugAdapter.Protocol.Models;
33
using OmniSharp.Extensions.DebugAdapter.Protocol.Serialization;
44
using OmniSharp.Extensions.JsonRpc;
@@ -16,7 +16,7 @@ namespace Events
1616
GenerateHandlerMethods,
1717
GenerateRequestMethods
1818
]
19-
public record InvalidatedEvent : IRequest
19+
public record InvalidatedEvent : IRequest<Unit>
2020
{
2121
/// <summary>
2222
/// Optional set of logical areas that got invalidated. This property has a

src/Dap.Protocol/Feature/Events/LoadedSourceFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.DebugAdapter.Protocol.Models;
33
using OmniSharp.Extensions.JsonRpc;
44
using OmniSharp.Extensions.JsonRpc.Generation;
@@ -13,7 +13,7 @@ namespace Events
1313
[GenerateHandler]
1414
[GenerateHandlerMethods]
1515
[GenerateRequestMethods]
16-
public record LoadedSourceEvent : IRequest
16+
public record LoadedSourceEvent : IRequest<Unit>
1717
{
1818
/// <summary>
1919
/// The reason for the event.

src/Dap.Protocol/Feature/Events/ModuleFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.DebugAdapter.Protocol.Models;
33
using OmniSharp.Extensions.JsonRpc;
44
using OmniSharp.Extensions.JsonRpc.Generation;
@@ -13,7 +13,7 @@ namespace Events
1313
[GenerateHandler]
1414
[GenerateHandlerMethods]
1515
[GenerateRequestMethods]
16-
public record ModuleEvent : IRequest
16+
public record ModuleEvent : IRequest<Unit>
1717
{
1818
/// <summary>
1919
/// The reason for the event.

src/Dap.Protocol/Feature/Events/OutputFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using Newtonsoft.Json.Linq;
33
using OmniSharp.Extensions.DebugAdapter.Protocol.Models;
44
using OmniSharp.Extensions.DebugAdapter.Protocol.Serialization;
@@ -15,7 +15,7 @@ namespace Events
1515
[GenerateHandler]
1616
[GenerateHandlerMethods]
1717
[GenerateRequestMethods]
18-
public record OutputEvent : IRequest
18+
public record OutputEvent : IRequest<Unit>
1919
{
2020
/// <summary>
2121
/// The output category. If not specified, 'console' is assumed.

src/Dap.Protocol/Feature/Events/ProcessFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.DebugAdapter.Protocol.Serialization;
33
using OmniSharp.Extensions.JsonRpc;
44
using OmniSharp.Extensions.JsonRpc.Generation;
@@ -13,7 +13,7 @@ namespace Events
1313
[GenerateHandler]
1414
[GenerateHandlerMethods]
1515
[GenerateRequestMethods]
16-
public record ProcessEvent : IRequest
16+
public record ProcessEvent : IRequest<Unit>
1717
{
1818
/// <summary>
1919
/// The logical name of the process. This is usually the full path to process's executable file. Example: /home/example/myproj/program.js.

src/Dap.Protocol/Feature/Events/ProgressFeature.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.DebugAdapter.Protocol.Models;
33
using OmniSharp.Extensions.DebugAdapter.Protocol.Serialization;
44
using OmniSharp.Extensions.JsonRpc;
@@ -28,7 +28,7 @@ public abstract record ProgressEvent
2828
[GenerateHandler]
2929
[GenerateHandlerMethods]
3030
[GenerateRequestMethods]
31-
public record ProgressStartEvent : ProgressEvent, IRequest
31+
public record ProgressStartEvent : ProgressEvent, IRequest<Unit>
3232
{
3333
/// <summary>
3434
/// Mandatory (short) title of the progress reporting. Shown in the UI to describe the long running operation.
@@ -63,7 +63,7 @@ public record ProgressStartEvent : ProgressEvent, IRequest
6363
[GenerateHandler]
6464
[GenerateHandlerMethods]
6565
[GenerateRequestMethods]
66-
public record ProgressUpdateEvent : ProgressEvent, IRequest
66+
public record ProgressUpdateEvent : ProgressEvent, IRequest<Unit>
6767
{
6868
/// <summary>
6969
/// Optional progress percentage to display (value range: 0 to 100). If omitted no percentage will be shown.
@@ -77,6 +77,6 @@ public record ProgressUpdateEvent : ProgressEvent, IRequest
7777
[GenerateHandler]
7878
[GenerateHandlerMethods]
7979
[GenerateRequestMethods]
80-
public record ProgressEndEvent : ProgressEvent, IRequest;
80+
public record ProgressEndEvent : ProgressEvent, IRequest<Unit>;
8181
}
8282
}

src/Dap.Protocol/Feature/Events/StoppedFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.DebugAdapter.Protocol.Serialization;
33
using OmniSharp.Extensions.JsonRpc;
44
using OmniSharp.Extensions.JsonRpc.Generation;
@@ -15,7 +15,7 @@ namespace Events
1515
GenerateHandlerMethods,
1616
GenerateRequestMethods
1717
]
18-
public record StoppedEvent : IRequest
18+
public record StoppedEvent : IRequest<Unit>
1919
{
2020
/// <summary>
2121
/// The reason for the event.

src/Dap.Protocol/Feature/Events/TerminatedFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using Newtonsoft.Json;
33
using Newtonsoft.Json.Linq;
44
using OmniSharp.Extensions.DebugAdapter.Protocol.Serialization;
@@ -17,7 +17,7 @@ namespace Events
1717
GenerateHandlerMethods,
1818
GenerateRequestMethods
1919
]
20-
public record TerminatedEvent : IRequest
20+
public record TerminatedEvent : IRequest<Unit>
2121
{
2222
/// <summary>
2323
/// A debug adapter may set 'restart' to true (or to an arbitrary object) to request that the front end restarts the session.

src/Dap.Protocol/Feature/Events/ThreadFeature.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MediatR;
1+
using MediatR;
22
using OmniSharp.Extensions.JsonRpc;
33
using OmniSharp.Extensions.JsonRpc.Generation;
44

@@ -14,7 +14,7 @@ namespace Events
1414
GenerateHandlerMethods,
1515
GenerateRequestMethods
1616
]
17-
public record ThreadEvent : IRequest
17+
public record ThreadEvent : IRequest<Unit>
1818
{
1919
/// <summary>
2020
/// The reason for the event.

src/Dap.Protocol/IDebugAdapterProtocolProxy.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Diagnostics.CodeAnalysis;
33
using System.Threading;
44
using System.Threading.Tasks;
@@ -39,7 +39,7 @@ public void SendNotification<T>(string method, T @params)
3939
_responseRouter.SendNotification(method, @params);
4040
}
4141

42-
public void SendNotification(IRequest request)
42+
public void SendNotification(IRequest<Unit> request)
4343
{
4444
_responseRouter.SendNotification(request);
4545
}

src/Dap.Shared/DapResponseRouter.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void SendNotification<T>(string method, T @params)
4949
);
5050
}
5151

52-
public void SendNotification(IRequest @params)
52+
public void SendNotification(IRequest<Unit> @params)
5353
{
5454
SendNotification(GetMethodName(@params.GetType()), @params);
5555
}

src/JsonRpc.Generators/Helpers.cs

+15-10
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,31 @@ public static bool IsNotification(TypeDeclarationSyntax symbol) =>
1717
symbol.BaseList?.Types
1818
.Any(
1919
z =>
20-
z.Type is SimpleNameSyntax and (
21-
{ Identifier: { Text: "IJsonRpcNotificationHandler" }, Arity: 0 or 1 }
22-
or { Identifier: { Text: "IRequest" }, Arity: 0 }
20+
z.Type is SimpleNameSyntax simpleNameSyntax && (
21+
(simpleNameSyntax.Identifier.Text == "IJsonRpcNotificationHandler" && (simpleNameSyntax.Arity == 0 || simpleNameSyntax.Arity == 1))
22+
|| (simpleNameSyntax.Identifier.Text == "IRequest" && simpleNameSyntax.Arity == 0)
23+
|| (simpleNameSyntax.Identifier.Text == "IRequest" && simpleNameSyntax.Arity == 1 && IsUnitRequest(z.Type))
2324
)
2425
) == true;
2526

2627
public static bool IsRequest(TypeDeclarationSyntax symbol) =>
2728
symbol.BaseList?.Types
2829
.Any(
2930
z =>
30-
z.Type is SimpleNameSyntax and (
31-
{ Identifier: { Text: "IJsonRpcRequestHandler" }, Arity: 1 or 2 }
32-
or { Identifier: { Text: "ICanBeResolvedHandler" }, Arity: 1 }
33-
or { Identifier: { Text: "IPartialItemRequest" or "IPartialItemWithInitialValueRequest" }, Arity: 2 }
34-
or { Identifier: { Text: "IPartialItemsRequest" or "IPartialItemsWithInitialValueRequest" }, Arity: 2 }
35-
or { Identifier: { Text: "IRequest" }, Arity: 1 }
36-
or { Identifier: { Text: "IJsonRpcRequest" }, Arity: 0 }
31+
z.Type is SimpleNameSyntax simpleNameSyntax && (
32+
(simpleNameSyntax.Identifier.Text == "IJsonRpcRequestHandler" && (simpleNameSyntax.Arity is 1 or 2))
33+
|| ( simpleNameSyntax.Identifier.Text == "ICanBeResolvedHandler" && simpleNameSyntax.Arity == 1 )
34+
|| ( simpleNameSyntax.Identifier.Text is "IPartialItemRequest" or "IPartialItemWithInitialValueRequest" && simpleNameSyntax.Arity == 2 )
35+
|| ( simpleNameSyntax.Identifier.Text is "IPartialItemsRequest" or "IPartialItemsWithInitialValueRequest" && simpleNameSyntax.Arity == 2 )
36+
|| ( simpleNameSyntax.Identifier.Text == "IRequest" && simpleNameSyntax.Arity == 1 && !IsUnitRequest(simpleNameSyntax))
37+
|| ( simpleNameSyntax.Identifier.Text == "IJsonRpcRequest" && simpleNameSyntax.Arity == 0 )
3738
)
3839
) == true;
3940

41+
private static bool IsUnitRequest(TypeSyntax type) =>
42+
type is GenericNameSyntax gns && gns.Identifier.Text == "IRequest" && gns.TypeArgumentList.Arguments.Count == 1 &&
43+
gns.TypeArgumentList.Arguments[0] is SimpleNameSyntax sns && sns.Identifier.Text == "Unit";
44+
4045
public static ExpressionSyntax GetJsonRpcMethodName(TypeDeclarationSyntax interfaceSyntax)
4146
{
4247
var methodAttribute = interfaceSyntax.AttributeLists

src/JsonRpc.Testing/SettlePipeline.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Threading;
1+
using System.Threading;
22
using System.Threading.Tasks;
33
using MediatR;
44

@@ -11,7 +11,7 @@ public class SettlePipeline<T, TR> : IPipelineBehavior<T, TR>
1111

1212
public SettlePipeline(IRequestSettler settler) => _settler = settler;
1313

14-
async Task<TR> IPipelineBehavior<T, TR>.Handle(T request, CancellationToken cancellationToken, RequestHandlerDelegate<TR> next)
14+
async Task<TR> IPipelineBehavior<T, TR>.Handle(T request, RequestHandlerDelegate<TR> next, CancellationToken cancellationToken)
1515
{
1616
_settler.OnStartRequest();
1717
try

src/JsonRpc/CancelParams.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace OmniSharp.Extensions.JsonRpc
44
{
55
[Method(JsonRpcNames.CancelRequest)]
6-
public partial class CancelParams : IRequest
6+
public partial class CancelParams : IRequest<Unit>
77
{
88
/// <summary>
99
/// The request id to cancel.

0 commit comments

Comments
 (0)