--- - name: Starting setup project. ansible.builtin.debug: msg: "Output dir: {{ output_dir }}" - name: Ensure output directory exists. ansible.builtin.file: path: "{{ output_dir }}" state: directory - name: Ensure repo. ansible.builtin.git: repo: "{{ template_dir.repo.url }}" dest: "{{ template_dir.path }}" version: "{{ template_dir.repo.version | default('main') }}" when: template_dir.repo.url is defined - name: Check for repo vars directory. ansible.builtin.stat: path: "{{ template_dir.path }}/{{ template_dir.vars }}" register: repo_vars - name: Load repo vars if available. ansible.builtin.include_vars: dir: "{{ template_dir.path }}/{{ template_dir.vars }}" when: repo_vars.stat.isdir is defined - name: Debug on_setup. ansible.builtin.debug: msg: "On setup vars: {{ copy_on_setup }}" tags: - debug - never - name: Copy project files. ansible.builtin.include_tasks: file: "copy_if_not_exists.yml" vars: source: "{{ template_dir.path }}/{{ item }}" destination: "{{ output_dir }}/{{ item }}" mode: '0600' with_items: "{{ copy_on_setup }}"