--- # 20260912 - Hyperling # Arch has too new of Java for Android / Gradle to even run AGP Assistant on. - name: Workstation | Linux | Software | Java | Facts 1 ansible.builtin.set_fact: jdk_version: 17 jdk_jvm: /usr/lib/jvm jdk_src: /usr/lib/jvm/default-java jdk_dir: "{{ user_user.home}}/SDKs/Java" - name: Workstation | Linux | Software | Java | Facts 2 ansible.builtin.set_fact: jdk_path: "{{ jdk_dir }}/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 != ""