120 lines
2.4 KiB
YAML
120 lines
2.4 KiB
YAML
---
|
|
- name: Starting setup project.
|
|
ansible.builtin.debug:
|
|
msg: "Project dir: {{ project_dir }}"
|
|
tags:
|
|
- always
|
|
|
|
- name: Debug template vars pre parse.
|
|
ansible.builtin.debug:
|
|
var: template
|
|
tags:
|
|
- debug
|
|
- never
|
|
|
|
- name: Debug build dir.
|
|
ansible.builtin.debug:
|
|
var: build_dir
|
|
tags:
|
|
- debug
|
|
- never
|
|
|
|
- name: Parse template facts.
|
|
ansible.builtin.include_role:
|
|
name: "prepare-template-facts"
|
|
tags:
|
|
- setup-project
|
|
- never
|
|
|
|
|
|
- name: Debug template path post parse.
|
|
ansible.builtin.debug:
|
|
var: template_dir
|
|
tags:
|
|
- debug
|
|
- never
|
|
|
|
- name: Ensure output directory exists.
|
|
ansible.builtin.file:
|
|
path: "{{ project_dir }}"
|
|
state: directory
|
|
tags:
|
|
- setup-project
|
|
- never
|
|
|
|
- name: Load template vars.
|
|
ansible.builtin.include_role:
|
|
name: "load-template-vars"
|
|
tags:
|
|
- setup-project
|
|
- never
|
|
|
|
- name: Debug on_setup.
|
|
ansible.builtin.debug:
|
|
msg: "On setup vars: {{ copy_on_setup }}"
|
|
tags:
|
|
- debug
|
|
- never
|
|
|
|
- name: Debug copy directory contents.
|
|
ansible.builtin.debug:
|
|
var: copy_directory_on_setup
|
|
tags:
|
|
- debug
|
|
- never
|
|
|
|
- name: Check if project has been previously setup.
|
|
ansible.builtin.stat:
|
|
path: "{{ project_dir }}/.setup"
|
|
register: setup_file
|
|
tags:
|
|
- setup-project
|
|
- never
|
|
|
|
- name: Debug setup file stat.
|
|
ansible.builtin.debug:
|
|
var: setup_file.exists
|
|
tags:
|
|
- debug
|
|
- never
|
|
|
|
- name: Copy directory contents to project directory.
|
|
ansible.builtin.command: |
|
|
cp -r "{{ template_dir }}/{{ item.src | default(item) }}/." \
|
|
"{{ item.dest | default(project_dir) }}"
|
|
with_items: "{{ copy_directory_on_setup }}"
|
|
when: setup_file.stat.exists is false
|
|
register: copy_directory_stat
|
|
tags:
|
|
- setup-project
|
|
- never
|
|
|
|
- name: Debug copy directory stat.
|
|
ansible.builtin.debug:
|
|
var: copy_directory_stat
|
|
tags:
|
|
- debug
|
|
- never
|
|
|
|
- name: Copy project files.
|
|
ansible.builtin.include_tasks:
|
|
file: "copy_if_not_exists.yml"
|
|
vars:
|
|
source: "{{ template_dir }}/{{ item.src | default(item) }}"
|
|
destination: "{{ project_dir }}/{{ item.dest | default(item) }}"
|
|
mode: "{{ item.mode | default('0600') }}"
|
|
loop: "{{ copy_on_setup }}"
|
|
tags:
|
|
- setup-project
|
|
- never
|
|
|
|
- name: Create setup file.
|
|
ansible.builtin.template:
|
|
src: "templates/setup.txt"
|
|
dest: "{{ project_dir }}/.setup"
|
|
mode: '0600'
|
|
when: not setup_file.stat.exists
|
|
tags:
|
|
- setup-project
|
|
- never
|