Add back homebrew `install_options` parameter.

reviewable/pr18780/r1
Daniel Jaouen 11 years ago
parent d49602a9f8
commit 1b2d63e33c

@ -284,10 +284,13 @@ class Homebrew(object):
# /class properties -------------------------------------------- }}} # /class properties -------------------------------------------- }}}
def __init__(self, module, path=None, packages=None, state=None, def __init__(self, module, path=None, packages=None, state=None,
update_homebrew=False, ): update_homebrew=False, install_options=None):
if not install_options:
install_options = list()
self._setup_status_vars() self._setup_status_vars()
self._setup_instance_vars(module=module, path=path, packages=packages, self._setup_instance_vars(module=module, path=path, packages=packages,
state=state, update_homebrew=update_homebrew, ) state=state, update_homebrew=update_homebrew,
install_options=install_options, )
self._prep() self._prep()
@ -473,10 +476,12 @@ class Homebrew(object):
else: else:
head = None head = None
cmd = [opt opts = (
for opt in (self.brew_path, 'install', self.current_package, head) [self.brew_path, 'install']
if opt] + self.install_options
+ [self.current_package, head]
)
cmd = [opt for opt in opts if opt]
rc, out, err = self.module.run_command(cmd) rc, out, err = self.module.run_command(cmd)
if self._current_package_is_installed(): if self._current_package_is_installed():
@ -523,11 +528,13 @@ class Homebrew(object):
) )
raise HomebrewException(self.message) raise HomebrewException(self.message)
rc, out, err = self.module.run_command([ opts = (
self.brew_path, [self.brew_path, command]
command, + self.install_options
self.current_package, + [self.current_package]
]) )
cmd = [opt for opt in opts if opt]
rc, out, err = self.module.run_command(cmd)
if not self._current_package_is_outdated(): if not self._current_package_is_outdated():
self.changed_count += 1 self.changed_count += 1
@ -540,10 +547,13 @@ class Homebrew(object):
raise HomebrewException(self.message) raise HomebrewException(self.message)
def _upgrade_all_packages(self): def _upgrade_all_packages(self):
rc, out, err = self.module.run_command([ opts = (
self.brew_path, [self.brew_path, 'upgrade']
'upgrade', + self.install_options
]) )
cmd = [opt for opt in opts if opt]
rc, out, err = self.module.run_command(cmd)
if rc == 0: if rc == 0:
self.changed = True self.changed = True
self.message = 'All packages upgraded.' self.message = 'All packages upgraded.'
@ -584,10 +594,12 @@ class Homebrew(object):
) )
raise HomebrewException(self.message) raise HomebrewException(self.message)
cmd = [opt opts = (
for opt in (self.brew_path, 'uninstall', self.current_package) [self.brew_path, 'uninstall']
if opt] + self.install_options
+ [self.current_package]
)
cmd = [opt for opt in opts if opt]
rc, out, err = self.module.run_command(cmd) rc, out, err = self.module.run_command(cmd)
if not self._current_package_is_installed(): if not self._current_package_is_installed():
@ -627,10 +639,12 @@ class Homebrew(object):
) )
raise HomebrewException(self.message) raise HomebrewException(self.message)
cmd = [opt opts = (
for opt in (self.brew_path, 'link', self.current_package) [self.brew_path, 'link']
if opt] + self.install_options
+ [self.current_package]
)
cmd = [opt for opt in opts if opt]
rc, out, err = self.module.run_command(cmd) rc, out, err = self.module.run_command(cmd)
if rc == 0: if rc == 0:
@ -671,10 +685,12 @@ class Homebrew(object):
) )
raise HomebrewException(self.message) raise HomebrewException(self.message)
cmd = [opt opts = (
for opt in (self.brew_path, 'unlink', self.current_package) [self.brew_path, 'unlink']
if opt] + self.install_options
+ [self.current_package]
)
cmd = [opt for opt in opts if opt]
rc, out, err = self.module.run_command(cmd) rc, out, err = self.module.run_command(cmd)
if rc == 0: if rc == 0:
@ -717,6 +733,11 @@ def main():
aliases=["update-brew"], aliases=["update-brew"],
type='bool', type='bool',
), ),
install_options=dict(
default=None,
aliases=['options'],
type='list',
)
), ),
supports_check_mode=True, supports_check_mode=True,
) )
@ -746,9 +767,13 @@ def main():
state = 'absent' state = 'absent'
update_homebrew = p['update_homebrew'] update_homebrew = p['update_homebrew']
p['install_options'] = p['install_options'] or []
install_options = ['--{0}'.format(install_option)
for install_option in p['install_options']]
brew = Homebrew(module=module, path=path, packages=packages, brew = Homebrew(module=module, path=path, packages=packages,
state=state, update_homebrew=update_homebrew) state=state, update_homebrew=update_homebrew,
install_options=install_options)
(failed, changed, message) = brew.run() (failed, changed, message) = brew.run()
if failed: if failed:
module.fail_json(msg=message) module.fail_json(msg=message)

Loading…
Cancel
Save