config/roles/dev/tasks/clojure.yml

83 lines
2.4 KiB
YAML
Raw Normal View History

2025-10-14 16:32:01 +03:00
- name: Installing vscode (uncoded)
ansible.builtin.import_tasks: vscode.yml
# https://clojure.org/guides/install_clojure
- name: Installing clojure dependencies
become: true
ansible.builtin.dnf5:
name:
- java-latest-openjdk
- maven
- bash
- rlwrap
- curl
state: latest
- name: Installing leiningen
become: true
ansible.builtin.get_url:
url: "https://codeberg.org/leiningen/leiningen/raw/branch/stable/bin/lein"
dest: "{{ bin_install_path }}/lein"
mode: a+x
force: true
- name: Launching leiningen first time
ansible.builtin.command:
cmd: lein
changed_when: false
- name: Downloading vscode calva (clojure lsp) extension
ansible.builtin.get_url:
url: "https://open-vsx.org/api/betterthantomorrow/calva/2.0.536/file/betterthantomorrow.calva-2.0.536.vsix"
dest: "{{ ansible_env.HOME }}/.vscode_ext/calva-2.0.536.vsix"
mode: a
force: false
# TODO: does not work
# - name: "Installing vscode calva (clojure lsp) extension"
# ansible.builtin.command:
# cmd: "{{ ansible_env.HOME }}/.bin/code --install-extension {{ ansible_env.HOME }}/.vscode_ext/calva-2.0.536.vsix"
# changed_when: false
- name: Get latest clojure lsp version
community.general.github_release:
user: clojure-lsp
repo: clojure-lsp
action: latest_release
register: clojure_lsp_version
# TODO: or use java version instead ?
- name: Installing clojure lsp {{ clojure_lsp_version.tag }}
become: true
ansible.builtin.unarchive:
remote_src: true
src: "https://github.com/clojure-lsp/clojure-lsp/releases/download/{{ clojure_lsp_version.tag }}/clojure-lsp-native-linux-amd64.zip"
dest: "{{ bin_install_path }}/"
mode: a+x
keep_newer: true
# extra_opts:
# - --no-anchored
# - clojure-lsp
- name: Get latest babashka version
community.general.github_release:
user: babashka
repo: babashka
action: latest_release
register: babashka_version
# TODO: v in version ??
- name: Installing babashka {{ babashka_version.tag }}
become: true
ansible.builtin.unarchive:
remote_src: true
src: "https://github.com/babashka/babashka/releases/download/{{ babashka_version.tag }}/babashka-{{ babashka_version.tag[1:] }}-linux-amd64.tar.gz"
dest: "{{ bin_install_path }}/"
mode: a+x
keep_newer: true
extra_opts:
- --no-anchored
- bb
# NOTE: probably should add https://github.com/jank-lang/jank (build?)