Skip to content

🐚 Gradle plugin with a simpler Exec task

License

Notifications You must be signed in to change notification settings

ErikEverson/ShellExec

 
 

Repository files navigation

ShellExec

Tube Download

A simpler extension point than Exec for ad-hoc Gradle tasks that run shell commands.

Features

  • Specify entire command line in one string (instead of List<CharSequence>).
  • Append/prepend to the current PATH.
  • Execute a command | pipe or conditional && command || chain.
  • Easy access to stdout and stderr.

⚠️ Not compatible with Exec tasks yet (see #11), but the current API is very similar.

Example build.gradle

buildscript {
    repositories.jcenter()
    dependencies.classpath 'at.phatbl:shellexec:+'
}

import at.phatbl.shellexec.ShellExec

task lolCowFortune(type: ShellExec) {
    command "fortune | cowsay | lolcat"
}

Task Output

> Task :lolCowFortune
 _________________________________________
/ Do not clog intellect's sluices with    \
\ bits of knowledge of questionable uses. /
 -----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


BUILD SUCCESSFUL in 2s
1 actionable task: 1 executed

License

This repo is licensed under the MIT License. See the LICENSE file for rights and limitations.

About

🐚 Gradle plugin with a simpler Exec task

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 89.2%
  • Ruby 9.2%
  • JavaScript 1.6%