diff --git a/manifests/params.pp b/manifests/params.pp index 1528536..71648dc 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -55,6 +55,10 @@ class java::params { } } 'Debian': { + $oracle_architecture = $::architecture ? { + 'amd64' => 'x64', + default => $::architecture + } case $::lsbdistcodename { 'lenny', 'squeeze', 'lucid', 'natty': { $java = { @@ -84,7 +88,7 @@ class java::params { }, } } - 'wheezy', 'jessie', 'precise','quantal','raring','saucy', 'trusty', 'utopic': { + 'wheezy', 'jessie', 'precise', 'quantal', 'raring', 'saucy', 'trusty', 'utopic': { $java = { 'jdk' => { 'package' => 'openjdk-7-jdk', @@ -121,7 +125,19 @@ class java::params { 'alternative' => 'j2sdk1.8-oracle', 'alternative_path' => '/usr/lib/jvm/j2sdk1.8-oracle/bin/java', 'java_home' => '/usr/lib/jvm/j2sdk1.8-oracle/', - }, + }, + 'oracle-java8-jre' => { + 'package' => 'oracle-java8-jre', + 'alternative' => "jre-8-oracle-${oracle_architecture}", + 'alternative_path' => "/usr/lib/jvm/jre-8-oracle-${oracle_architecture}/bin/java", + 'java_home' => "/usr/lib/jvm/jre-8-oracle-${oracle_architecture}/", + }, + 'oracle-java8-jdk' => { + 'package' => 'oracle-java8-jdk', + 'alternative' => "jdk-8-oracle-${oracle_architecture}", + 'alternative_path' => "/usr/lib/jvm/jdk-8-oracle-${oracle_architecture}/bin/java", + 'java_home' => "/usr/lib/jvm/jdk-8-oracle-${oracle_architecture}/", + }, } } 'vivid', 'wily', 'xenial': { diff --git a/spec/classes/java_spec.rb b/spec/classes/java_spec.rb index 3d80858..a4b5a2f 100644 --- a/spec/classes/java_spec.rb +++ b/spec/classes/java_spec.rb @@ -86,6 +86,21 @@ describe 'java', :type => :class do it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set j2re1.7-oracle --jre') } end + context 'select Oracle Java 8 JRE >=u100 for Debian Wheezy' do + let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'wheezy', :operatingsystemrelease => '7.1', :architecture => 'amd64',} } + let(:params) { { 'distribution' => 'oracle-java8-jre' } } + it { is_expected.to contain_package('java').with_name('oracle-java8-jre') } + it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set jre-8-oracle-x64 --jre') } + end + + context 'select Oracle Java 8 JDK >=u100 for Debian Wheezy' do + let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'wheezy', :operatingsystemrelease => '7.1', :architecture => 'amd64',} } + let(:params) { { 'distribution' => 'oracle-java8-jdk' } } + it { is_expected.to contain_package('java').with_name('oracle-java8-jdk') } + it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set jdk-8-oracle-x64 --jre') } + end + + context 'select OpenJDK JRE for Debian Wheezy' do let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'wheezy', :operatingsystemrelease => '7.1', :architecture => 'amd64',} } let(:params) { { 'distribution' => 'jre' } }