From 14556c36a6e8016a7e133f40d6d7bcbecf3c59b6 Mon Sep 17 00:00:00 2001 From: Andrea Dell'Amico Date: Thu, 25 Jan 2018 15:47:31 +0100 Subject: [PATCH] library/roles/smartgears/cmems_importer_se_plugin: The plugin is now a uber jar. --- .../defaults/main.yml | 8 +++-- .../cmems_importer_se_plugin/meta/main.yml | 5 +++ .../cmems_importer_se_plugin/tasks/main.yml | 33 ++++++++++++++----- .../cmems_importer_se_plugin/vars/main.yml | 3 ++ 4 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 smartgears/cmems_importer_se_plugin/meta/main.yml create mode 100644 smartgears/cmems_importer_se_plugin/vars/main.yml diff --git a/smartgears/cmems_importer_se_plugin/defaults/main.yml b/smartgears/cmems_importer_se_plugin/defaults/main.yml index 6e17c765..ed20bff3 100644 --- a/smartgears/cmems_importer_se_plugin/defaults/main.yml +++ b/smartgears/cmems_importer_se_plugin/defaults/main.yml @@ -6,7 +6,11 @@ cmems_importer_se_plugin_version: latest cmems_importer_se_plugin_group_id: 'org.gcube.dataanalysis' cmems_importer_se_plugin_name: 'cmems-importer-se-plugin' cmems_importer_se_plugin_extension: 'jar' -cmems_importer_se_plugin_classifier: 'jar-with-dependencies' -cmems_importer_se_plugin_file: '{{ cmems_importer_se_plugin_name }}-{{ cmems_importer_se_plugin_version }}-jar-with-dependencies.{{ cmems_importer_se_plugin_extension }}' +cmems_importer_se_plugin_classifier: 'uberjar' +cmems_importer_se_plugin_uber_file: '{{ cmems_importer_se_plugin_name }}-{{ cmems_importer_se_plugin_version }}-{{ cmems_importer_se_plugin_classifier }}.{{ cmems_importer_se_plugin_extension }}' +cmems_importer_se_plugin_file: '{{ cmems_importer_se_plugin_name }}-{{ cmems_importer_se_plugin_version }}.{{ cmems_importer_se_plugin_extension }}' + +catalina_apps_conf: + - { app_name: '{{ smart_executor_name }}', plugin_name: '{{ cmems_importer_se_plugin_name }}' } # Note: the deb package nco is required diff --git a/smartgears/cmems_importer_se_plugin/meta/main.yml b/smartgears/cmems_importer_se_plugin/meta/main.yml new file mode 100644 index 00000000..a9cd9b8f --- /dev/null +++ b/smartgears/cmems_importer_se_plugin/meta/main.yml @@ -0,0 +1,5 @@ +--- +dependencies: + - role: '../library/roles/smartgears/smart_executor' + - role: '../library/roles/smartgears/catalina-app-conf' + diff --git a/smartgears/cmems_importer_se_plugin/tasks/main.yml b/smartgears/cmems_importer_se_plugin/tasks/main.yml index cb0e2acf..252e0e46 100644 --- a/smartgears/cmems_importer_se_plugin/tasks/main.yml +++ b/smartgears/cmems_importer_se_plugin/tasks/main.yml @@ -1,7 +1,7 @@ --- - block: - - name: Remove the old cmems-importer plugin - shell: rm -f {{ smartgears_instance_path }}/webapps/{{ smart_executor_name }}/WEB-INF/lib/{{ cmems_importer_se_plugin_name }}-*-{{ cmems_importer_se_plugin_classifier }}.{{ cmems_importer_se_plugin_extension }} + - name: Remove the cmems-importer smart executor plugin + file: dest={{ smartgears_instance_path }}/webapps/{{ smart_executor_name }}/WEB-INF/lib/plugins/{{ cmems_importer_se_plugin_name }} state=absent notify: Restart smartgears become: True @@ -11,18 +11,33 @@ - block: - - name: Download the cmems-importer plugin - maven_artifact: artifact_id={{ cmems_importer_se_plugin_name }} version={{ cmems_importer_se_plugin_version | default('latest') }} group_id={{ cmems_importer_se_plugin_group_id }} extension={{ cmems_importer_se_plugin_extension }} repository_url={{ smartgears_global_base_url }} classifier={{ cmems_importer_se_plugin_classifier }} dest={{ smartgears_downloads_dir }}/{{ cmems_importer_se_plugin_file }} + - name: Download the cmems-importer plugin uber jar + maven_artifact: artifact_id={{ cmems_importer_se_plugin_name }} version={{ cmems_importer_se_plugin_version | default('latest') }} group_id={{ cmems_importer_se_plugin_group_id }} extension={{ cmems_importer_se_plugin_extension }} repository_url={{ smartgears_global_base_url }} classifier={{ cmems_importer_se_plugin_classifier }} dest={{ smartgears_downloads_dir }}/{{ cmems_importer_se_plugin_uber_file }} register: cmems_importer_download - - name: Remove the old cmems-importer plugin - shell: rm -f {{ smartgears_instance_path }}/webapps/{{ smart_executor_name }}/WEB-INF/lib/{{ cmems_importer_se_plugin_name }}-*-{{ cmems_importer_se_plugin_classifier }}.{{ cmems_importer_se_plugin_extension }} + - name: Remove the old cmems-importer smart executor plugin + file: dest={{ smartgears_instance_path }}/webapps/{{ smart_executor_name }}/WEB-INF/lib/plugins/{{ cmems_importer_se_plugin_name }} state=absent when: ( cmems_importer_download | changed ) notify: Restart smartgears - - name: Copy the cmems-importer plugin on the correct place - copy: src={{ smartgears_downloads_dir }}/{{ cmems_importer_se_plugin_file }} dest={{ smartgears_instance_path }}/webapps/{{ smart_executor_name }}/WEB-INF/lib/{{ cmems_importer_se_plugin_file }} remote_src=yes force=yes - when: ( cmems_importer_download | changed ) + - name: Create the plugin directory inside the smart executor + file: dest={{ smartgears_instance_path }}/webapps/{{ smart_executor_name }}/WEB-INF/lib/plugins/{{ cmems_importer_se_plugin_name }} state=directory + register: cmems_importer_create_dir + + - name: Unarchive the cmems-importer uber jar to expose its libraries + unarchive: src={{ smartgears_downloads_dir }}/{{ cmems_importer_se_plugin_uber_file }} dest={{ smartgears_instance_path }}/webapps/{{ smart_executor_name }}/WEB-INF/lib/plugins/{{ cmems_importer_se_plugin_name }}/ copy=no + when: (cmems_importer_create_dir | changed) + notify: Restart smartgears + + - name: Download the cmems-importer plugin jar file + maven_artifact: artifact_id={{ cmems_importer_se_plugin_name }} version={{ cmems_importer_se_plugin_version }} group_id={{ cmems_importer_se_plugin_group_id }} extension={{ cmems_importer_se_plugin_extension }} repository_url={{ smartgears_global_base_url }} dest={{ smartgears_instance_path }}/webapps/{{ smart_executor_name }}/WEB-INF/lib/plugins/{{ cmems_importer_se_plugin_name }} keep_name=yes + notify: Restart smartgears + + - name: Remove the Sis geotk uber jar org and META-INF directories + file: dest={{ smartgears_instance_path }}/webapps/{{ smart_executor_name }}/WEB-INF/lib/plugins/{{ cmems_importer_se_plugin_name }}/{{ item }} state=absent + with_items: + - org + - 'META-INF' notify: Restart smartgears - name: Install the nco package diff --git a/smartgears/cmems_importer_se_plugin/vars/main.yml b/smartgears/cmems_importer_se_plugin/vars/main.yml new file mode 100644 index 00000000..08e8192c --- /dev/null +++ b/smartgears/cmems_importer_se_plugin/vars/main.yml @@ -0,0 +1,3 @@ +--- +smart_executor_install: True +