Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assembly refactor and split #51

Closed
6 of 7 tasks
jviau opened this issue Sep 28, 2022 · 6 comments
Closed
6 of 7 tasks

Assembly refactor and split #51

jviau opened this issue Sep 28, 2022 · 6 comments
Assignees

Comments

@jviau
Copy link
Member

jviau commented Sep 28, 2022

As a first step towards enabling devs to author re-usable libraries for DurableTask .NET sdk, we will split the assemblies up. This will allow libraries to take in a minimal amount of dependencies. Each assembly will correspond to a NuGet package of the same name. The rough assembly layout will be:

Name Description
Microsoft.DurableTask.Abstractions Contains base types for authoring and consuming orchestrations and activities
Microsoft.DurableTask.Generators Contains the source generators. note: will be bundled into abstractions nuget package.
Microsoft.DurableTask.Worker Contains the core framework for running a DTFx worker
Microsoft.DurableTask.Worker.Grpc Contains the gRPC specific worker implementation
Microsoft.DurableTask.Client Contains the durable task client and extensions.
Microsoft.DurableTask.Client.Grpc Contains the gRPC client implementation for interacting with the DTFx backend

Tasks

@jviau jviau self-assigned this Sep 28, 2022
@jviau
Copy link
Member Author

jviau commented Sep 28, 2022

Microsoft.DurableTask.Generators

We can actually pack this analyzer up with Microsoft.DurableTask.Abstractions directly, so no need to reference them separately (will still be a separate csproj). @cgillum what do you think of that?

@cgillum
Copy link
Member

cgillum commented Sep 28, 2022

@jviau I'm not sure if it's common practice to pack analyzers together with libraries. I feel like it could be problematic since the generator package contains a bunch of private assets, though I'll admit this is beyond my knowledge of how nuget packages work.

@jviau
Copy link
Member Author

jviau commented Sep 28, 2022

That is fair. I just noticed that Microsoft.Extensons.Logging.Abstractions packages its generator along with itself.

@cgillum
Copy link
Member

cgillum commented Sep 28, 2022

Ah, then I guess there is precedent for this! I'm fine either way. If it's not too much work, it probably makes sense to keep these tightly bound to each other.

@jviau
Copy link
Member Author

jviau commented Sep 28, 2022

Okay, I will work on that then. Won't be part of the initial PR.

@jviau
Copy link
Member Author

jviau commented Nov 30, 2022

Mediator pattern is tracked in its own issue.

@jviau jviau closed this as completed Nov 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants