# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

    version_scala = "2.11.5"
    version_sbt = "0.13.7"
    hostname = "scala.box"
    locale = "en_GB.UTF.8"

    # Box
    config.vm.box = "ubuntu/trusty64"

    # Shared folders
    config.vm.synced_folder ".", "/srv"

    # Setup
    config.vm.provision :shell, :inline => "touch .hushlogin"
    config.vm.provision :shell, :inline => "hostnamectl set-hostname #{hostname} && locale-gen #{locale}"
    config.vm.provision :shell, :inline => "apt-get update --fix-missing"
    config.vm.provision :shell, :inline => "apt-get install -q -y g++ make git curl vim"

    # Lang
    config.vm.provision :shell, :inline => "add-apt-repository -y ppa:webupd8team/java && apt-get update"
    config.vm.provision :shell, :inline => "echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections"
    config.vm.provision :shell, :inline => "echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections"
    config.vm.provision :shell, :inline => "apt-get install -q -y oracle-java8-installer"
    config.vm.provision :shell, :inline => "echo 'fetching scala-#{version_scala}' && wget -q http://www.scala-lang.org/files/archive/scala-#{version_scala}.deb"
    config.vm.provision :shell, :inline => "echo 'fetching sbt-#{version_sbt}' && wget -q http://dl.bintray.com/sbt/debian/sbt-#{version_sbt}.deb"
    config.vm.provision :shell, :inline => "dpkg -i scala-#{version_scala}.deb"
    config.vm.provision :shell, :inline => "dpkg -i sbt-#{version_sbt}.deb"
    config.vm.provision :shell, :inline => "apt-get update && apt-get install -q -y scala sbt"
    config.vm.provision :shell, :inline => "sed -i 's/#-mem.*/-mem 512/' /usr/share/sbt-launcher-packaging/conf/sbtopts"

    # Virtualbox
    config.vm.provider "virtualbox" do |v|
        v.memory = 1024
        v.cpus = 2
    end

end