All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hidetake.gradle.ssh.internal.DryRunOperationHandler.groovy Maven / Gradle / Ivy

package org.hidetake.gradle.ssh.internal

import groovy.transform.TupleConstructor
import groovy.util.logging.Slf4j
import org.hidetake.gradle.ssh.api.CommandContext
import org.hidetake.gradle.ssh.api.OperationHandler
import org.hidetake.gradle.ssh.api.Remote
import org.hidetake.gradle.ssh.api.SessionSpec

/**
 * Null implementation of {@link OperationHandler} for dry-run.
 *
 * @author hidetake.org
 *
 */
@TupleConstructor
@Slf4j
class DryRunOperationHandler extends AbstractOperationHandler {
    final SessionSpec spec

    @Override
    Remote getRemote() {
        spec.remote
    }

    @Override
    void shell(Map options, Closure interactions) {
        log.info("Execute a shell with options ($options)")
    }

    @Override
    String execute(Map options, String command, Closure interactions) {
        log.info("Execute a command (${command}) with options ($options)")
        null
    }

    @Override
    String executeSudo(Map options, String command) {
        log.info("Execute a command ($command) with sudo support and options ($options)")
        null
    }

    @Override
    CommandContext executeBackground(Map options, String command) {
        log.info("Execute a command ($command) with options ($options) in background")
        new DryRunCommandContext()
    }

    @Override
    void get(Map options, String remote, String local) {
        log.info("Get a remote file (${remote}) to local (${local})")
    }

    @Override
    void put(Map options, String local, String remote) {
        log.info("Put a local file (${local}) to remote (${remote})")
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy