# Test code for the iso_extract module.
# (c) 2017, James Tanner <tanner.jc@gmail.com>
# (c) 2017, Dag Wieers <dag@wieers.com>

# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible.  If not, see <http://www.gnu.org/licenses/>.

- name: Gather facts
  setup:
  become: yes

- name: Include distribution specific variables
  include_vars: "{{ lookup('first_found', params) }}"
  vars:
    params:
      files:
        - "{{ ansible_facts.distribution }}.yml"
        - "{{ ansible_facts.os_family }}.yml"
        - default.yml
      paths:
        - "{{ role_path }}/vars"

- name: "{{ ansible_facts.os_family | upper }} | Install 7zip package"
  action: "{{ ansible_facts.pkg_mgr }}"
  args:
    name: "{{ iso_extract_7zip_package }}"
    state: present
  when: ansible_facts.distribution != 'MacOSX'

- name: macOS
  when: ansible_facts.distribution == 'MacOSX'
  block:
    - name: MACOS | Find brew binary
      command: which brew
      register: brew_which
      when: ansible_distribution in ['MacOSX']

    - name: MACOS | Get owner of brew binary
      stat:
        path: "{{ brew_which.stdout }}"
      register: brew_stat
      when: ansible_distribution in ['MacOSX']

    - name: MACOS | Install 7zip package
      homebrew:
        name: p7zip
        state: present
        update_homebrew: no
      become: yes
      become_user: "{{ brew_stat.stat.pw_name }}"
      # Newer versions of brew want to compile a package which takes a long time. Do not upgrade homebrew until a
      # proper solution can be found
      environment:
        HOMEBREW_NO_AUTO_UPDATE: True
