mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
homebrew_tap: Add support for brew search path (#1708)
* homebrew_tap: Add support for brew search path User can specify search path for brew executable. Fixes: #1702 Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com> * Change version Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
9c648c8e3a
commit
d0f097c871
2 changed files with 20 additions and 3 deletions
2
changelogs/fragments/1702_homebrew_tap.yml
Normal file
2
changelogs/fragments/1702_homebrew_tap.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
minor_changes:
|
||||||
|
- homebrew_tap - add support to specify search path for ``brew`` executable (https://github.com/ansible-collections/community.general/issues/1702).
|
|
@ -45,6 +45,12 @@ options:
|
||||||
required: false
|
required: false
|
||||||
default: 'present'
|
default: 'present'
|
||||||
type: str
|
type: str
|
||||||
|
path:
|
||||||
|
description:
|
||||||
|
- "A ':' separated list of paths to search for C(brew) executable."
|
||||||
|
default: '/usr/local/bin:/opt/homebrew/bin'
|
||||||
|
type: path
|
||||||
|
version_added: '2.1.0'
|
||||||
requirements: [ homebrew ]
|
requirements: [ homebrew ]
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
@ -127,7 +133,7 @@ def add_tap(module, brew_path, tap, url=None):
|
||||||
|
|
||||||
def add_taps(module, brew_path, taps):
|
def add_taps(module, brew_path, taps):
|
||||||
'''Adds one or more taps.'''
|
'''Adds one or more taps.'''
|
||||||
failed, unchanged, added, msg = False, 0, 0, ''
|
failed, changed, unchanged, added, msg = False, False, 0, 0, ''
|
||||||
|
|
||||||
for tap in taps:
|
for tap in taps:
|
||||||
(failed, changed, msg) = add_tap(module, brew_path, tap)
|
(failed, changed, msg) = add_tap(module, brew_path, tap)
|
||||||
|
@ -182,7 +188,7 @@ def remove_tap(module, brew_path, tap):
|
||||||
|
|
||||||
def remove_taps(module, brew_path, taps):
|
def remove_taps(module, brew_path, taps):
|
||||||
'''Removes one or more taps.'''
|
'''Removes one or more taps.'''
|
||||||
failed, unchanged, removed, msg = False, 0, 0, ''
|
failed, changed, unchanged, removed, msg = False, False, 0, 0, ''
|
||||||
|
|
||||||
for tap in taps:
|
for tap in taps:
|
||||||
(failed, changed, msg) = remove_tap(module, brew_path, tap)
|
(failed, changed, msg) = remove_tap(module, brew_path, tap)
|
||||||
|
@ -211,14 +217,23 @@ def main():
|
||||||
name=dict(aliases=['tap'], type='list', required=True, elements='str'),
|
name=dict(aliases=['tap'], type='list', required=True, elements='str'),
|
||||||
url=dict(default=None, required=False),
|
url=dict(default=None, required=False),
|
||||||
state=dict(default='present', choices=['present', 'absent']),
|
state=dict(default='present', choices=['present', 'absent']),
|
||||||
|
path=dict(
|
||||||
|
default="/usr/local/bin:/opt/homebrew/bin",
|
||||||
|
required=False,
|
||||||
|
type='path',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
path = module.params['path']
|
||||||
|
if path:
|
||||||
|
path = path.split(':')
|
||||||
|
|
||||||
brew_path = module.get_bin_path(
|
brew_path = module.get_bin_path(
|
||||||
'brew',
|
'brew',
|
||||||
required=True,
|
required=True,
|
||||||
opt_dirs=['/usr/local/bin', '/opt/homebrew/bin']
|
opt_dirs=path,
|
||||||
)
|
)
|
||||||
|
|
||||||
taps = module.params['name']
|
taps = module.params['name']
|
||||||
|
|
Loading…
Reference in a new issue