class Gem2exe::Cli::SetupCommand

Public Instance Methods

execute() click to toggle source
# File lib/gem2exe/cli/setup_command.rb, line 8
def execute
  $stderr.puts "installing dependencies ..."

  if Gem2exe.platform == "darwin"
    runner_opts = {
      shell: true, output: true, prepend: {
        stdboth: "  brew: "
      }
    }

    Runner.run! "brew install squashfs || brew upgrade squashfs || true", runner_opts
    Runner.run! "brew install openssl || brew upgrade openssl || true", runner_opts
    Runner.run! "curl -sL https://curl.haxx.se/ca/cacert.pem > /usr/local/etc/openssl/cacert.pem", runner_opts
  else
    runner_opts = {
      sudo: sudo?, shell: true, output: true, prepend: {
        stdboth: "  apt-get: "
      }
    }
    $stderr.puts "installing dependencies with apt-get ..."
    Runner.run! "apt-get update", runner_opts
    Runner.run! "apt-get install -y ruby squashfs-tools build-essential bison curl openssl git-core", runner_opts
    Runner.run! "update-ca-certificates", sudo: sudo?, prepend: {
      stdboth: "  update-ca-certificates: "
    }
  end
  $stderr.puts "... dependencies installed"

  $stderr.puts "installing rubyc ..."
  Gem2exe.download_rubyc
  $stderr.puts "... rubyc installed"

  puts ""
  puts "setup ok"
end