---
- name: Check current docker-compose version.
  command: "{{ docker_compose_path }} --version"
  register: docker_compose_vsn
  check_mode: false
  changed_when: false
  failed_when: false

- set_fact:
    docker_compose_current_version: "{{ docker_compose_vsn.stdout | regex_search('(\\d+(\\.\\d+)+)') }}"
  when: >
    docker_compose_vsn.stdout is defined
    and (docker_compose_vsn.stdout | length > 0)

- name: Delete existing docker-compose version if it's different.
  file:
    path: "{{ docker_compose_path }}"
    state: absent
  when: >
    docker_compose_current_version is defined
    and (docker_compose_version | regex_replace('v', '')) not in docker_compose_current_version

- name: Install Docker Compose (if configured).
  get_url:
    url: "{{ docker_compose_url }}"
    dest: "{{ docker_compose_path }}"
    mode: 0755
  when: >
    (docker_compose_current_version is not defined)
    or (docker_compose_current_version | length == 0)
    or (docker_compose_current_version is version((docker_compose_version | regex_replace('v', '')), '<'))
