|  | @@ -42,7 +42,7 @@ Vagrant.configure(2) do |config|
 | 
	
		
			
				|  |  |    # debian and it works fine.
 | 
	
		
			
				|  |  |    config.vm.define "debian-8" do |config|
 | 
	
		
			
				|  |  |      config.vm.box = "elastic/debian-8-x86_64"
 | 
	
		
			
				|  |  | -    deb_common config, 'echo deb http://cloudfront.debian.net/debian jessie-backports main > /etc/apt/sources.list.d/backports.list', 'backports'
 | 
	
		
			
				|  |  | +    deb_common config
 | 
	
		
			
				|  |  |    end
 | 
	
		
			
				|  |  |    config.vm.define "centos-6" do |config|
 | 
	
		
			
				|  |  |      config.vm.box = "elastic/centos-6-x86_64"
 | 
	
	
		
			
				|  | @@ -114,10 +114,10 @@ SOURCE_PROMPT
 | 
	
		
			
				|  |  |  end
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  def ubuntu_common(config, extra: '')
 | 
	
		
			
				|  |  | -  deb_common config, 'apt-add-repository -y ppa:openjdk-r/ppa > /dev/null 2>&1', 'openjdk-r-*', extra: extra
 | 
	
		
			
				|  |  | +  deb_common config, extra: extra
 | 
	
		
			
				|  |  |  end
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -def deb_common(config, add_openjdk_repository_command, openjdk_list, extra: '')
 | 
	
		
			
				|  |  | +def deb_common(config, extra: '')
 | 
	
		
			
				|  |  |    # http://foo-o-rama.com/vagrant--stdin-is-not-a-tty--fix.html
 | 
	
		
			
				|  |  |    config.vm.provision "fix-no-tty", type: "shell" do |s|
 | 
	
		
			
				|  |  |        s.privileged = false
 | 
	
	
		
			
				|  | @@ -127,24 +127,14 @@ def deb_common(config, add_openjdk_repository_command, openjdk_list, extra: '')
 | 
	
		
			
				|  |  |      update_command: "apt-get update",
 | 
	
		
			
				|  |  |      update_tracking_file: "/var/cache/apt/archives/last_update",
 | 
	
		
			
				|  |  |      install_command: "apt-get install -y",
 | 
	
		
			
				|  |  | -    java_package: "openjdk-8-jdk",
 | 
	
		
			
				|  |  | -    extra: <<-SHELL
 | 
	
		
			
				|  |  | -      export DEBIAN_FRONTEND=noninteractive
 | 
	
		
			
				|  |  | -      ls /etc/apt/sources.list.d/#{openjdk_list}.list > /dev/null 2>&1 ||
 | 
	
		
			
				|  |  | -        (echo "==> Importing java-8 ppa" &&
 | 
	
		
			
				|  |  | -          #{add_openjdk_repository_command} &&
 | 
	
		
			
				|  |  | -          apt-get update)
 | 
	
		
			
				|  |  | -      #{extra}
 | 
	
		
			
				|  |  | -SHELL
 | 
	
		
			
				|  |  | -  )
 | 
	
		
			
				|  |  | +    extra: extra)
 | 
	
		
			
				|  |  |  end
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  def rpm_common(config)
 | 
	
		
			
				|  |  |    provision(config,
 | 
	
		
			
				|  |  |      update_command: "yum check-update",
 | 
	
		
			
				|  |  |      update_tracking_file: "/var/cache/yum/last_update",
 | 
	
		
			
				|  |  | -    install_command: "yum install -y",
 | 
	
		
			
				|  |  | -    java_package: "java-1.8.0-openjdk-devel")
 | 
	
		
			
				|  |  | +    install_command: "yum install -y")
 | 
	
		
			
				|  |  |  end
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  def dnf_common(config)
 | 
	
	
		
			
				|  | @@ -152,8 +142,7 @@ def dnf_common(config)
 | 
	
		
			
				|  |  |      update_command: "dnf check-update",
 | 
	
		
			
				|  |  |      update_tracking_file: "/var/cache/dnf/last_update",
 | 
	
		
			
				|  |  |      install_command: "dnf install -y",
 | 
	
		
			
				|  |  | -    install_command_retries: 5,
 | 
	
		
			
				|  |  | -    java_package: "java-1.8.0-openjdk-devel")
 | 
	
		
			
				|  |  | +    install_command_retries: 5)
 | 
	
		
			
				|  |  |    if Vagrant.has_plugin?("vagrant-cachier")
 | 
	
		
			
				|  |  |      # Autodetect doesn't work....
 | 
	
		
			
				|  |  |      config.cache.auto_detect = false
 | 
	
	
		
			
				|  | @@ -170,7 +159,6 @@ def suse_common(config, extra)
 | 
	
		
			
				|  |  |      update_command: "zypper --non-interactive list-updates",
 | 
	
		
			
				|  |  |      update_tracking_file: "/var/cache/zypp/packages/last_update",
 | 
	
		
			
				|  |  |      install_command: "zypper --non-interactive --quiet install --no-recommends",
 | 
	
		
			
				|  |  | -    java_package: "java-1_8_0-openjdk-devel",
 | 
	
		
			
				|  |  |      extra: extra)
 | 
	
		
			
				|  |  |  end
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -193,7 +181,6 @@ end
 | 
	
		
			
				|  |  |  #   is cached by vagrant-cachier.
 | 
	
		
			
				|  |  |  # @param install_command [String] The command used to install a package.
 | 
	
		
			
				|  |  |  #   Required. Think `apt-get install #{package}`.
 | 
	
		
			
				|  |  | -# @param java_package [String] The name of the java package. Required.
 | 
	
		
			
				|  |  |  # @param extra [String] Extra provisioning commands run before anything else.
 | 
	
		
			
				|  |  |  #   Optional. Used for things like setting up the ppa for Java 8.
 | 
	
		
			
				|  |  |  def provision(config,
 | 
	
	
		
			
				|  | @@ -201,13 +188,11 @@ def provision(config,
 | 
	
		
			
				|  |  |      update_tracking_file: 'required',
 | 
	
		
			
				|  |  |      install_command: 'required',
 | 
	
		
			
				|  |  |      install_command_retries: 0,
 | 
	
		
			
				|  |  | -    java_package: 'required',
 | 
	
		
			
				|  |  |      extra: '')
 | 
	
		
			
				|  |  |    # Vagrant run ruby 2.0.0 which doesn't have required named parameters....
 | 
	
		
			
				|  |  |    raise ArgumentError.new('update_command is required') if update_command == 'required'
 | 
	
		
			
				|  |  |    raise ArgumentError.new('update_tracking_file is required') if update_tracking_file == 'required'
 | 
	
		
			
				|  |  |    raise ArgumentError.new('install_command is required') if install_command == 'required'
 | 
	
		
			
				|  |  | -  raise ArgumentError.new('java_package is required') if java_package == 'required'
 | 
	
		
			
				|  |  |    config.vm.provision "bats dependencies", type: "shell", inline: <<-SHELL
 | 
	
		
			
				|  |  |      set -e
 | 
	
		
			
				|  |  |      set -o pipefail
 | 
	
	
		
			
				|  | @@ -254,7 +239,10 @@ def provision(config,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      #{extra}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    installed java || install #{java_package}
 | 
	
		
			
				|  |  | +    installed java || {
 | 
	
		
			
				|  |  | +      echo "==> Java is not installed on vagrant box ${config.vm.box}"
 | 
	
		
			
				|  |  | +      return 1
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |      ensure tar
 | 
	
		
			
				|  |  |      ensure curl
 | 
	
		
			
				|  |  |      ensure unzip
 |