|
6 | 6 | # Possible values at this time are |
7 | 7 | # <tt>6</tt> and <tt>7</tt>. |
8 | 8 | # |
| 9 | +# @param openjdk [Boolean] use openjdk. |
| 10 | +# <tt>true</tt> means to install openjdk from distribution packages |
| 11 | +# <tt>false</tt> means to untar the Oracle archive. |
| 12 | +# |
9 | 13 | # @param java_default_version [Optional[String]] the java default version. |
10 | 14 | # Possible values at this time are |
11 | 15 | # <tt>6</tt>, <tt>7>/tt> and <tt>8</tt>. |
|
19 | 23 | # |
20 | 24 | define java::install_config ( |
21 | 25 | String $java_version = $title, |
| 26 | + Boolean $openjdk, |
22 | 27 | Optional[String] $java_default_version, |
23 | 28 | ) { |
24 | 29 | case $facts['os']['family'] { |
25 | 30 | 'Debian' : { |
26 | | - $javapkg = "openjdk-${java_version}-jdk" |
27 | | - $javadir = "/usr/lib/jvm/java-${java_version}-openjdk-${facts['os']['architecture']}/jre/bin/java" |
28 | | - if $facts['os']['release'] in ['12.04', '14.04'] and $java_version == '8' { |
29 | | - apt::ppa { 'ppa:openjdk-r/ppa': } |
30 | | - } |
| 31 | + $javapkg = "openjdk-${java_version}-jdk" |
| 32 | + if $facts['os']['release'] in ['12.04', '14.04'] and $java_version == '8' { |
| 33 | + apt::ppa { 'ppa:openjdk-r/ppa': } |
| 34 | + } |
31 | 35 | } |
32 | 36 | 'RedHat' : { |
33 | 37 | $javapkg = "java-1.${java_version}.0-openjdk" |
34 | | - $javadir = "/usr/lib/jvm/jre-1.${java_version}.0-openjdk.${facts['os']['architecture']}/bin/java" |
35 | 38 | } |
36 | 39 | default : { |
37 | 40 | fail("The ${module_name} module is not supported on an ${facts['os']['family']} distribution.") |
38 | 41 | } |
39 | 42 | } |
40 | 43 |
|
41 | | - package { $javapkg: |
42 | | - ensure => installed, |
| 44 | + if $openjdk { |
| 45 | + package { $javapkg: |
| 46 | + ensure => installed, |
| 47 | + } |
| 48 | + case $facts['os']['family'] { |
| 49 | + 'Debian' : { |
| 50 | + $javadir = "/usr/lib/jvm/java-${java_version}-openjdk-${facts['os']['architecture']}/jre/bin/java" |
| 51 | + } |
| 52 | + 'RedHat' : { |
| 53 | + $javadir = "/usr/lib/jvm/jre-1.${java_version}.0-openjdk.${facts['os']['architecture']}/bin/java" |
| 54 | + } |
| 55 | + default : { |
| 56 | + fail("The ${module_name} module is not supported on an ${facts['os']['family']} distribution.") |
| 57 | + } |
| 58 | + } |
| 59 | + } else { |
| 60 | + case $java_version { |
| 61 | + '7' : { |
| 62 | + $distribution_name = 'jdk-7u80-linux-x64.tar.gz' |
| 63 | + $javadir = '/opt/jdk/jdk1.7.0_80' |
| 64 | + } |
| 65 | + '8' : { |
| 66 | + $distribution_name = 'jdk-8u172-linux-x64.tar.gz' |
| 67 | + $javadir = '/opt/jdk/jdk1.8.0_172' |
| 68 | + } |
| 69 | + default : { |
| 70 | + fail("The ${module_name} module is not supported for Oracle JDK version ${java_version}.") |
| 71 | + } |
| 72 | + } |
| 73 | + download_uncompress {"dwnl_inst_${java_version}": |
| 74 | + distribution_name => $distribution_name, |
| 75 | + dest_folder => '/opt/jdk', |
| 76 | + creates => $javadir, |
| 77 | + uncompress => 'tar.gz', |
| 78 | + } |
43 | 79 | } |
44 | 80 |
|
45 | 81 | if $java_default_version != undef and $java_version == $java_default_version { |
|
0 commit comments