---
- block:
    - name: Remove the accounting service app
      file: dest={{ item }} state=absent
      with_items:
        - '{{ smartgears_instance_path }}/webapps/{{ accounting_service_name }}'
        - '{{ smartgears_instance_path }}/webapps/{{ accounting_service_name }}.{{ accounting_service_extension }}'
      notify: Restart smartgears

  become: True
  become_user: '{{ smartgears_user }}'
  when: not accounting_service_install
  tags: [ 'smartgears', 'accounting_service', 'tomcat' ]

- block:
    - name: Get the accounting_service war
      maven_artifact: artifact_id={{ accounting_service_name }} version={{ accounting_service_version | default('latest') }} group_id={{ accounting_service_group_id }} extension={{ accounting_service_extension | default('war') }} repository_url={{ smartgears_global_base_url }} dest={{ smartgears_downloads_dir }}/{{ accounting_service_file }}
      register: accounting_download
  
    - name: Remove the old accounting service app
      file: dest={{ smartgears_instance_path }}/webapps/{{ accounting_service_name }} state=absent
      when: accounting_download is changed

    - name: Remove the accounting service library
      shell: rm -fr {{ smartgears_instance_path }}/lib/{{ accounting_service_library_name }}-*
      when: accounting_download is changed

    - name: Remove the accounting couchbase library if present
      shell: rm -fr {{ smartgears_instance_path }}/lib/{{ accounting_couchbase_library_name }}-*
      when: accounting_download is changed

    - name: Get the couchbase library
      maven_artifact: artifact_id={{ accounting_couchbase_library_name }} version={{ accounting_couchbase_library_version | default('latest') }} group_id={{ accounting_couchbase_library_group_id }} extension={{ accounting_couchbase_library_extension | default('war') }} repository_url={{ smartgears_global_base_url }} classifier={{ accounting_service_library_classifier }} dest={{ smartgears_instance_path }}/lib
      when: accounting_download is changed

    - name: Copy the accounting_service war file to the destination place
      copy: src={{ smartgears_downloads_dir }}/{{ accounting_service_file }} dest={{ smartgears_instance_path }}/webapps/{{ accounting_service_name }}.{{ accounting_service_extension }} remote_src=yes force=yes
      notify: Restart smartgears
      
  become: True
  become_user: '{{ smartgears_user }}'
  when: accounting_service_install
  tags: [ 'smartgears', 'accounting_service', 'tomcat' ]