Skip to content

Commit b56e0a2

Browse files
committed
added openjdk parameters to allow installation of Oracle jdk 7 and 8
1 parent e80cf36 commit b56e0a2

3 files changed

Lines changed: 55 additions & 9 deletions

File tree

manifests/init.pp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
# Possible values at this time are
1111
# <tt>6</tt>, <tt>7</tt>, <tt>8</tt> and <tt>9</tt>.
1212
#
13+
# @param openjdk [Boolean] use openjdk. Defaults to <tt>true</tt>.
14+
# <tt>true</tt> means to install openjdk from distribution packages
15+
# <tt>false</tt> means to untar the Oracle archive.
16+
#
1317
# @param java_default_version [Optional[String]] the java default version.
1418
# Possible values at this time are
1519
# <tt>6</tt>, <tt>7</tt>, <tt>8</tt> and <tt>9</tt>.
@@ -22,12 +26,14 @@
2226
# @author Dario Sestero
2327
define java (
2428
String $java_version = $title,
29+
Boolean $openjdk = true,
2530
Optional[String] $java_default_version = lookup('java::java_default_version', Optional[String], 'first', undef)) {
2631

27-
if $facts['os']['family'] == 'Debian' {
32+
if $facts['os']['family'] == 'Debian' and $openjdk {
2833
include apt
2934
}
3035
java::install_config { $java_version:
36+
openjdk => $openjdk,
3137
java_default_version => $java_default_version,
3238
}
3339
}

manifests/install_config.pp

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66
# Possible values at this time are
77
# <tt>6</tt> and <tt>7</tt>.
88
#
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+
#
913
# @param java_default_version [Optional[String]] the java default version.
1014
# Possible values at this time are
1115
# <tt>6</tt>, <tt>7>/tt> and <tt>8</tt>.
@@ -19,27 +23,59 @@
1923
#
2024
define java::install_config (
2125
String $java_version = $title,
26+
Boolean $openjdk,
2227
Optional[String] $java_default_version,
2328
) {
2429
case $facts['os']['family'] {
2530
'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+
}
3135
}
3236
'RedHat' : {
3337
$javapkg = "java-1.${java_version}.0-openjdk"
34-
$javadir = "/usr/lib/jvm/jre-1.${java_version}.0-openjdk.${facts['os']['architecture']}/bin/java"
3538
}
3639
default : {
3740
fail("The ${module_name} module is not supported on an ${facts['os']['family']} distribution.")
3841
}
3942
}
4043

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+
}
4379
}
4480

4581
if $java_default_version != undef and $java_version == $java_default_version {

metadata.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
{
1212
"name": "puppetlabs/apt",
1313
"version_requirement": "2.x"
14+
},
15+
{
16+
"name": "dsestero/download_uncompress",
17+
"version_requirement": "1.x"
1418
}
1519
],
1620
"operatingsystem_support": [

0 commit comments

Comments
 (0)