truffle dev role

This commit is contained in:
ProgramSnail 2025-08-14 11:46:10 +03:00
parent a12979cfe8
commit 7b79956b12
2 changed files with 50 additions and 1 deletions

View file

@ -29,4 +29,6 @@
ansible.builtin.import_tasks: lang.yml
when: "'lang' in tools"
# TODO: ocaml, truffle ...
- name: Truffle development environment
ansible.builtin.import_tasks: truffle.yml
when: "'truffle' in tools"

View file

@ -0,0 +1,47 @@
- name: Create truffle dir
ansible.builtin.file:
path: "{{ ansible_env.HOME }}/truffle"
state: directory
mode: a
# install tools
- name: Install openjdk
ansible.builtin.dnf5:
name:
- java-latest-openjdk
- maven
state: latest
- 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"
mode: a
keep_newer: true
- name: Select graalvm as java
community.general.alternatives:
name: java
path: "{{ ansible_env.HOME }}/truffle/graalvm-jdk-23.0.2+7.1/jre/bin/java"
- name: Install Intellij IDEA
ansible.builtin.include_role:
name: gantsign.intellij
# 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