Skip to content

Commit fcfb7e1

Browse files
WhitWaldodivzi-p
authored andcommitted
Add .NET client for Dapr Jobs API (dapr#1384)
* Package addition + updates Signed-off-by: Whit Waldo <[email protected]> * Added Dapr.Jobs project Signed-off-by: Whit Waldo <[email protected]> * Initial commit - unable to proceed without update on master from streaming sub PR Signed-off-by: Whit Waldo <[email protected]> * Added class to Dapr.Common, fixed compilation errors Signed-off-by: Whit Waldo <[email protected]> * Added unit tests for Dapr.Common enum extensions Signed-off-by: Whit Waldo <[email protected]> * Added unit tests Signed-off-by: Whit Waldo <[email protected]> * Added missing copyright header Signed-off-by: Whit Waldo <[email protected]> * Added sample Jobs project Signed-off-by: Whit Waldo <[email protected]> * Added documentation Signed-off-by: Whit Waldo <[email protected]> * Added missing copyright header Signed-off-by: Whit Waldo <[email protected]> * Downgraded Roslyn packages since master doesn't yet have the incremental source generator updates Signed-off-by: Whit Waldo <[email protected]> * Missed a reference regarding incremental source generators Signed-off-by: Whit Waldo <[email protected]> * Downgraded packages to fix nullability issues on build Signed-off-by: Whit Waldo <[email protected]> * Downgraded from 8.* packages back to 6.* packages for the various Microsoft.Extensions.* packages to fix build issues Signed-off-by: Whit Waldo <[email protected]> * Removed unnecessary assignment Signed-off-by: Whit Waldo <[email protected]> * Added braces for clarity Signed-off-by: Whit Waldo <[email protected]> * Added more curley braces Signed-off-by: Whit Waldo <[email protected]> * More curly braces again Signed-off-by: Whit Waldo <[email protected]> * Marked two properties as static Signed-off-by: Whit Waldo <[email protected]> * Updated to handle any order of parameters to endpoint route builder delegate Signed-off-by: Whit Waldo <[email protected]> * Updated default cancellation token value Signed-off-by: Whit Waldo <[email protected]> * Added missing package version in Directory.Packages Signed-off-by: Whit Waldo <[email protected]> * Fixed unit tests Signed-off-by: Whit Waldo <[email protected]> * Added test to ensure that even if cancellation token is provided, it'll handle the mapping properly Signed-off-by: Whit Waldo <[email protected]> --------- Signed-off-by: Whit Waldo <[email protected]> Signed-off-by: Divya Perumal <[email protected]>
1 parent 094d757 commit fcfb7e1

39 files changed

+3981
-46
lines changed

Directory.Packages.props

Lines changed: 49 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,51 @@
11
<Project>
2-
<PropertyGroup>
3-
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
4-
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
5-
</PropertyGroup>
6-
<ItemGroup>
7-
<PackageVersion Include="BenchmarkDotNet" Version="0.14.0" />
8-
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
9-
<PackageVersion Include="coverlet.msbuild" Version="6.0.2" />
10-
<PackageVersion Include="FluentAssertions" Version="5.9.0" />
11-
<PackageVersion Include="GitHubActionsTestLogger" Version="1.1.2" />
12-
<PackageVersion Include="Google.Api.CommonProtos" Version="2.2.0" />
13-
<PackageVersion Include="Google.Protobuf" Version="3.28.2" />
14-
<PackageVersion Include="Grpc.AspNetCore" Version="2.66.0" />
15-
<PackageVersion Include="Grpc.Core.Testing" Version="2.46.6" />
16-
<PackageVersion Include="Grpc.Net.Client" Version="2.66.0" />
17-
<PackageVersion Include="Grpc.Net.ClientFactory" Version="2.66.0" />
18-
<PackageVersion Include="Grpc.Tools" Version="2.67.0" />
19-
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="6.0.35" />
20-
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="6.0.35" />
21-
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" />
22-
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.8.0" />
23-
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
24-
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing" Version="1.1.2" />
25-
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.8.0" />
26-
<PackageVersion Include="Microsoft.DurableTask.Client.Grpc" Version="1.3.0" />
27-
<PackageVersion Include="Microsoft.DurableTask.Worker.Grpc" Version="1.3.0" />
28-
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="6.0.1" />
29-
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0" />
30-
<PackageVersion Include="Microsoft.Extensions.Logging" Version="6.0.0" />
31-
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.4" />
32-
<PackageVersion Include="Microsoft.Extensions.Http" Version="6.0.0" />
33-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
34-
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
35-
<PackageVersion Include="MinVer" Version="2.3.0" />
36-
<PackageVersion Include="Moq" Version="4.20.72" />
37-
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
38-
<PackageVersion Include="protobuf-net.Grpc.AspNetCore" Version="1.2.2" />
39-
<PackageVersion Include="Serilog.AspNetCore" Version="6.1.0" />
40-
<PackageVersion Include="Serilog.Sinks.Console" Version="4.1.0" />
41-
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0" />
42-
<PackageVersion Include="System.Formats.Asn1" Version="6.0.1" />
43-
<PackageVersion Include="System.Text.Json" Version="6.0.10" />
44-
<PackageVersion Include="xunit" Version="2.9.2" />
45-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
46-
</ItemGroup>
2+
<PropertyGroup>
3+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
4+
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
5+
</PropertyGroup>
6+
<ItemGroup>
7+
<PackageVersion Include="BenchmarkDotNet" Version="0.14.0" />
8+
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
9+
<PackageVersion Include="coverlet.msbuild" Version="6.0.2" />
10+
<PackageVersion Include="FluentAssertions" Version="5.9.0" />
11+
<PackageVersion Include="GitHubActionsTestLogger" Version="1.1.2" />
12+
<PackageVersion Include="Google.Api.CommonProtos" Version="2.2.0" />
13+
<PackageVersion Include="Google.Protobuf" Version="3.28.2" />
14+
<PackageVersion Include="Grpc.AspNetCore" Version="2.66.0" />
15+
<PackageVersion Include="Grpc.Core.Testing" Version="2.46.6" />
16+
<PackageVersion Include="Grpc.Net.Client" Version="2.66.0" />
17+
<PackageVersion Include="Grpc.Net.ClientFactory" Version="2.66.0" />
18+
<PackageVersion Include="Grpc.Tools" Version="2.67.0" />
19+
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="6.0.35" />
20+
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="6.0.35" />
21+
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" />
22+
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.8.0" />
23+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
24+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing" Version="1.1.2" />
25+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing.XUnit" Version="1.1.2" />
26+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.8.0" />
27+
<PackageVersion Include="Microsoft.DurableTask.Client.Grpc" Version="1.3.0" />
28+
<PackageVersion Include="Microsoft.DurableTask.Worker.Grpc" Version="1.3.0" />
29+
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="6.0.1" />
30+
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0" />
31+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1" />
32+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
33+
<PackageVersion Include="Microsoft.Extensions.Http" Version="6.0.0" />
34+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="6.0.0" />
35+
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
36+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
37+
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
38+
<PackageVersion Include="MinVer" Version="2.3.0" />
39+
<PackageVersion Include="Moq" Version="4.20.72" />
40+
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
41+
<PackageVersion Include="protobuf-net.Grpc.AspNetCore" Version="1.2.2" />
42+
<PackageVersion Include="Serilog.AspNetCore" Version="6.1.0" />
43+
<PackageVersion Include="Serilog.Sinks.Console" Version="4.1.0" />
44+
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0" />
45+
<PackageVersion Include="System.Formats.Asn1" Version="6.0.1" />
46+
<PackageVersion Include="System.Text.Json" Version="8.0.5" />
47+
<PackageVersion Include="xunit" Version="2.9.2" />
48+
<PackageVersion Include="xunit.extensibility.core" Version="2.9.2" />
49+
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
50+
</ItemGroup>
4751
</Project>

all.sln

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dapr.Common", "src\Dapr.Com
119119
EndProject
120120
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dapr.Common.Test", "test\Dapr.Common.Test\Dapr.Common.Test.csproj", "{CDB47863-BEBD-4841-A807-46D868962521}"
121121
EndProject
122+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dapr.Jobs", "src\Dapr.Jobs\Dapr.Jobs.csproj", "{C8BB6A85-A7EA-40C0-893D-F36F317829B3}"
123+
EndProject
124+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dapr.Jobs.Test", "test\Dapr.Jobs.Test\Dapr.Jobs.Test.csproj", "{BF9828E9-5597-4D42-AA6E-6E6C12214204}"
125+
EndProject
126+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Jobs", "Jobs", "{D9697361-232F-465D-A136-4561E0E88488}"
127+
EndProject
128+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JobsSample", "examples\Jobs\JobsSample\JobsSample.csproj", "{9CAF360E-5AD3-4C4F-89A0-327EEB70D673}"
129+
EndProject
122130
Global
123131
GlobalSection(SolutionConfigurationPlatforms) = preSolution
124132
Debug|Any CPU = Debug|Any CPU
@@ -303,6 +311,18 @@ Global
303311
{CDB47863-BEBD-4841-A807-46D868962521}.Debug|Any CPU.Build.0 = Debug|Any CPU
304312
{CDB47863-BEBD-4841-A807-46D868962521}.Release|Any CPU.ActiveCfg = Release|Any CPU
305313
{CDB47863-BEBD-4841-A807-46D868962521}.Release|Any CPU.Build.0 = Release|Any CPU
314+
{C8BB6A85-A7EA-40C0-893D-F36F317829B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
315+
{C8BB6A85-A7EA-40C0-893D-F36F317829B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
316+
{C8BB6A85-A7EA-40C0-893D-F36F317829B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
317+
{C8BB6A85-A7EA-40C0-893D-F36F317829B3}.Release|Any CPU.Build.0 = Release|Any CPU
318+
{BF9828E9-5597-4D42-AA6E-6E6C12214204}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
319+
{BF9828E9-5597-4D42-AA6E-6E6C12214204}.Debug|Any CPU.Build.0 = Debug|Any CPU
320+
{BF9828E9-5597-4D42-AA6E-6E6C12214204}.Release|Any CPU.ActiveCfg = Release|Any CPU
321+
{BF9828E9-5597-4D42-AA6E-6E6C12214204}.Release|Any CPU.Build.0 = Release|Any CPU
322+
{9CAF360E-5AD3-4C4F-89A0-327EEB70D673}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
323+
{9CAF360E-5AD3-4C4F-89A0-327EEB70D673}.Debug|Any CPU.Build.0 = Debug|Any CPU
324+
{9CAF360E-5AD3-4C4F-89A0-327EEB70D673}.Release|Any CPU.ActiveCfg = Release|Any CPU
325+
{9CAF360E-5AD3-4C4F-89A0-327EEB70D673}.Release|Any CPU.Build.0 = Release|Any CPU
306326
EndGlobalSection
307327
GlobalSection(SolutionProperties) = preSolution
308328
HideSolutionNode = FALSE
@@ -359,6 +379,10 @@ Global
359379
{DFBABB04-50E9-42F6-B470-310E1B545638} = {27C5D71D-0721-4221-9286-B94AB07B58CF}
360380
{B445B19C-A925-4873-8CB7-8317898B6970} = {27C5D71D-0721-4221-9286-B94AB07B58CF}
361381
{CDB47863-BEBD-4841-A807-46D868962521} = {DD020B34-460F-455F-8D17-CF4A949F100B}
382+
{C8BB6A85-A7EA-40C0-893D-F36F317829B3} = {27C5D71D-0721-4221-9286-B94AB07B58CF}
383+
{BF9828E9-5597-4D42-AA6E-6E6C12214204} = {DD020B34-460F-455F-8D17-CF4A949F100B}
384+
{D9697361-232F-465D-A136-4561E0E88488} = {D687DDC4-66C5-4667-9E3A-FD8B78ECAA78}
385+
{9CAF360E-5AD3-4C4F-89A0-327EEB70D673} = {D9697361-232F-465D-A136-4561E0E88488}
362386
EndGlobalSection
363387
GlobalSection(ExtensibilityGlobals) = postSolution
364388
SolutionGuid = {65220BF2-EAE1-4CB2-AA58-EBE80768CB40}

daprdocs/content/en/dotnet-sdk-docs/_index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@ Put the Dapr .NET SDK to the test. Walk through the .NET quickstarts and tutoria
6969
<a href="{{< ref dotnet-workflow >}}" class="stretched-link"></a>
7070
</div>
7171
</div>
72+
<div class="card">
73+
<div class="card-body">
74+
<h5 class="card-title"><b>Jobs</b></h5>
75+
<p class="card-text">Create and manage the scheduling and orchestration of jobs in .NET.</p>
76+
<a href="{{< ref dotnet-jobs >}}" class="stretched-link"></a>
77+
</div>
78+
</div>
7279
</div>
7380

7481
## More information
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
type: docs
3+
title: "Dapr Jobs .NET SDK"
4+
linkTitle: "Jobs"
5+
weight: 50000
6+
description: Get up and running with Dapr Jobs and the Dapr .NET SDK
7+
---
8+

0 commit comments

Comments
 (0)