From 343ad7c4685e5801d573b038638b01499042fbff Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Mon, 25 Feb 2019 14:28:11 +0100 Subject: [PATCH] Add option to manage symlink --- manifests/oracle.pp | 16 ++++++++++++++++ spec/defines/oracle_spec.rb | 15 +++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/manifests/oracle.pp b/manifests/oracle.pp index c5d2f3f..1617066 100644 --- a/manifests/oracle.pp +++ b/manifests/oracle.pp @@ -99,6 +99,12 @@ # Whether to manage the basedir directory. Defaults to false. # Note: /usr/lib/jvm is managed for Debian by default, separate from this parameter. # +# [*manage_symlink*] +# Whether to manage a symlink that points to the installation directory. Defaults to false. +# +# [*symlink_name*] +# The name for the optional symlink in the installation directory. +# # ### Author # mike@marseglia.org # @@ -117,6 +123,8 @@ define java::oracle ( $basedir = undef, $manage_basedir = false, $package_type = undef, + $manage_symlink = false, + $symlink_name = undef, ) { # archive module is used to download the java package @@ -344,6 +352,14 @@ define java::oracle ( require => $install_requires } + if ($manage_symlink and $symlink_name) { + file { "${_basedir}/${symlink_name}": + ensure => link, + target => $creates_path, + require => Exec["Install Oracle java_se ${java_se} ${version} ${release_major} ${release_minor}"] + } + } + if ($jce and $jce_download != undef) { $jce_path = $java_se ? { 'jre' => "${creates_path}/lib/security", diff --git a/spec/defines/oracle_spec.rb b/spec/defines/oracle_spec.rb index e2d1e12..e2f6bfa 100644 --- a/spec/defines/oracle_spec.rb +++ b/spec/defines/oracle_spec.rb @@ -175,6 +175,21 @@ describe 'java::oracle', type: :define do it { is_expected.to contain_file('/usr/java') } end + context 'when manage_symlink is set to true' do + let(:params) do + { + ensure: 'present', + version: '6', + java_se: 'jdk', + basedir: '/usr/java', + manage_symlink: true, + symlink_name: 'java_home', + } + end + let(:title) { 'jdk6' } + + it { is_expected.to contain_file('/usr/java/java_home') } + end end context 'when on CentOS 32-bit' do