Sponsor: Using RabbitMQ or Azure Service Bus in your .NET systems? Well, you could just use their SDKs and roll your own serialization, routing, outbox, retries, and telemetry. I mean, seriously, how hard could it be?
H
Bullseye
Bullseye is a .NET package for describing and running targets and their dependencies. Bullseye can be used to write targets that do anything. It is not coupled to building .NET projects. Platform support: .NET Standard 1.3 and upwards.
Examples
The simplest example which is described on the Bullseye readme is similar to as follows: There’s really only two components needed. Define your target(s) using theTarget()
methods and then specify which targets to run via RunTargets()
If you do not specify a target to run then the “default” target is used.
If you simply run dotnet run
will produce the output:

dotnet run default
Dependencies
Here’s a simple example of having one target depend on another. In one target I’m hitting a service to get the exchange rate from CAD to USD. In another, I want to save that rate to a file. When run withdotnet run saveexchangerate

dotnet run getexchangerate