From 55b98a0774561717663ca702c59c96bb13dee4ae Mon Sep 17 00:00:00 2001 From: Julian Gethmann Date: Fri, 10 Nov 2017 09:56:31 +0100 Subject: [PATCH] Make PyCharm role more idempotent --- roles/pycharm/tasks/main.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/roles/pycharm/tasks/main.yml b/roles/pycharm/tasks/main.yml index 246e4bd..6fe6fc2 100644 --- a/roles/pycharm/tasks/main.yml +++ b/roles/pycharm/tasks/main.yml @@ -1,16 +1,28 @@ --- +- name: check if PyCharm is installed + stat: + path: "/usr/local/pycharm/{{ pycharm_name | regex_replace('-professional') }}" + register: pycharm_installation + +- name: create temporary download directory + tempfile: + state: directory + register: tmpdir + when: not (pycharm_installation.stat.isdir is defined and pycharm_installation.stat.isdir) + - name: download PyCharm get_url: url: "https://download-cf.jetbrains.com/python/{{ pycharm_name }}.tar.gz" - dest: /tmp/pycharm.tar.gz + dest: "{{ tmpdir.path }}/pycharm.tar.gz" + when: tmpdir.changed -- name: create directory +- name: Create directory become: yes file: path: /usr/local/pycharm state: directory -- name: unarchive +- name: Unarchive become: yes unarchive: src: /tmp/pycharm.tar.gz @@ -18,7 +30,7 @@ remote_src: yes creates: "/usr/local/pycharm/{{ pycharm_name | regex_replace('-professional') }}" -- name: link PyCharm +- name: Link PyCharm become: yes file: mode: o+rx -- GitLab