diff --git a/src/beautifiers/executable.coffee b/src/beautifiers/executable.coffee index a401860..f685bb3 100644 --- a/src/beautifiers/executable.coffee +++ b/src/beautifiers/executable.coffee @@ -49,6 +49,7 @@ class Executable .then(() => @) .catch((error) => if not @.required + @verbose("Not required") @ else Promise.reject(error) @@ -366,6 +367,7 @@ class HybridExecutable extends Executable constructor: (options) -> super(options) + @verbose("HybridExecutable Options", options) if options.docker? @dockerOptions = Object.assign({}, @dockerOptions, options.docker) @docker = @constructor.dockerExecutable() @@ -389,18 +391,32 @@ class HybridExecutable extends Executable super() .catch((error) => return Promise.reject(error) if not @docker? - @docker.init() - .then(=> @runImage(@versionArgs, @versionRunOptions)) - .then((text) => @saveVersion(text)) - .then(() => @installedWithDocker = true) - .then(=> @) - .catch((dockerError) => - @debug(dockerError) - Promise.reject(error) - ) + return @ + ) + .then(() => + shouldTryWithDocker = not @isInstalled and @docker? + @verbose("Executable shouldTryWithDocker", shouldTryWithDocker, @isInstalled, @docker?) + if shouldTryWithDocker + return @initDocker() + return @ + ) + + initDocker: () -> + @docker.init() + .then(=> @runImage(@versionArgs, @versionRunOptions)) + .then((text) => @saveVersion(text)) + .then(() => @installedWithDocker = true) + .then(=> @) + .catch((dockerError) => + @debug(dockerError) + Promise.reject(error) ) run: (args, options = {}) -> + @verbose("Running HybridExecutable") + @verbose("installedWithDocker", @installedWithDocker) + @verbose("docker", @docker) + @verbose("docker.isInstalled", @docker and @docker.isInstalled) if @installedWithDocker and @docker and @docker.isInstalled return @runImage(args, options) super(args, options) @@ -430,7 +446,7 @@ class HybridExecutable extends Executable image, newArgs ], - options + Object.assign({}, options, { cmd: undefined }) ) ) diff --git a/src/beautifiers/php-cs-fixer.coffee b/src/beautifiers/php-cs-fixer.coffee index fc77677..02fdc58 100644 --- a/src/beautifiers/php-cs-fixer.coffee +++ b/src/beautifiers/php-cs-fixer.coffee @@ -105,7 +105,7 @@ module.exports = class PHPCSFixer extends Beautifier isPhpScript = (finalPhpCsFixerPath.indexOf(".phar") isnt -1) or (finalPhpCsFixerPath.indexOf(".php") isnt -1) @verbose('isPhpScript', isPhpScript) - if finalPhpCsFixerPath and isPhpScript + if not phpCsFixer.isInstalled and finalPhpCsFixerPath and isPhpScript php.run([finalPhpCsFixerPath, phpCsFixerOptions, tempFile], runOptions) .then(=> @readFile(tempFile)