Sha256: 87eed28e8d21de1d5c94c1c7067aa2ff3bd8289f022652cbe6a7196f80cb62f8

Contents?: true

Size: 1.45 KB

Versions: 1

Compression:

Stored size: 1.45 KB

Contents

module Capstrap
  module Apt

    APT_RVM_PKGS = %w{sed grep tar gzip bzip2 bash curl git-core}
    
    APT_MRI_AND_REE_PKGS = %w{build-essential bison openssl libreadline5 
      libreadline-dev zlib1g zlib1g-dev libssl-dev vim libsqlite3-0 
      libsqlite3-dev sqlite3 libxml2-dev subversion autoconf ssl-cert}

    def self.load_into(configuration)
      configuration.load do

        def self.task_name(pkg)
          pkg.gsub(/-/, "_").to_sym
        end

        namespace :apt do
          desc "Resynchronizes the package index files."
          task :update do
            unless @updated
              apt_update
              @updated = true
            end
          end

          namespace :install do
            desc "Installs packages for running RVM"
            task :rvm_depends do
              apt_install APT_RVM_PKGS.join(" ")
            end
            
            desc "Installs packages for running MRI/REE."
            task :mri_depends do
              apt_install APT_MRI_AND_REE_PKGS.join(" ")
            end
            
            desc "Installs all packages via apt-get."
            task :default do
              rvm_depends
              mri_depends
            end
          end
        end

        before "apt:install:rvm_depends", "apt:update"
        before "apt:install:mri_depends", "apt:update"
      end
    end
  end
end

if Capistrano::Configuration.instance
  Capstrap::Apt.load_into(Capistrano::Configuration.instance)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capstrap-0.3.3 lib/capistrano/ext/capstrap/apt.rb