cat <<END > ./hostslocalhost ansible_python_interpreter=/usr/bin/python2END
mkdir -p ./roles/role0/metacat <<END > ./roles/role0/meta/main.yaml---
dependencies: - role: role2 c: "{{ a }}" when: not skip_in_role1END
mkdir -p ./roles/role1/metacat <<END > ./roles/role1/meta/main.yaml---
dependencies: - role: role2 c: "{{ b }}"END
mkdir -p ./roles/role2/metacat <<END > ./roles/role2/meta/main.yaml---
dependencies: - role: role3 d: "{{ c }}"END
mkdir -p ./roles/role2/taskscat <<END > ./roles/role2/tasks/main.yaml---
- debug: msg: Hello from role2END
mkdir -p ./roles/role3/taskscat <<END > ./roles/role3/tasks/main.yaml---
- debug: msg: Hi from {{ d }}END
cat <<END > ./site.yaml---
- hosts: localhost gather_facts: false connection: local vars: skip_in_role1: false roles: - role: role0 a: role0 branch - role: role1 b: role1 branchENDPLAY [localhost] **************************************************************
TASK: [role3 | debug ] ********************************************************
ok: [localhost] => { "msg": "Hi from role0 branch"}
TASK: [role2 | debug ] ********************************************************
ok: [localhost] => { "msg": "Hello from role2"}
TASK: [role2 | debug ] ********************************************************
ok: [localhost] => { "msg": "Hello from role2"}
PLAY RECAP ******************************************************************** localhost : ok=3 changed=0 unreachable=0 failed=0PLAY [localhost] **************************************************************
TASK: [role3 | debug ] ******************************************************** skipping: [localhost]
TASK: [role2 | debug ] ******************************************************** skipping: [localhost]
TASK: [role2 | debug ] ********************************************************
ok: [localhost] => { "msg": "Hello from role2"}
PLAY RECAP ******************************************************************** localhost : ok=1 changed=0 unreachable=0 failed=0