Module Multiruby
In: lib/multiruby.rb

multiruby_setup is a script to help you manage multiruby.

usage: multiruby_setup [-h|cmd|spec…]

  cmds:

    -h, --help, help = show this help.
    build            = build and install everything. used internally.
    clean            = clean scm build dirs and remove non-scm build dirs.
    list             = print installed versions.
    rm:$version      = remove a particular version.
    rubygems:merge   = symlink all rubygem dirs to one dir.
    tags             = list all tags from svn.
    update           = update svn builds.
    update:rubygems  = update rubygems and nuke install dirs.

  specs:

    the_usual              = alias for latest versions from tar + rubygems
    mri:svn:current        = alias for mri:svn:releases and mri:svn:branches.
    mri:svn:releases       = alias for supported releases of mri ruby.
    mri:svn:branches       = alias for active branches of mri ruby.
    mri:svn:branch:$branch = install a specific $branch of mri from svn.
    mri:svn:tag:$tag       = install a specific $tag of mri from svn.
    mri:tar:$version       = install a specific $version of mri from tarball.

  environment variables:

    GEM_URL  = url for rubygems tarballs
    MRI_SVN  = url for MRI SVN
    RUBY_URL = url for MRI tarballs
    VERSIONS = what versions to install

    RUBYOPT is cleared on installs.

NOTES:

  • you can add a symlink to your rubinius build into ~/.multiruby/install
  • I need patches/maintainers for other implementations.

Methods

Constants

TAGS = %w( 1_8_7 1_9_1 1_9_2)
BRANCHES = %w(1_8 1_8_7 1_9 trunk)
VERSIONS = env('VERSIONS', TAGS.join(":").gsub(/_/, '.')).split(/:/)
MRI_SVN = env 'MRI_SVN', 'http://svn.ruby-lang.org/repos/ruby'
RUBY_URL = env 'RUBY_URL', 'http://ftp.ruby-lang.org/pub/ruby'
GEM_URL = env 'GEM_URL', 'http://files.rubyforge.vm.bytemark.co.uk/rubygems'
HELP = []

Public Class methods

[Validate]