50 lines
1.1 KiB
YAML
50 lines
1.1 KiB
YAML
|
- name: "Get IntelliJ version"
|
||
|
uri:
|
||
|
url: https://data.services.jetbrains.com/products/releases?code=IIU
|
||
|
body_format: json
|
||
|
register: idea_info
|
||
|
|
||
|
- name: Create temp dir
|
||
|
file:
|
||
|
path: "{{ tmp_dir }}"
|
||
|
state: directory
|
||
|
|
||
|
- name: "Download IntelliJ Ultimate"
|
||
|
become: yes
|
||
|
unarchive:
|
||
|
src: "{{ idea_info.json | json_query('IIU[0].downloads.linux.link') }}"
|
||
|
dest: "{{ tmp_dir }}"
|
||
|
remote_src: yes
|
||
|
|
||
|
- name: get folder name
|
||
|
shell: ls "{{ tmp_dir }}"
|
||
|
register: dir_name
|
||
|
|
||
|
- name: Check if old version exists
|
||
|
stat:
|
||
|
path: "{{idea_dir}}"
|
||
|
register: intellij_dir
|
||
|
|
||
|
- name: Move old version if available
|
||
|
become: yes
|
||
|
command: mv {{idea_dir}} {{idea_dir}}-{{local_intellij_version}}
|
||
|
when:
|
||
|
- intellij_dir.stat.exists
|
||
|
|
||
|
- name: Copy to final directory
|
||
|
become: yes
|
||
|
command: "cp -ra {{ tmp_dir }}/{{ dir_name.stdout }} {{ idea_dir }}"
|
||
|
|
||
|
- name: Remove temp directory
|
||
|
become: yes
|
||
|
file:
|
||
|
path: "{{ tmp_dir }}"
|
||
|
state: absent
|
||
|
|
||
|
- name: Create symbolic link
|
||
|
become: yes
|
||
|
file:
|
||
|
src: "/opt/idea/bin/idea.sh"
|
||
|
dest: "/usr/local/bin/idea"
|
||
|
state: link
|