From 888e5a2e755babde05002f507182201d1174fc7b Mon Sep 17 00:00:00 2001 From: arauin <amandus.rauin@rwth-aachen.de> Date: Wed, 4 Dec 2024 15:56:25 +0100 Subject: [PATCH] openjdk: add role to download/install openjdk 21 --- openjdk/defaults/main.yml | 3 +++ openjdk/tasks/main.yml | 34 ++++++++++++++++++++++++++++++++++ openjdk/templates/jdk21.sh.j2 | 0 openjdk/vars/main.yml | 2 ++ 4 files changed, 39 insertions(+) create mode 100644 openjdk/defaults/main.yml create mode 100644 openjdk/tasks/main.yml create mode 100644 openjdk/templates/jdk21.sh.j2 create mode 100644 openjdk/vars/main.yml diff --git a/openjdk/defaults/main.yml b/openjdk/defaults/main.yml new file mode 100644 index 0000000..7995277 --- /dev/null +++ b/openjdk/defaults/main.yml @@ -0,0 +1,3 @@ +--- +openjdk_download_url: "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.5%2B11/OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz" +openjdk_checksum: "sha256:3c654d98404c073b8a7e66bffb27f4ae3e7ede47d13284c132d40a83144bfd8c" diff --git a/openjdk/tasks/main.yml b/openjdk/tasks/main.yml new file mode 100644 index 0000000..f38a85e --- /dev/null +++ b/openjdk/tasks/main.yml @@ -0,0 +1,34 @@ +--- +# tasks/main.yml +- name: Download OpenJDK 21 + get_url: + url: "{{ openjdk_download_url }}" + dest: "/tmp/openjdk.tar.gz" + mode: "0644" + checksum: "{{ openjdk_checksum }}" + +- name: Ensure OpenJDK directory exists + file: + path: "{{ openjdk_dir }}" + state: directory + mode: "0755" + +- name: Extract OpenJDK archive + unarchive: + src: "/tmp/openjdk.tar.gz" + dest: "{{ openjdk_dir }}" + remote_src: true + extra_opts: + - --strip-components=1 # This removes the top-level directory + creates: "{{ openjdk_dir }}/bin/java" + +- name: Create Java environment script + template: + src: jdk21.sh.j2 + dest: /etc/profile.d/jdk21.sh + mode: "0644" + +- name: Set Java alternatives + alternatives: + name: java + path: "{{openjdk_dir}}/bin/java" diff --git a/openjdk/templates/jdk21.sh.j2 b/openjdk/templates/jdk21.sh.j2 new file mode 100644 index 0000000..e69de29 diff --git a/openjdk/vars/main.yml b/openjdk/vars/main.yml new file mode 100644 index 0000000..9b3fa6b --- /dev/null +++ b/openjdk/vars/main.yml @@ -0,0 +1,2 @@ +--- +openjdk_dir: "/usr/local/openjdk-21" -- GitLab