Fix --include-dependencies parameter on RubyGems >= 2.0.0

This commit is contained in:
Andrew Dunham 2013-03-16 06:01:02 -04:00
parent 7672d683e3
commit 3808981d21

21
gem Normal file → Executable file
View file

@ -66,6 +66,16 @@ gem: name=rake gem_source=/path/to/gems/rake-1.0.gem state=present
import re import re
def get_rubygems_version(module):
cmd = [module.get_bin_path('gem', True), '--version']
(rc, out, err) = module.run_command(cmd, check_rc=True)
match = re.match(r'^(\d+)\.(\d+)\.(\d+)', out)
if not match:
return None
return tuple(int(x) for x in match.groups())
def get_installed_versions(module, remote=False): def get_installed_versions(module, remote=False):
cmd = [ module.get_bin_path('gem', True) ] cmd = [ module.get_bin_path('gem', True) ]
@ -118,14 +128,21 @@ def install(module):
if module.check_mode: if module.check_mode:
return return
ver = get_rubygems_version(module)
major = ver[0] if ver else None
cmd = [ module.get_bin_path('gem', True) ] cmd = [ module.get_bin_path('gem', True) ]
cmd.append('install') cmd.append('install')
if module.params['version']: if module.params['version']:
cmd.extend([ '--version', module.params['version'] ]) cmd.extend([ '--version', module.params['version'] ])
if module.params['repository']: if module.params['repository']:
cmd.extend([ '--source', module.params['repository'] ]) cmd.extend([ '--source', module.params['repository'] ])
if module.params['include_dependencies']: if not module.params['include_dependencies']:
cmd.append('--include-dependencies') cmd.append('--ignore-dependencies')
else:
if major and major < 2:
cmd.append('--include-dependencies')
cmd.append('--no-rdoc') cmd.append('--no-rdoc')
cmd.append('--no-ri') cmd.append('--no-ri')
cmd.append(module.params['gem_source']) cmd.append(module.params['gem_source'])