Package org.wildfly.plugin.provision

## Class ExecUtil

- java.lang.Object
- - org.wildfly.plugin.provision.ExecUtil

-     public class ExecUtil
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ExecUtil()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `destroyProcess​(Process process)` | Kill the process, if still alive, kill it forcibly
    `static boolean` | `exec​(OutputStream out, File directory, String command, String... args)` | Execute the specified command from within the specified directory.
    `static boolean` | `exec​(OutputStream out, String command, String... args)` | Execute the specified command from within the current directory.
    `static boolean` | `exec​(org.apache.maven.plugin.logging.Log log, File directory, String command, String... args)` | Execute the specified command from within the specified directory.
    `static boolean` | `exec​(org.apache.maven.plugin.logging.Log log, String command, String... args)` | Execute the specified command from within the current directory.
    `static boolean` | `execSilentWithTimeout​(Duration timeout, String command, String... args)` | Execute silently the specified command until the given timeout from within the current directory.
    `static boolean` | `execWithTimeout​(org.apache.maven.plugin.logging.Log log, File directory, Duration timeout, String command, String... args)` | Execute the specified command until the given timeout from within the specified directory.
    `static String` | `resolveImageBinary()` | Resolves which image binary to use.
    `static Process` | `startProcess​(File directory, String command, String... args)` | Start a process executing given command with arguments within the specified directory.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ExecUtil

          public ExecUtil()

  - ### Method Detail

    - #### exec

          public static boolean exec​(org.apache.maven.plugin.logging.Log log,
                                     String command,
                                     String... args)

      Execute the specified command from within the current directory.
      Parameters:
        `command` - The command
        `args` - The command arguments
      Returns:
        true if commands where executed successfully

    - #### exec

          public static boolean exec​(OutputStream out,
                                     String command,
                                     String... args)

      Execute the specified command from within the current directory.
      Parameters:
        `out` - the output stream used to consume the console output
        `command` - The command
        `args` - The command arguments
      Returns:
        true if commands where executed successfully

    - #### execSilentWithTimeout

          public static boolean execSilentWithTimeout​(Duration timeout,
                                                      String command,
                                                      String... args)

      Execute silently the specified command until the given timeout from within the current directory.
      Parameters:
        `timeout` - The timeout
        `command` - The command
        `args` - The command arguments
      Returns:
        true if commands where executed successfully

    - #### exec

          public static boolean exec​(org.apache.maven.plugin.logging.Log log,
                                     File directory,
                                     String command,
                                     String... args)

      Execute the specified command from within the specified directory. The method allows specifying an output filter that processes the command output.
      Parameters:
        `directory` - The directory
        `command` - The command
        `args` - The command arguments
      Returns:
        true if commands where executed successfully

    - #### exec

          public static boolean exec​(OutputStream out,
                                     File directory,
                                     String command,
                                     String... args)

      Execute the specified command from within the specified directory. The method allows specifying an output filter that processes the command output.
      Parameters:
        `out` - the output stream used to consume the console output
        `directory` - The directory
        `command` - The command
        `args` - The command arguments
      Returns:
        true if commands where executed successfully

    - #### execWithTimeout

          public static boolean execWithTimeout​(org.apache.maven.plugin.logging.Log log,
                                                File directory,
                                                Duration timeout,
                                                String command,
                                                String... args)

      Execute the specified command until the given timeout from within the specified directory. The method allows specifying an output filter that processes the command output.
      Parameters:
        `directory` - The directory
        `timeout` - The timeout
        `command` - The command
        `args` - The command arguments
      Returns:
        true if commands where executed successfully

    - #### startProcess

          public static Process startProcess​(File directory,
                                             String command,
                                             String... args)

      Start a process executing given command with arguments within the specified directory.
      Parameters:
        `directory` - The directory
        `command` - The command
        `args` - The command arguments
      Returns:
        the process

    - #### destroyProcess

          public static void destroyProcess​(Process process)

      Kill the process, if still alive, kill it forcibly
      Parameters:
        `process` - the process to kill

    - #### resolveImageBinary

          public static String resolveImageBinary()

      Resolves which image binary to use. First `docker` is tried. If docker does not exist, then `podman` is tried. If podman does not exist `null` is returned.
      Returns:
        the resolved binary, or `null` if docker or podman was not found