config/roles/dev/tasks/truffle.yml
2025-08-22 18:26:22 +03:00

83 lines
2.4 KiB
YAML

- name: Getting programs list to check fish presence
ansible.builtin.package_facts:
manager: auto
- name: Creating truffle dir
ansible.builtin.file:
path: "{{ ansible_env.HOME }}/truffle"
state: directory
mode: a
# install tools
- name: Installing openjdk
become: true
ansible.builtin.dnf5:
name:
- java-latest-openjdk
- maven
state: latest
- name: Creating graalvm dir
ansible.builtin.file:
path: "{{ ansible_env.HOME }}/truffle/graalvm-23"
state: directory
mode: a
- name: Installing graalvm 23
ansible.builtin.unarchive:
remote_src: true
src: "https://download.oracle.com/graalvm/23/latest/graalvm-jdk-23_linux-x64_bin.tar.gz"
dest: "{{ ansible_env.HOME }}/truffle/graalvm-23"
mode: a
keep_newer: true
extra_opts: [--strip-components=1]
- name: Select graalvm as java
become: true
community.general.alternatives:
name: java
link: /usr/bin/java
path: "{{ ansible_env.HOME }}/truffle/graalvm-23/bin/java"
# NOTE: does not work properly (?)
# - name: Installing Intellij IDEA
# ansible.builtin.include_role:
# name: gantsign.intellij
# intellij idea
- name: Creating intellij idea dir
ansible.builtin.file:
path: "{{ ansible_env.HOME }}/idea"
state: directory
mode: a
- name: Installing intellij idea
ansible.builtin.unarchive:
remote_src: true
src: "https://github.com/JetBrains/intellij-community/releases/download/idea%2F2025.2/ideaIC-252.23892.409.tar.gz"
dest: "{{ ansible_env.HOME }}/idea"
extra_opts: [--strip-components=1]
- name: Updating fish path for intellil idea
ansible.builtin.shell: fish_add_path -m {{ ansible_env.HOME }}/idea/bin
args:
executable: /usr/bin/fish
changed_when: false
# - name: Running idea for the first time
# ansible.builtin.command:
# cmd: "{{ ansible_env.HOME }}/idea/bin/idea.sh"
# changed_when: false
# examples
- name: Clone simple language example
ansible.builtin.git:
repo: "https://github.com/graalvm/simplelanguage"
dest: "{{ ansible_env.HOME }}/truffle/simplelanguage"
version: master
- name: Clone truffle usage tutorial
ansible.builtin.git:
repo: "https://github.com/skinny85/graalvm-truffle-tutorial"
dest: "{{ ansible_env.HOME }}/truffle/graalvm-truffle-tutorial"
version: master
- name: Clone mumbler language example
ansible.builtin.git:
repo: "https://github.com/cesquivias/mumbler"
dest: "{{ ansible_env.HOME }}/truffle/mumbler"
version: master