# @api private class java::config ( ) { case $facts['os']['family'] { 'Debian': { if $java::use_java_alternative != undef and $java::use_java_alternative_path != undef { exec { 'update-java-alternatives': path => '/usr/bin:/usr/sbin:/bin:/sbin', command => "update-java-alternatives --set ${java::use_java_alternative} ${java::jre_flag}", unless => "test /etc/alternatives/java -ef '${java::use_java_alternative_path}'", } } if $java::use_java_home != undef { file_line { 'java-home-environment': path => '/etc/environment', line => "JAVA_HOME=${$java::use_java_home}", match => 'JAVA_HOME=', } } } 'RedHat': { if $java::use_java_alternative != undef and $java::use_java_alternative_path != undef { # The standard packages install alternatives, custom packages do not # For the stanard packages java::params needs these added. if $java::use_java_package_name != $java::default_package_name { exec { 'create-java-alternatives': path => '/usr/bin:/usr/sbin:/bin:/sbin', command => "alternatives --install /usr/bin/java java ${$java::use_java_alternative_path} 20000" , unless => "alternatives --display java | grep -q ${$java::use_java_alternative_path}", before => Exec['update-java-alternatives'], } } exec { 'update-java-alternatives': path => '/usr/bin:/usr/sbin', command => "alternatives --set java ${$java::use_java_alternative_path}" , unless => "test /etc/alternatives/java -ef '${java::use_java_alternative_path}'", } } if $java::use_java_home != undef { file_line { 'java-home-environment': path => '/etc/environment', line => "JAVA_HOME=${$java::use_java_home}", match => 'JAVA_HOME=', } } } 'Suse': { if $java::use_java_home != undef { file_line { 'java-home-environment': path => '/etc/environment', line => "JAVA_HOME=${$java::use_java_home}", match => 'JAVA_HOME=', } } } 'FreeBSD': { if $java::use_java_home != undef { file_line { 'java-home-environment-profile': path => '/etc/profile', line => "JAVA_HOME=${$java::use_java_home}; export JAVA_HOME", match => 'JAVA_HOME=', } file_line { 'java-home-environment-cshrc': path => '/etc/csh.login', line => "setenv JAVA_HOME ${$java::use_java_home}", match => 'setenv JAVA_HOME', } } } 'Solaris': { if $java::use_java_home != undef { file_line { 'java-home-environment': path => '/etc/profile', line => "JAVA_HOME=${$java::use_java_home}", match => 'JAVA_HOME=', } } } 'Archlinux': { if $java::use_java_home != undef { file_line { 'java-home-environment': path => '/etc/profile', line => "JAVA_HOME=${$java::use_java_home}", match => 'JAVA_HOME=', } } } default: { # Do nothing. } } }