--- - name: Install OracleJava hosts: "localhost" vars: arch: '' orajdk: type: 'jdk' version: 8 upd: '' dlfolder: /tmp platform: "{{ arch }}" state: "present" #tar_gz: 'tar.gz' os_type: 'linux' ### Oracle site, var for concatenate url http://www.oracle.com oracle_site: "http://www.oracle.com" ### Url for get list current versions and link to archive oracle_download_link: "http://www.oracle.com/technetwork/java/javase/downloads/index.html" ### Regexp for get url to download page for current versions java_latest_release: "/technetwork/java/javase/downloads/{{ orajdk.type|default('jdk') }}{{ orajdk.version }}-downloads-.*\.html" ### Regexp for get url to page with list archive versions java_archives: "/technetwork/java/javase/archive-.*\.html" ### Regexp for get url to download page with list archive version java_archive_versions: "/technetwork/java/javase/downloads/java-archive-(downloads-)?javase{{ java_version}}.*\.html" ### Regexp for get download url search_package: "http://download.oracle.com/otn-pub/java/.*{{ orajdk.type|default('jdk') }}.*u{{ orajdk.upd }}.*{{ os_type|default('linux') }}.*{{ orajdk.arch | default('(x|amd)64') }}.*{{ tar_gz | default('\.rpm') }}(\.bin)?" tasks: - name: Get list current versions and link to archive get_url: url: "{{ oracle_download_link }}" headers: 'Cookie:oraclelicense=accept-securebackup-cookie' register: oracle_download_link_data - name: Search url for latest release set_fact: java_latest_download_link: "{{ oracle_download_link_data.content|regex_search(java_latest_release) }}" when: (orajdk.version|int) >= 8 - name: Search url for archives set_fact: java_archives_link: "{{ oracle_download_link_data.content|regex_search(java_archives) }}" when: java_latest_download_link == '' - name: Get list archive versions get_url: url: "{{ oracle_site }}{{ java_archives_link }}" headers: 'Cookie:oraclelicense=accept-securebackup-cookie' register: java_archives_link_data when: java_latest_download_link == '' - name: Search url for archive releases for our version set_fact: java_archive_version_link: "{{ java_archives_link_data.content|regex_search(java_archive_versions) }}" when: java_latest_download_link == '' - name: Get list archive versions get_url: url: "{{ oracle_site }}{{ java_archives_link }}" headers: 'Cookie:oraclelicense=accept-securebackup-cookie' register: java_archives_link_data when: java_latest_download_link == '' - name: Get finish page get_url: url: "{{ oracle_site }}{% if java_latest_download_link != '' %}{{ java_archive_download_link }}{% else %}{{ java_latest_download_link }}{% endif %}" headers: 'Cookie:oraclelicense=accept-securebackup-cookie' register: java_download_link_data - name: Search package set_fact: package_name: "{{ java_download_link_data.content|regex_search(search_package) }}" when: java_latest_download_link == '' - name: Download java get_url: url: "{{ package_name }}" dest: "{{ orajdk.dlfolder }}/{{ orajdk.type|default('jdk') }}-{{ orajdk.version }}u{{ orajdk.upd }}-{{os_type|default('linux')}}-{{ arch | default('(x|amd)64') }}{{ tar_gz | default('.rpm') }}" headers: 'Cookie:oraclelicense=accept-securebackup-cookie' - name: Manage java package package: name: "{{ orajdk.dlfolder }}/{{ orajdk.type|default('jdk') }}-{{ orajdk.version }}u{{ orajdk.upd }}-{{os_type|default('linux')}}-{{ arch | default('(x|amd)64') }}{{ tar_gz | default('.rpm') }}" state: "{{ state }}" - name: Creates /etc/profile.d/java.sh copy: dest: /etc/profile.d/java.sh content: "export JAVA_HOME=$(readlink -f /usr/bin/java | sed 's:/bin/java::')\n" owner: root group: root mode: '0755' - name: Find /var/log files equal or greater than 10 megabytes ending with .old or .log.gz find: paths: /usr/java patterns: "{{ orajdk.type|default('jdk') }}.*{{ orajdk.version }}.*{{ orajdk.upd }}.*{{ orajdk.platform }}" file_type: directory use_regex: yes register: java_paths - name: Manage java in alternatives alternatives: link: /usr/bin/java name: java path: "{{ java_paths }}/bin/java"