Swiftpack.co - eneko/ProcessRunner as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by eneko.
eneko/ProcessRunner 1.1.0
Execute child processes and system commands from Swift
⭐️ 17
🕓 3 years ago
macOS
.package(url: "https://github.com/eneko/ProcessRunner.git", from: "1.1.0")

ProcessRunner

ProcessRunner

Release Swift 5.0 Build Status codecov codebeat badge Linux Compatible

Easily execute system commands from a Swift script or command line tool.

Features

  • ✅ Easily execute child processes with arguments
  • ✅ Easily execute shell commands with arguments
  • ✅ Capture output or stream to stdout/stderr in real time
  • ✅ Swift Package Manager compatible
  • ✅ Linux compatible 🐧

🚀 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 stdout

Installation

Add ProcessRunner to your Package.swift:

import PackageDescription

let package = Package(
    name: "YourPackage",
    dependencies: [
        .package(url: "[email protected]: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.

GitHub

link
Stars: 17
Last commit: 3 years ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Release 1.1.0
3 years ago

Breaking Changes

  • Package rename to ProcessRunner

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics