30 Commits
Author SHA1 Message Date
Joshua B. Bussdieker dff56e69df Bump version to 1.0.21 2014-07-21 22:14:26 -07:00
Joshua Bussdieker ae439a3560 Merge pull request #92 from tianon/arm
Update "gvm cross" to support ARM properly
2014-07-21 22:13:08 -07:00
Joshua Bussdieker 112dfaac37 Merge pull request #88 from amitkgupta/master
gvm-check shows all missing requirements.
2014-07-21 22:08:07 -07:00
Joshua Bussdieker a71029eaa4 Merge pull request #89 from meatballhat/normalize-prefer-binary
Making all prefer-binary bits consistent
2014-07-21 22:07:26 -07:00
Tianon Gravi 78e2e80d40 Update "gvm cross" to support ARM properly 2014-07-21 10:29:38 -06:00
Dan Buch 9a9aab4b12 Correcting download URL construction
to not have a double `go`, e.g. when running one of the following:

    gvm install go1.3 --binary

or:

    gvm install go1.3 --prefer-binary
2014-07-21 11:27:12 -04:00
Dan Buch 38dfba78b8 Making all prefer-binary bits consistent 2014-07-21 10:37:42 -04:00
Amit Gupta 3ffc794bc5 gvm-check shows all missing requirements. 2014-07-20 23:52:59 -04:00
Joshua Bussdieker b914f5a6b3 Merge pull request #85 from jambli/master
Fix typos in pkgset-use
2014-07-12 12:20:15 -07:00
jambli 3d465f0ead Fix typos in pkgset-use 2014-07-12 11:22:01 -04:00
Joshua Bussdieker 4ce01e1e16 Merge pull request #81 from CoolOppo/patch-1
Merge the apt-get commands
2014-07-09 14:43:15 -07:00
Joshua Bussdieker a5ade13862 Merge pull request #84 from hoffoo/master
fix binary download path to golang.org/dl
2014-07-09 14:43:01 -07:00
Joshua Bussdieker e06e446acf Merge pull request #83 from meatballhat/support-prefer-binary
Adding support for --preferbinary
2014-07-09 14:41:34 -07:00
Marin 53fff83811 fall back to google code
if http://golang.org/dl (newer versions) fails, try to download from google code.
2014-07-08 20:03:34 -07:00
Marin fa0f1b4d57 fix binary download path to google code 2014-07-08 19:25:31 -07:00
Dan Buch 5ba804665d Renaming scenario to match its content 2014-06-25 10:42:43 -04:00
Dan Buch 6b75a19639 Adding support for --preferbinary
to attempt an install from binary, falling back to source install.
2014-06-25 10:27:19 -04:00
CoolOppo 739557089b Merge the apt-get commands 2014-06-14 03:50:56 -04:00
Joshua Bussdieker 99876c1786 Merge pull request #80 from michaelmaltese/79-fix_system_path
Fix PATH for system Go
2014-06-13 13:15:29 -07:00
Michael Maltese cf394bb42c Fix PATH for system Go
Fixes #79
2014-06-13 13:08:49 -07:00
Joshua B. Bussdieker 3ecd74b96e Older versions of go now require patches on newer systems 2014-06-12 15:11:10 -07:00
Joshua B. Bussdieker 35d369dfd3 Cleanup error output 2014-06-12 15:10:37 -07:00
Joshua B. Bussdieker f43320ec82 Fix issue with matcher 2014-06-12 14:47:47 -07:00
Joshua B. Bussdieker 1921cd7f0a Ignore local vagrant stuff 2014-06-12 14:46:32 -07:00
Joshua B. Bussdieker 97611a42eb Add some new tests 2014-06-12 14:45:56 -07:00
Joshua B. Bussdieker f392f564c6 Remove test code 2014-06-12 14:32:23 -07:00
Joshua B. Bussdieker eaf768b7d1 Make running tests easier 2014-06-12 14:31:13 -07:00
Joshua B. Bussdieker 22dc137459 Some vagrant stuff 2014-06-12 12:59:05 -07:00
Joshua Bussdieker c6527574be Merge pull request #78 from michaelmaltese/77-fix_mac_download_urls
Mac binary package URLs contain system version
2014-06-12 12:44:44 -07:00
Michael Maltese 8954a3cb39 Mac binary package URLs contain system version
Fixes #77
2014-06-12 12:42:52 -07:00
21 changed files with 182 additions and 92 deletions
+2
View File
@@ -7,3 +7,5 @@ environments/
tmp/
*.log
scripts/gvm
Gemfile.lock
.vagrant/
+1 -1
View File
@@ -4,4 +4,4 @@ osx_image: mavericks
before_install:
- "binscripts/gvm-installer $TRAVIS_COMMIT $TRAVIS_BUILD_DIR/tmp"
install: gem install tf -v '>=0.4.1'
script: source $TRAVIS_BUILD_DIR/tmp/gvm/scripts/gvm; tf --text tests/*
script: source $TRAVIS_BUILD_DIR/tmp/gvm/scripts/gvm; tf --text tests/*.sh
+3
View File
@@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'tf', '>=0.4.1'
+2 -8
View File
@@ -42,6 +42,7 @@ Additional options can be specified when installing Go:
-pb, --with-protobuf Install Go protocol buffers.
-b, --with-build-tools Install package build tools.
-B, --binary Only install from binary.
--prefer-binary Attempt a binary install, falling back to source.
-h, --help Display this message.
List Go Versions
@@ -68,14 +69,7 @@ Linux Requirements
Debian/Ubuntu
==================
sudo apt-get install curl
sudo apt-get install git
sudo apt-get install mercurial
sudo apt-get install make
sudo apt-get install binutils
sudo apt-get install bison
sudo apt-get install gcc
sudo apt-get install build-essential
sudo apt-get install curl git mercurial make binutils bison gcc build-essential
Redhat/Centos
==================
+27
View File
@@ -0,0 +1,27 @@
require 'tmpdir'
task :default do
root_path = File.expand_path "../.", __FILE__
Dir.mktmpdir("gvm-test") do |tmpdir|
puts `binscripts/gvm-installer binary_default #{tmpdir}`
pid = fork do
exec("bash -c 'source #{tmpdir}/gvm/scripts/gvm; tf --text #{tmpdir}/gvm/tests/*.sh'")
end
Process.waitpid(pid)
end
end
task :scenario do
root_path = File.expand_path "../.", __FILE__
Dir["#{root_path}/tests/scenario/*_comment_test.sh"].each do |test|
name = File.basename(test)
puts "Running scenario #{name}..."
Dir.mktmpdir("gvm-test") do |tmpdir|
install = `binscripts/gvm-installer binary_default #{tmpdir}`
pid = fork do
exec("bash -c 'source #{tmpdir}/gvm/scripts/gvm; tf --text #{tmpdir}/gvm/tests/scenario/#{name}'")
end
Process.waitpid(pid)
end
end
end
+1 -1
View File
@@ -1 +1 @@
1.0.20
1.0.21
Vendored
+9
View File
@@ -0,0 +1,9 @@
Vagrant.configure("2") do |config|
config.vm.define "precise32" do |ubuntu|
ubuntu.vm.box = "hashicorp/precise32"
end
config.vm.define "precise64" do |ubuntu|
ubuntu.vm.box = "hashicorp/precise64"
end
end
+1 -1
View File
@@ -38,7 +38,7 @@ export gvm_go_name; gvm_go_name="system"
export gvm_pkgset_name; gvm_pkgset_name="global"
export GOROOT; GOROOT="$GOROOT"
export GOPATH; GOPATH="$GVM_DEST/$GVM_NAME/pkgsets/system/global"
export PATH; PATH="$GVM_DEST/$GVM_NAME/pkgsets/system/global:$GOROOT/bin:$GVM_ROOT/bin:\$PATH"
export PATH; PATH="$GVM_DEST/$GVM_NAME/pkgsets/system/global/bin:$GOROOT/bin:$GVM_ROOT/bin:\$PATH"
EOF
}
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
/vagrant/extra/vagrant/install-deps.sh
/vagrant/extra/vagrant/install-local.sh
+2
View File
@@ -0,0 +1,2 @@
#!/bin/bash
sudo apt-get -y install curl git mercurial bison make
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
rm -rf /home/vagrant/.gvm
cp -r /vagrant /home/vagrant/.gvm
echo "export GVM_ROOT=/vagrant
. \$GVM_ROOT/scripts/gvm-default" > /home/vagrant/.gvm/scripts/gvm
echo ". /home/vagrant/.gvm/scripts/gvm"
+3 -3
View File
@@ -4,7 +4,7 @@
display_usage() {
display_message "Usage: gvm cross [os] [arch]"
display_message " os = linux/darwin/windows"
display_message " arch = amd64/386 (arm unsupported)"
display_message " arch = amd64/386/arm"
}
display_list() {
@@ -25,9 +25,9 @@ which go &> /dev/null || display_fatal "Only available in versions after Go 1"
[ -z "$1" ] && display_list
if [ ! -f "$GOROOT/pkg/tool/cross" ]; then
display_message "Installing x86 and x86-64 commands"
display_message "Installing x86, x86-64, and ARM commands"
set -e
for arch in 8 6; do
for arch in 8 6 5; do
for cmd in a c g l; do
go tool dist install -v cmd/$arch$cmd ||
display_fatal "Couldn't compile tool: $arch$cmd"
+1 -1
View File
@@ -11,7 +11,7 @@ function gvm_pkgset_use() {
local LOCAL_TOP=$(find_local_pkgset)
unset -f find_local_pkgset
[[ -d $LOCAL_TOP ]] ||
display_error "Caonnt find local pakcage set" || return 1
display_error "Cannot find local package set" || return 1
LOCAL_TOP=$LOCAL_TOP/.gvm_local
fuzzy_match=$($LS_PATH "$LOCAL_TOP/environments" | $SORT_PATH | $GREP_PATH "$gvm_go_name@" | $GREP_PATH "local" | $HEAD_PATH -n 1) ||
+24 -12
View File
@@ -1,37 +1,49 @@
#!/usr/bin/env bash
. "$GVM_ROOT/scripts/functions"
error_message=""
# Check for hg
which hg &> /dev/null ||
display_warning "Could not find mercurial
error_message="${error_message}
Could not find mercurial
linux: apt-get install mercurial
mac: brew install mercurial
" || exit 1
"
# Check for ar
which ar &> /dev/null ||
display_warning "Could not find binutils
error_message="${error_message}
Could not find binutils
linux: apt-get install binutils
" || exit 1
"
# Check for bison
which bison &> /dev/null ||
display_warning "Could not find bison
error_message="${error_message}
Could not find bison
linux: apt-get install bison
" || exit 1
"
# Check for gcc
which gcc &> /dev/null ||
display_warning "Could not find gcc
error_message="${error_message}
Could not find gcc
linux: apt-get install gcc
" || exit 1
"
# Check for make
which make &> /dev/null ||
display_warning "Could not find make
error_message="${error_message}
Could not find make
linux: apt-get install make
" || exit 1
"
# All good!
exit 0
if [ -n "$error_message" ]; then
display_warning "$error_message"
exit 1
else
# All good!
exit 0
fi
+80 -48
View File
@@ -8,6 +8,7 @@ function show_usage() {
echo " -pb, --with-protobuf Install Go protocol buffers."
echo " -b, --with-build-tools Install package build tools."
echo " -B, --binary Only install from binary."
echo " --prefer-binary Attempt a binary install, falling back to source."
echo " -h, --help Display this message."
}
@@ -38,6 +39,9 @@ read_command_line() {
-B|--binary)
INSTALL_SOURCE="binary"
;;
--prefer-binary)
INSTALL_SOURCE="prefer-binary"
;;
-h|--help)
show_usage
exit 0
@@ -56,7 +60,7 @@ download_source() {
[[ -d $GO_CACHE_PATH ]] && return
display_message "Downloading Go source..."
hg clone "$GO_SOURCE_URL" "$GO_CACHE_PATH" >> "$GVM_ROOT/logs/go-download.log" 2>&1 ||
display_fatal "Couldn't download Go source\nCheck the logs $GVM_ROOT/logs/go-download.log"
display_fatal "Couldn't download Go source. Check the logs $GVM_ROOT/logs/go-download.log"
}
check_tag() {
@@ -66,12 +70,12 @@ check_tag() {
update_source() {
display_message "Updating Go source..."
hg pull -R "$GO_CACHE_PATH" >> "$GVM_ROOT/logs/go-download.log" 2>&1 ||
display_fatal "Couldn't get latest Go version info\nCheck the logs $GVM_ROOT/logs/go-download.log"
display_fatal "Couldn't get latest Go version info. Check the logs $GVM_ROOT/logs/go-download.log"
}
copy_source() {
hg clone -u "$version" "$GO_CACHE_PATH" "$GO_INSTALL_ROOT" >> "$GVM_ROOT/logs/go-$GO_NAME-install.log" 2>&1 ||
display_fatal "Couldn't copy source to target folder,\nCheck the logs $GVM_ROOT/logs/go-$GO_NAME-install.log"
display_fatal "Couldn't copy source to target folder. Check the logs $GVM_ROOT/logs/go-$GO_NAME-install.log"
}
@@ -83,7 +87,7 @@ compile_go() {
export GOROOT=$GO_INSTALL_ROOT &&
#cd $GO_INSTALL_ROOT/src && ./all.bash &> $GVM_ROOT/logs/go-$GO_NAME-compile.log ||
cd "$GO_INSTALL_ROOT/src" && ./make.bash &> "$GVM_ROOT/logs/go-$GO_NAME-compile.log" ||
(rm -rf "$GO_INSTALL_ROOT" && display_fatal "Failed to compile\nCheck the logs at $GVM_ROOT/logs/go-$GO_NAME-compile.log")
(rm -rf "$GO_INSTALL_ROOT" && display_fatal "Failed to compile. Check the logs at $GVM_ROOT/logs/go-$GO_NAME-compile.log")
}
create_enviroment() {
@@ -109,12 +113,12 @@ create_enviroment() {
create_global_package_set() {
# Create the global package set folder
mkdir -p "$GVM_ROOT/pkgsets/$GO_NAME" >> "$GVM_ROOT/logs/go-$GO_NAME-install.log" 2>&1 ||
display_fatal "Couldn't create global package set folder\nCheck the logs at ${GVM_ROOT}/logs/go-${GO_NAME}-install.log"
display_fatal "Couldn't create global package set folder. Check the logs at ${GVM_ROOT}/logs/go-${GO_NAME}-install.log"
GVM_OVERLAY_ROOT="${GVM_ROOT}/pkgsets/${GO_NAME}/global/overlay"
mkdir -p "${GVM_OVERLAY_ROOT}/lib/pkgconfig" >> "${GVM_ROOT}/logs/go-${GO_NAME}-install.log" 2>&1 ||
display_fatal "Couldn't create global overlay library directory\nCheck the logs at ${GVM_ROOT}/logs/go-${GO_NAME}-install.log"
display_fatal "Couldn't create global overlay library directory. Check the logs at ${GVM_ROOT}/logs/go-${GO_NAME}-install.log"
mkdir -p "${GVM_OVERLAY_ROOT}/bin" >> "${GVM_ROOT}/logs/go-${GO_NAME}-install.log" 2>&1 ||
display_fatal "Couldn't create global overlay bin directory\nCheck the logs at ${GVM_ROOT}/logs/go-${GO_NAME}-install.log"
display_fatal "Couldn't create global overlay bin directory. Check the logs at ${GVM_ROOT}/logs/go-${GO_NAME}-install.log"
}
install_go() {
@@ -148,6 +152,17 @@ download_binary() {
if [ "$(uname)" == "Darwin" ]; then
GVM_OS="darwin"
osx_major_version="$(sw_vers -productVersion | cut -d "." -f 2)"
if [ "${osx_major_version}" -ge 8 ]; then
GVM_OS_VERSION="-osx10.8"
elif [ "${osx_major_version}" -ge 6 ]; then
GVM_OS_VERSION="-osx10.6"
else
display_error "Binary Go unavailable for this platform"
rm -rf $GO_INSTALL_ROOT
rm -f $GO_BINARY_PATH
exit 1
fi
else
GVM_OS="linux"
fi
@@ -158,18 +173,25 @@ download_binary() {
GVM_ARCH="386"
fi
GO_BINARY_FILE=${VERSION}.${GVM_OS}-${GVM_ARCH}.tar.gz
GO_BINARY_URL="https://storage.googleapis.com/golang/${GO_BINARY_FILE}"
GO_BINARY_FILE=${VERSION}.${GVM_OS}-${GVM_ARCH}${GVM_OS_VERSION}.tar.gz
GO_BINARY_URL="http://golang.org/dl/${GO_BINARY_FILE}"
GO_BINARY_PATH=${GVM_ROOT}/archive/${GO_BINARY_FILE}
if [ ! -f $GO_BINARY_PATH ]; then
curl -s -f -L $GO_BINARY_URL > ${GO_BINARY_PATH}
if [[ $? -ne 0 ]]; then
display_error "Failed to download binary go"
rm -rf $GO_INSTALL_ROOT
rm -f $GO_BINARY_PATH
exit 1
display_error "Failed to download binary go from http://golang.org. Trying https://go.googlecode.com"
GO_BINARY_URL="https://go.googlecode.com/files/go${GO_BINARY_FILE}"
curl -s -f -L $GO_BINARY_URL > ${GO_BINARY_PATH}
if [[ $? -ne 0 ]]; then
display_error "Failed to download binary go"
rm -rf $GO_INSTALL_ROOT
rm -f $GO_BINARY_PATH
exit 1
fi
fi
fi
@@ -224,67 +246,77 @@ install_goprotobuf() {
if [[ "$GVM_GOINSTALL" == "goinstall" ]]; then
$GVM_GOINSTALL goprotobuf.googlecode.com/hg/proto > "$GVM_ROOT/logs/$GO_NAME-pb-compiler.log" 2>&1
if [[ $? -ne 0 ]]; then
display_warning "Failed to install goprotobuf\nCheck the logs at $GVM_ROOT/logs/$GO_NAME-pb-compiler.log"
display_warning "Failed to install goprotobuf. Check the logs at $GVM_ROOT/logs/$GO_NAME-pb-compiler.log"
return 1
fi
cd "$GVM_ROOT/gos/$GO_NAME/src/pkg/goprotobuf.googlecode.com/hg/compiler"
make install >> "$GVM_ROOT/logs/$GO_NAME-pb-compiler.log" 2>&1
if [[ $? -ne 0 ]]; then
display_warning "Failed to install goprotobuf compiler\nCheck the logs at $GVM_ROOT/logs/$GO_NAME-pb-compiler.log"
display_warning "Failed to install goprotobuf compiler. Check the logs at $GVM_ROOT/logs/$GO_NAME-pb-compiler.log"
return 1
fi
else
$GVM_GOINSTALL code.google.com/p/goprotobuf/proto > "$GVM_ROOT/logs/$GO_NAME-pb-compiler.log" 2>&1
if [[ $? -ne 0 ]]; then
display_warning "Failed to install goprotobuf\nCheck the logs at $GVM_ROOT/logs/$GO_NAME-pb-compiler.log"
display_warning "Failed to install goprotobuf. Check the logs at $GVM_ROOT/logs/$GO_NAME-pb-compiler.log"
return 1
fi
$GVM_GOINSTALL code.google.com/p/goprotobuf/protoc-gen-go > "$GVM_ROOT/logs/$GO_NAME-pb-compiler.log" 2>&1
if [[ $? -ne 0 ]]; then
display_warning "Failed to install goprotobuf compiler\nCheck the logs at $GVM_ROOT/logs/$GO_NAME-pb-compiler.log"
display_warning "Failed to install goprotobuf compiler. Check the logs at $GVM_ROOT/logs/$GO_NAME-pb-compiler.log"
return 1
fi
fi
}
install_from_source() {
download_source
check_tag
if [[ "$?" == "1" ]]; then
update_source
check_tag || display_fatal "Unrecognized Go version"
fi
if [[ "$GO_NAME" == "" ]]; then
GO_NAME=$version
fi
install_go
GVM_GOINSTALL="goinstall"
which goinstall &> /dev/null ||
GVM_GOINSTALL="go get"
x="$(hg tags -R "$GO_CACHE_PATH")"; echo "${x#*b0819469a6df}" | $GREP_PATH "$version " &> /dev/null
if [[ "$?" == "1" ]]; then
if [[ "$INSTALL_BUILD_TOOLS" == "true" ]]; then
install_gb || display_warning "Failed to install gb"
install_gpkg || display_warning "Failed to install gpkg"
fi
if [[ "$INSTALL_PB" == "true" ]]; then
install_goprotobuf
fi
fi
cd "$GO_INSTALL_ROOT" && find . > manifest
}
main() {
trap 'display_fatal "Canceled!"' INT
read_command_line "$@"
[[ "$VERSION" == "" ]] && display_fatal "No version specified"
if [[ "x$INSTALL_SOURCE" != "xbinary" ]]; then
download_source
check_tag
if [[ "$?" == "1" ]]; then
update_source
check_tag || display_fatal "Unrecognized Go version"
fi
if [[ "$GO_NAME" == "" ]]; then
GO_NAME=$version
fi
install_go
else
if [[ "$GO_NAME" == "" ]]; then
GO_NAME=$VERSION
fi
install_go_binary
if [[ "$GO_NAME" == "" ]]; then
GO_NAME=$VERSION
fi
GVM_GOINSTALL="goinstall"
which goinstall &> /dev/null ||
GVM_GOINSTALL="go get"
if [[ "x$INSTALL_SOURCE" != "xbinary" ]]; then
x="$(hg tags -R "$GO_CACHE_PATH")"; echo "${x#*b0819469a6df}" | $GREP_PATH "$version " &> /dev/null
if [[ "$?" == "1" ]]; then
if [[ "$INSTALL_BUILD_TOOLS" == "true" ]]; then
install_gb || display_warning "Failed to install gb"
install_gpkg || display_warning "Failed to install gpkg"
fi
if [[ "$INSTALL_PB" == "true" ]]; then
install_goprotobuf
fi
fi
if [[ "x$INSTALL_SOURCE" == "xbinary" ]]; then
install_go_binary
elif [[ "x$INSTALL_SOURCE" == "xprefer-binary" ]]; then
install_go_binary || {
display_message "Falling back to source installation of $GO_NAME"
install_from_source
}
else
install_from_source
fi
cd "$GO_INSTALL_ROOT" && find . > manifest
+3 -6
View File
@@ -1,15 +1,12 @@
## Cleanup test objects
gvm uninstall tip > /dev/null 2>&1
gvm uninstall go1.0.3 > /dev/null 2>&1
gvm uninstall go1.1.1 > /dev/null 2>&1
gvm uninstall go1.2 > /dev/null 2>&1
gvm uninstall go1.2.2 > /dev/null 2>&1
#######################
gvm install tip #status=0
gvm list #status=0; match=/tip/
gvm install go1.0.3 #status=0
gvm list #status=0; match=/go1.0.3/
gvm install go1.1.1 #status=0
gvm list #status=0; match=/go1.1.1/
gvm install go1.2 #status=0
gvm list #status=0; match=/go1.2/
gvm install go1.2.2 #status=0
gvm list #status=0; match=/go1.2.2/
+7 -7
View File
@@ -6,14 +6,14 @@ gvm alias delete bar
#######################
gvm alias # status=0
gvm alias create foo go1.2 # status=0
gvm alias create bar go1.0.3 # status=0
gvm alias list # status=0; match=/gvm go aliases/; match=/foo \(go1\.2\)/; match=/bar \(go1\.0\.3\)/
gvm alias create foo go1.2.2 # status=0
gvm alias create bar go1.1.1 # status=0
gvm alias list # status=0; match=/gvm go aliases/; match=/foo \(go1\.2\.2\)/; match=/bar \(go1\.1\.1\)/
gvm use foo # status=0
go version # status=0; match=/go1\.2/
go version # status=0; match=/go1\.2\.2/
gvm use bar # status=0
go version # status=0; match=/go1\.0\.3/
go version # status=0; match=/go1\.1\.1/
gvm alias delete foo
gvm alias list # status=0; match=/gvm go aliases/; match!=/foo \(go1\.2\)/; match=/bar \(go1\.0\.3\)/
gvm alias list # status=0; match=/gvm go aliases/; match!=/foo \(go1\.2\.2\)/; match=/bar \(go1\.1\.1\)/
gvm alias delete bar
gvm alias list # status=0; match=/gvm go aliases/; match!=/foo \(go1\.2\)/; match!=/bar \(go1\.0\.3\)/
gvm alias list # status=0; match=/gvm go aliases/; match!=/foo \(go1\.2\.2\)/; match!=/bar \(go1\.1\.1\)/
+4 -4
View File
@@ -1,5 +1,5 @@
source $GVM_ROOT/scripts/gvm
gvm use go1.2 # status=0
go version # status=0; match=/go1\.2/
gvm use go1.0.3 # status=0
go version # status=0; match=/go1\.0\.3/
gvm use go1.2.2 # status=0
go version # status=0; match=/go1\.2\.2/
gvm use go1.1.1 # status=0
go version # status=0; match=/go1\.1\.1/
@@ -0,0 +1 @@
gvm install go1.2.2 --binary #status=0
@@ -0,0 +1 @@
gvm install go1.2.2 #status=0
@@ -0,0 +1 @@
gvm install go1.2 --prefer-binary #status=0