summaryrefslogtreecommitdiff
path: root/bin/ansible-galaxy
diff options
context:
space:
mode:
authorWill Thames <will@thames.id.au>2014-08-14 20:20:10 +1000
committerMichael DeHaan <michael@ansible.com>2014-08-21 17:15:23 -0400
commitc2fe33f9f4ed527a47326464e414a5914ba656a0 (patch)
treeaca8ca20e0701aea8312eb70956a604e058642b9 /bin/ansible-galaxy
parentb550cb9bc36b966f223383e484debfda8a1c9b44 (diff)
downloadansible-c2fe33f9f4ed527a47326464e414a5914ba656a0.tar.gz
Tidied up a little, added tests
Moved repo_url_to_role_name to common method in ansible.utils Added unit test for repo_url_to_role_name Added integration tests for galaxy
Diffstat (limited to 'bin/ansible-galaxy')
-rwxr-xr-xbin/ansible-galaxy9
1 files changed, 5 insertions, 4 deletions
diff --git a/bin/ansible-galaxy b/bin/ansible-galaxy
index e35c4bef88..a5fd6e1ae6 100755
--- a/bin/ansible-galaxy
+++ b/bin/ansible-galaxy
@@ -40,6 +40,7 @@ from jinja2 import Environment
from optparse import OptionParser
import ansible.constants as C
+import ansible.utils
default_meta_template = """---
galaxy_info:
@@ -174,7 +175,7 @@ def build_option_parser(action):
help='The path in which the skeleton role will be created. '
'The default is the current working directory.')
elif action == "install":
- parser.set_usage("usage: %prog install [options] [-r FILE | role_name(s)[,version] | tar_file(s)]")
+ parser.set_usage("usage: %prog install [options] [-r FILE | role_name(s)[,version] | scm+role_repo_url[,version] | tar_file(s)]")
parser.add_option(
'-i', '--ignore-errors', dest='ignore_errors', action='store_true', default=False,
help='Ignore errors and continue with the next specified role.')
@@ -336,7 +337,7 @@ def scm_archive_role(scm, role_url, role_version):
print "SCM %s is not currently supported" % scm
return False
tempdir = tempfile.mkdtemp()
- role_name = role_url.split('/')[-1]
+ role_name = ansible.utils.repo_url_to_role_name(role_url)
clone_cmd = [scm, 'clone', role_url]
with open('/dev/null', 'w') as devnull:
popen = subprocess.Popen(clone_cmd, cwd=tempdir, stdout=devnull, stderr=devnull)
@@ -728,8 +729,8 @@ def execute_install(args, options, parser):
exit_without_ignore(options)
else:
if '+' in role_name:
- (scm, role_url) = role_name.split('+')
- role_name = role_name.split('/')[-1]
+ (scm, role_url) = role_name.split('+',1)
+ role_name = ansible.utils.repo_url_to_role_name(role_name)
# create tar file from scm url
tmp_file = scm_archive_role(scm, role_url, role_version)
role_data = None