mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 13:22:48 +00:00
Allow installation of roles from yaml roles file
Added docs Added more tests Improved how roles are returned from the parsers
This commit is contained in:
committed by
Michael DeHaan
parent
46b59b02ed
commit
ada9074276
@@ -187,7 +187,7 @@ class Play(object):
|
||||
raise errors.AnsibleError("expected a role name in dictionary: %s" % orig_path)
|
||||
role_vars = orig_path
|
||||
else:
|
||||
(scm, role_src, role_version, role_name) = utils.role_spec_parse(orig_path)
|
||||
role_name = utils.role_spec_parse(orig_path)["name"]
|
||||
|
||||
role_path = None
|
||||
|
||||
@@ -412,8 +412,7 @@ class Play(object):
|
||||
if isinstance(role, dict):
|
||||
role_name = role['role']
|
||||
else:
|
||||
role_name = role
|
||||
(scm, role_src, role_version, role_name) = utils.role_spec_parse(role_name)
|
||||
role_name = utils.role_spec_parse(role)["name"]
|
||||
|
||||
role_names.append(role_name)
|
||||
if os.path.isfile(task):
|
||||
|
||||
@@ -380,7 +380,17 @@ def role_spec_parse(role_spec):
|
||||
role_name = tokens[2]
|
||||
else:
|
||||
role_name = repo_url_to_role_name(tokens[0])
|
||||
return (scm, role_url, role_version, role_name)
|
||||
return dict(scm=scm, src=role_url, version=role_version, name=role_name)
|
||||
|
||||
|
||||
def role_yaml_parse(role):
|
||||
if '+' in role["src"]:
|
||||
(scm, src) = role["src"].split('+')
|
||||
role["scm"] = scm
|
||||
role["src"] = src
|
||||
if 'name' not in role:
|
||||
role["name"] = repo_url_to_role_name(role["src"])
|
||||
return role
|
||||
|
||||
|
||||
def json_loads(data):
|
||||
|
||||
Reference in New Issue
Block a user