---
- name: install coverity-required debian packages
  apt:
    name:
      - curl
  tags: [coverity]

- name: check if coverity needs to be installed
  stat:
    path: "/opt/coverity/{{ coverity_version }}/"
  register: coverity_stat
  tags: [coverity]

- name: install coverity if required
  when: coverity_stat.stat.exists == False
  tags: [coverity]
  block:
    - name: copy coverity installer
      copy:
        src: "{{ coverity_installer_file }}"
        dest: "/tmp/{{ coverity_installer_file }}"
        mode: 0750
      register: coverity_copy
      ignore_errors: yes

    - name: create /opt/coverity/{{ coverity_version }}/
      file:
        path: /opt/coverity/{{ coverity_version }}/
        state: directory
      when: coverity_copy.failed == False

    - name: unpack coverity
      unarchive:
        src: "/tmp/{{ coverity_installer_file }}"
        dest: /opt/coverity/{{ coverity_version }}
        remote_src: yes
      when: coverity_copy.failed == False

    - name: create link /opt/coverity/current
      shell: rm -vf /opt/coverity/current && ln -svf /opt/coverity/{{ coverity_version }}/* /opt/coverity/current
      args:
        warn: false
      when: coverity_copy.failed == False

    - name: "Please download {{ coverity_installer_file }} to your ansible directory to allow ansible to install coverity"
      debug:
        msg: "Ansible can not find {{ coverity_installer_file }}"
      when: coverity_copy.failed
