eneko/processrunner
Easily execute system commands from a Swift script or command line tool.
๐ Executing child Processes from Swift scripts and CLI tools
Running child processes in Swift is not hard with Process, but it can be a bit tedious and repetitive.
System makes this task extremely easy. If you are familiar with Ruby scripting (Rakefile, Fastlane, Danger, etc), you will feel like home.
๐ป Automatically redirect output to stdout
import ProcessRunner
try system(command: "echo hello world") // prints "hello world" to stdoutโ Capture process output
import ProcessRunner
let output = try system(command: "echo hello world", captureOutput: true).standardOutput
print(output) // prints "hello world"โ๏ธ Check if process terminated gracefully
import ProcessRunner
print(try system(command: "echo hello world").success) // prints "true"|> Easily execute Shell commands with pipes and redirects
import ProcessRunner
try system(shell: "echo hello cat > cat && cat cat | awk '{print $2}'") // prints "cat" to stdoutInstallation
Add ProcessRunner to your Package.swift:
import PackageDescription
let package = Package(
name: "YourPackage",
dependencies: [
.package(url: "git@github.com:eneko/ProcessRunner.git", from: "1.0.0"),
],
targets: [
.target(
name: "YourTarget",
dependencies: ["ProcessRunner"]),
]
)๐ Contact
Follow and/or contact me on Twitter at @eneko.
๐ Contributions
If you find an issue, just open a ticket on it. Pull requests are warmly welcome as well.
๐ฎโโ๏ธ License
System is licensed under the MIT license. See LICENSE for more info.
Package Metadata
Repository: eneko/processrunner
Default branch: main
README: README.md