manifests/install.pp (75 lines of code) (raw):

# Class: oraclejava::install # # This module manages Oracle Java7 or Java8 # Parameters: version (7, 8), ulimited_jce (true, false) # Requires: # apt # Sample Usage: # oraclejava::install::version: 7 # oraclejava::install::unlimited_jce: true # include oraclejava::install class oraclejava::install ( $version = '8', # allowed values 6, 7, 8 $unlimited_jce = true, $include_src = true, $ensure = 'installed', ) { case $::operatingsystem { debian: { include apt apt::source { 'webupd8team': location => 'http://ppa.launchpad.net/webupd8team/java/ubuntu', release => 'precise', repos => 'main', key => 'EEA14886', key_server => 'keyserver.ubuntu.com', include_src => $include_src, } file { '/tmp/java.preseed': source => 'puppet:///modules/oraclejava/java.preseed', mode => '0600', backup => false, } } ubuntu: { include apt apt::ppa { 'ppa:webupd8team/java': } file { '/tmp/java.preseed': source => 'puppet:///modules/oraclejava/java.preseed', mode => '0600', backup => false, } } default: { notice "Unsupported operatingsystem ${::operatingsystem}" } } case $version { '8': { $jdkpkg = 'oracle-java8-installer' $jcepkg = 'oracle-java8-unlimited-jce-policy' } '7': { $jdkpkg = 'oracle-java7-installer' $jcepkg = 'oracle-java7-unlimited-jce-policy' } '6': { $jdkpkg = 'oracle-java6-installer' } default: { notice 'Invalid Java version' } } package { $jdkpkg: ensure => $ensure, responsefile => '/tmp/java.preseed', require => [ Apt::Ppa['ppa:webupd8team/java'], Class['apt::update'], File['/tmp/java.preseed'] ], } if $unlimited_jce { if $jcepkg { package { $jcepkg: ensure => $ensure, responsefile => '/tmp/java.preseed', require => [ Apt::Ppa['ppa:webupd8team/java'], Class['apt::update'], File['/tmp/java.preseed'] ], } } } }