|
4 | 4 | # Task file to install Oracle Java Development Kit in a system with a Redhat based Linux distribution. |
5 | 5 | # |
6 | 6 |
|
| 7 | +- name: get latest JDK download page |
| 8 | + uri: |
| 9 | + url: http://www.oracle.com/technetwork/java/javase/downloads/index.html |
| 10 | + return_content: yes |
| 11 | + register: result |
| 12 | + |
| 13 | +- name: determine latest java download page and version |
| 14 | + set_fact: latest_java_page_and_version="{{ (result.content.replace('\n','')|regex_replace('.*(/technetwork/java/javase/downloads/jdk(\d+)-downloads.*?.html).*', 'http://www.oracle.com/\1\n\2')).split('\n') }}" |
| 15 | + |
| 16 | +- name: define download page URL based on latest version |
| 17 | + set_fact: download_page_url="{{ latest_java_page_and_version[0] }}" |
| 18 | + when: "{{ latest_java_page_and_version[1]|version_compare(oracle_java_version,'=') }}" |
| 19 | + |
| 20 | +- block: |
| 21 | + |
| 22 | + - name: get lastest JDK rpm url |
| 23 | + uri: url="{{ result.content.replace('\n','')|regex_replace('.*(/technetwork/java/javase/archive-.*?.html).*','http://www.oracle.com/\1') }}" |
| 24 | + return_content=yes |
| 25 | + register: result |
| 26 | + |
| 27 | + - name: define download page URL for "{{ oracle_java_version }}" |
| 28 | + set_fact: download_page_url="{{ result.content|regex_search('href=\"[^\"]+\">Java SE\s+' + (oracle_java_version|string) + '\s?<')|regex_replace('.*href=\"([^\"]+)\".*','http://www.oracle.com/\1') }}" |
| 29 | + |
| 30 | + when: "{{ latest_java_page_and_version[1]|version_compare(oracle_java_version,'!=') and oracle_java_version }}" |
| 31 | + |
| 32 | +- name: show download page URL |
| 33 | + debug: msg="{{ download_page_url }}" |
| 34 | + |
| 35 | +- name: get lastest JDK rpm url |
| 36 | + uri: url="{{ download_page_url }}" |
| 37 | + return_content=yes |
| 38 | + register: result |
| 39 | + |
| 40 | +- name: set oracle_java_rpm_url |
| 41 | + set_fact: oracle_java_rpm_url="{{ result.content|regex_search('https?://download.oracle.com/.*?/jdk-\w+-linux-' + oracle_java_ansible_arch_mappings[ansible_architecture] + '.rpm') }}" |
| 42 | + |
| 43 | +- name: set some variables |
| 44 | + set_fact: oracle_java_rpm_filename="{{ oracle_java_rpm_url | basename }}" |
| 45 | + oracle_java_version="{{ oracle_java_rpm_url | basename|regex_replace('jdk-(\d+)u(\d+)-linux.*','\1') }}" |
| 46 | + oracle_java_version_update="{{ oracle_java_rpm_url | basename|regex_replace('jdk-(\d+)u(\d+)-linux.*','\2') }}" |
| 47 | + |
| 48 | +- debug: msg="Downloading java {{ oracle_java_version }}u{{ oracle_java_version_update }} to {{ oracle_java_rpm_filename }} from {{ oracle_java_rpm_url }}" |
| 49 | + |
7 | 50 | - name: download Java RPM |
8 | 51 | get_url: |
9 | 52 | headers='Cookie:gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie' dest="{{ oracle_java_dir_source }}/{{ oracle_java_rpm_filename }}" |
|
0 commit comments