---
{%- from "pycharm/map.jinja" import pycharm with context %}
pycharm-archive-extract:
  archive.extracted:
    - name: {{ pycharm.release_dir }}
    - source: {{ pycharm.mirror }}/pycharm-community-{{ pycharm.version }}.tar.gz
    - source_hash: {{ pycharm.mirror }}/pycharm-community-{{ pycharm.version }}.tar.gz.sha256
    - archive_format: tar
    - enforce_toplevel: false
    - if_missing: {{ pycharm.release_dir }}/pycharm-community-{{ pycharm.version }}
    - watch:
      - file: pycharm-link
      - file: pycharm-shortcut

pycharm-link:
  file.symlink:
    - name: {{ pycharm.install_dir }}/pycharm
    - target: {{ pycharm.release_dir }}/pycharm-community-{{ pycharm.version }}
    - force: true

pycharm-shortcut:
  file.managed:
    - name: /usr/share/applications/jetbrains-pycharm-ce.desktop
    - source: salt://pycharm/jetbrains-pycharm-ce.desktop.j2
    - template: jinja
    - user: root
    - group: root
    - mode: 644

pycharm-cleanup:
  software.cleanup:
    - name: pycharm-community
    - path: {{ pycharm.release_dir }}
    - version: "{{ pycharm.version }}"