Allow executable to contain spaces

NVM has a special script which loads the correct node version before executing a command.
The syntax for this is `/usr/local/nvm/nvm-exec ...`, so `nvm-exec npm list --json` for example.
But previously when specifying `executable='/usr/local/nvm/nvm-exec nvm'` this would not work because the string was treated as one executable.
This commit is contained in:
Koen Punt 2014-06-17 01:31:24 +02:00
parent 4be33b6a63
commit 2748095a8e

View file

@ -113,9 +113,9 @@ class Npm(object):
self.production = kwargs['production'] self.production = kwargs['production']
if kwargs['executable']: if kwargs['executable']:
self.executable = kwargs['executable'] self.executable = kwargs['executable'].split(' ')
else: else:
self.executable = module.get_bin_path('npm', True) self.executable = [module.get_bin_path('npm', True)]
if kwargs['version']: if kwargs['version']:
self.name_version = self.name + '@' + self.version self.name_version = self.name + '@' + self.version
@ -124,7 +124,7 @@ class Npm(object):
def _exec(self, args, run_in_check_mode=False, check_rc=True): def _exec(self, args, run_in_check_mode=False, check_rc=True):
if not self.module.check_mode or (self.module.check_mode and run_in_check_mode): if not self.module.check_mode or (self.module.check_mode and run_in_check_mode):
cmd = [self.executable] + args cmd = self.executable + args
if self.glbl: if self.glbl:
cmd.append('--global') cmd.append('--global')