Allow targeting specific major/minor Oracle JDK versions (#192)
* Allow targeting specific major/minor Oracle JDK versions Expose two new parameters 'version_major' and 'version_minor' to allow users targeting specific Oracle JDK versions. Signed-off-by: Gregor Zurowski <gregor@zurowski.org> * Fix lint validation issues Signed-off-by: Gregor Zurowski <gregor@zurowski.org>
This commit is contained in:
committed by
Hunter Haugen
parent
2b0bd48cb5
commit
2a8236e6d1
@@ -14,7 +14,16 @@
|
|||||||
#
|
#
|
||||||
# Parameters
|
# Parameters
|
||||||
# [*version*]
|
# [*version*]
|
||||||
# Version of Java to install
|
# Version of Java to install, e.g. '7' or '8'. Default values for major and minor
|
||||||
|
# versions will be used.
|
||||||
|
#
|
||||||
|
# [*major_version*]
|
||||||
|
# Major version which should be installed, e.g. '8u101'. Must be used together with
|
||||||
|
# minor_version.
|
||||||
|
#
|
||||||
|
# [*minor_version*]
|
||||||
|
# Minor version which should be installed, e.g. 'b12'. Must be used together with
|
||||||
|
# major_version.
|
||||||
#
|
#
|
||||||
# [*java_se*]
|
# [*java_se*]
|
||||||
# Type of Java Standard Edition to install, jdk or jre.
|
# Type of Java Standard Edition to install, jdk or jre.
|
||||||
@@ -73,6 +82,8 @@
|
|||||||
define java::oracle (
|
define java::oracle (
|
||||||
$ensure = 'present',
|
$ensure = 'present',
|
||||||
$version = '8',
|
$version = '8',
|
||||||
|
$version_major = undef,
|
||||||
|
$version_minor = undef,
|
||||||
$java_se = 'jdk',
|
$java_se = 'jdk',
|
||||||
$oracle_url = 'http://download.oracle.com/otn-pub/java/jdk/',
|
$oracle_url = 'http://download.oracle.com/otn-pub/java/jdk/',
|
||||||
) {
|
) {
|
||||||
@@ -87,7 +98,17 @@ define java::oracle (
|
|||||||
fail('Java SE must be either jre or jdk.')
|
fail('Java SE must be either jre or jdk.')
|
||||||
}
|
}
|
||||||
|
|
||||||
# determine oracle Java major and minor version, and installation path
|
# determine Oracle Java major and minor version, and installation path
|
||||||
|
if $version_major and $version_minor {
|
||||||
|
$release_major = $version_major
|
||||||
|
$release_minor = $version_minor
|
||||||
|
if $release_major =~ /(\d+)u(\d+)/ {
|
||||||
|
$install_path = "${java_se}1.${1}.0_${2}"
|
||||||
|
} else {
|
||||||
|
$install_path = "${java_se}${release_major}${release_minor}"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
# use default versions if no specific major and minor version parameters are provided
|
||||||
case $version {
|
case $version {
|
||||||
'6' : {
|
'6' : {
|
||||||
$release_major = '6u45'
|
$release_major = '6u45'
|
||||||
@@ -110,6 +131,7 @@ define java::oracle (
|
|||||||
$install_path = "${java_se}1.8.0_51"
|
$install_path = "${java_se}1.8.0_51"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# determine package type (exe/tar/rpm), destination directory based on OS
|
# determine package type (exe/tar/rpm), destination directory based on OS
|
||||||
case $::kernel {
|
case $::kernel {
|
||||||
|
|||||||
Reference in New Issue
Block a user