# # Modules: server_build/ubuntu # Adds tasks for building Ubuntu Servers

namespace :build_ubuntu do

desc "Update APT Software Cache"
task :apt_update do
  queue "sudo apt-get -y update"
end

desc "Upgrade Installed Packages"
task :apt_upgrade do
  queue "sudo apt-get -y upgrade"
end

desc "Upgrade Distribution"
task :apt_distupgrade do
  queue "sudo apt-get -y dist-upgrade"
end

desc "Install Essential Packages"
task :apt_install_essential do
  queue "sudo apt-get -y install wget curl git-core python-software-properties build-essential"
end

desc "Remove Unreferenced Packages"
task :apt_autoremove do
  queue "sudo apt-get -y autoremove"
end

desc "Install PostgreSQL Database"
task :apt_install_postgresql do
  queue "wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -"
  queue "sudo apt-add-repository -y \"deb http://apt.postgresql.org/pub/repos/apt/ #{platform_codename}-pgdg main\" "
  queue "sudo apt-get -y update"
  queue "sudo apt-get install -y postgresql-9.3 pgadmin3 libpq-dev"
end

desc "Install NodeJS"
task :apt_install_nodejs do
  queue "sudo add-apt-repository -y ppa:chris-lea/node.js"
  queue "sudo apt-get -y update"
  queue "sudo apt-get -y install nodejs"
end

desc "Install NGINX"
task :apt_install_nginx do
  queue "sudo add-apt-repository -y ppa:nginx/stable"
  queue "sudo apt-get -y update"
  queue "sudo apt-get -y install nginx"
end

desc "Install Apache 2"
task :apt_install_apache2 do
  queue "sudo apt-get install apache2"
end

desc "Install RBENV Ruby Manager"
task :build_rbenv do
  queue "if [ ! -d ~/.rbenv ]; then"
  queue "curl https://raw.githubusercontent.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash"
  queue "fi"
  queue "cat /dev/null > ~/.bash_profile.saved"
  queue "cat ~/.bash_profile ~/.bash_profile.saved"
  queue "echo \"# ~/.bash_profile:\" > ~/.bash_profile"
  queue "echo \"export RBENV_ROOT=\"${HOME}/.rbenv\"\" >> ~/.bash_profile"
  queue "echo \"if [ -d \"${HOME}/.rbenv\" ]; then\" >> ~/.bash_profile"
  queue "echo \"export PATH=\"${HOME}/.rbenv/bin:${PATH}\"\" >> ~/.bash_profile"
  queue "echo 'eval \"\$\(rbenv init -\)\"' >> ~/.bash_profile"
  queue "echo \"fi\" >> ~/.bash_profile"
  queue "cat ~/.bash_profile.saved >> ~/.bash_profile"
  if "#{platform_codename}".strip == "precise"
    queue ". ~/.bash_profile; rbenv bootstrap-ubuntu-12-04"
  end
  if "#{platform_codename}".strip == "trusty"
    queue "sudo apt-get -y install tklib zlib1g-dev libssl-dev libreadline-gplv2-dev"
    queue "sudo apt-get -y install libxml2 libxml2-dev libxslt1-dev"
  end
  queue ". ~/.bash_profile; rbenv install #{ruby_version}"
  queue ". ~/.bash_profile; rbenv global #{ruby_version}"
end

end