build: initial project release
This commit is contained in:
commit
e313a60138
59 changed files with 4903 additions and 0 deletions
49
README.md
Normal file
49
README.md
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
# `Geekeey.Extensions.Process`
|
||||
|
||||
Process is a .NET library for interacting with external command-line interfaces. It provides a convenient model for
|
||||
launching processes, redirecting input and output streams, awaiting completion, handling cancellation, and more.
|
||||
|
||||
## Features
|
||||
|
||||
- **Input and Output redirection:** flexible piping model, that allows to redirect the process's streams.
|
||||
- **Immutability:** The `Command` object is immutable, ensuring thread safely and allowing sharing of a base
|
||||
configuration.
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Install the NuGet package:
|
||||
|
||||
```
|
||||
dotnet add package Geekeey.Extensions.Process
|
||||
```
|
||||
|
||||
You may need to add our NuGet Feed to your `nuget.config` this can be done by adding the following lines
|
||||
|
||||
```xml
|
||||
|
||||
<packageSources>
|
||||
<add key="geekeey" value="https://code.geekeey.de/api/packages/geekeey/nuget/index.json" />
|
||||
</packageSources>
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
```csharp
|
||||
public static Task<int> Main()
|
||||
{
|
||||
var stdout = new StringBuilder();
|
||||
var cmd = new Command("git").WithArguments(["config", "--get", "user.name"]) | stdout;
|
||||
await cmd.ExecuteAsync();
|
||||
Console.WriteLine(stdout.ToString());
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
```csharp
|
||||
public static Task<int> Main()
|
||||
{
|
||||
var cmd = new Command("cat").WithArguments(["file.txt"]) | new Command("wc");
|
||||
await cmd.ExecuteAsync();
|
||||
Console.WriteLine(stdout.ToString());
|
||||
}
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue