Files
env-ansible/tasks/workstation/linux/software/java.yml
T

75 lines
2.0 KiB
YAML

---
# 20260912 - Hyperling
# Arch has too new of Java for Android / Gradle to even run AGP Assistant on.
- name: Workstation | Linux | Software | Java | Facts
ansible.builtin.set_fact:
jdk_version: 21
jdk_src: /usr/lib/jvm/default-java
jdk_dir: ~/SDKs/Java
jdk_path: ~/SDKs/Java/bin
- name: Workstation | Linux | Software | Java | apt
ansible.builtin.package:
name:
- "default-jdk"
state: present
when: ansible_pkg_mgr == 'apt"
- name: Workstation | Linux | Software | Java | pacman
block:
- name: Workstation | Linux | Software | Java | pacman | Facts
ansible.builtin.set_fact:
jdk_src: /usr/lib/jvm/default
- name: Workstation | Linux | Software | Java | pacman | Install [base]
ansible.builtin.package:
name:
- "jdk{{ jdk_version }}-openjdk"
state: present
- name: Workstation | Linux | Software | Java | pacman | Install [all]
ansible.builtin.package:
name:
- "jdk{{ item }}-openjdk"
state: present
loop:
- 25
- 21
- 17
when: coding
- name: Workstation | Linux | Software | Java | pacman | Set
ansible.builtin.shell: "archlinux-java set java-{{ jdk_version }}-openjdk"
register: shell_check
changed_when: shell_check.rc == 0
when: ansible_pkg_mgr == "pacman"
- name: Workstation | Linux | Software | Java | pacman | Link
ansible.builtin.file:
src: "{{ jdk_src }}"
dest: "{{ jdk_dir }}"
state: link
become: true
become_user: "{{ user }}"
- name: Workstation | Linux | Software | Java | Modify PATH (profiles)
ansible.builtin.blockinfile:
path: "{{ user_user.home }}/{{ item }}"
block: |
export JAVA_HOME="{{ jdk_dir }}"
export JAVA_PATH="{{ jdk_path }}"
export PATH="$JAVA_PATH:$PATH
marker: '# {mark} MANAGED BY ANSIBLE | Java'
state: present
create: true
backup: true
mode: "0755"
loop:
- ".bash_profile"
- ".zprofile"
- ".profile"
when: user_user.home != ""