---
# See https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1070
# and https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/1ab507349c752042d26def3e95884f6df8886b74#commitcomment-51108407
- name: Fail if trying to self-build on Ansible < 2.8
  ansible.builtin.fail:
    msg: "To self-build the matrix-appservice-irc image, you should use Ansible 2.8 or higher. See docs/ansible.md"
  when: "ansible_version.major == 2 and ansible_version.minor < 8 and matrix_appservice_irc_container_image_self_build and matrix_appservice_irc_enabled"

# If the matrix-synapse role is not used, `matrix_synapse_role_executed` won't exist.
# We don't want to fail in such cases.
- name: Fail if matrix-synapse role already executed
  ansible.builtin.fail:
    msg: >-
      The matrix-bridge-appservice-irc role needs to execute before the matrix-synapse role.
  when: "matrix_appservice_irc_enabled | bool and matrix_synapse_role_executed | default(False)"

- ansible.builtin.set_fact:
    matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-appservice-irc.service'] }}"
  when: matrix_appservice_irc_enabled | bool

# If the matrix-synapse role is not used, these variables may not exist.
- ansible.builtin.set_fact:
    matrix_homeserver_container_runtime_injected_arguments: >
      {{
        matrix_homeserver_container_runtime_injected_arguments | default([])
        +
        ["--mount type=bind,src={{ matrix_appservice_irc_config_path }}/registration.yaml,dst=/matrix-appservice-irc-registration.yaml,ro"]
      }}

    matrix_homeserver_app_service_runtime_injected_config_files: >
      {{
        matrix_homeserver_app_service_runtime_injected_config_files | default([])
        +
        ["/matrix-appservice-irc-registration.yaml"]
      }}
  when: matrix_appservice_irc_enabled | bool
