mirror of
https://github.com/wahyd4/gvm.git
synced 2026-08-10 05:16:13 +10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d108d7d500 | ||
|
|
11f9d95444 | ||
|
|
557ddf9e4c | ||
|
|
8ffc7cc61e | ||
|
|
f320151f4a | ||
|
|
0f01e8130d | ||
|
|
e27f83653f | ||
|
|
b38be0c606 | ||
|
|
c1ec392bdd | ||
|
|
bc2b638de8 | ||
|
|
ff6c3be377 | ||
|
|
7d722aee3f | ||
|
|
0e7aeb4975 | ||
|
|
049692d68e | ||
|
|
dffb71a9b6 | ||
|
|
4b719612ef | ||
|
|
42acf600b1 | ||
|
|
0ee31867c6 | ||
|
|
e9a74f86ad | ||
|
|
b5be10428c | ||
|
|
53a7b7de5b | ||
|
|
38f97024af | ||
|
|
c8410e0ca9 | ||
|
|
330dad10e4 | ||
|
|
51130f4be3 | ||
|
|
175625a166 | ||
|
|
3554b6ae2a | ||
|
|
391fd44838 | ||
|
|
1e78c798d2 | ||
|
|
edbcda1745 | ||
|
|
d0b8ae1cf4 | ||
|
|
1e9bca22a8 | ||
|
|
402f71240e | ||
|
|
9022d4b148 | ||
|
|
81fc036d26 | ||
|
|
aa8763043d | ||
|
|
2eaf690325 | ||
|
|
37e9909e3d | ||
|
|
74380b3454 | ||
|
|
9a5ffcb189 | ||
|
|
ab0e9e7c25 | ||
|
|
99abb6d6ee | ||
|
|
3d24872ac7 | ||
|
|
ed13433a66 | ||
|
|
224a8deb25 | ||
|
|
c94d65bce5 | ||
|
|
189e5403e4 | ||
|
|
3df1de73d7 | ||
|
|
4465f22f83 | ||
|
|
77f7e03c3d | ||
|
|
38c97abde2 | ||
|
|
24e475d6ff | ||
|
|
0792044442 | ||
|
|
85f613741a | ||
|
|
621fba9837 | ||
|
|
fd0ab70399 | ||
|
|
c14d8b0560 | ||
|
|
52e888f187 |
@@ -0,0 +1,7 @@
|
||||
language: c
|
||||
os: [linux, osx]
|
||||
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/*
|
||||
@@ -7,9 +7,10 @@ Features
|
||||
========
|
||||
* Install/Uninstall Go versions with `gvm install [tag]` where tag is "60.3", "go1", "weekly.2011-11-08", or "tip"
|
||||
* List added/removed files in GOROOT with `gvm diff`
|
||||
* Manage GOPATHs with `gvm pkgset [create/use/delete] [name]`
|
||||
* Manage GOPATHs with `gvm pkgset [create/use/delete] [name]`. Use `--local` as `name` to manage repository under local path (`/path/to/repo/.gvm_local`).
|
||||
* List latest release tags with `gvm listall`. Use `--all` to list weekly as well.
|
||||
* Cache a clean copy of the latest Go source for multiple version installs.
|
||||
* Link project directories into GOPATH
|
||||
|
||||
Background
|
||||
==========
|
||||
@@ -22,7 +23,7 @@ Installing
|
||||
|
||||
To install:
|
||||
|
||||
bash < <(curl -s https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer)
|
||||
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
|
||||
|
||||
Installing Go
|
||||
=============
|
||||
@@ -55,9 +56,13 @@ If that doesn't work see the troubleshooting steps at the bottom of this page.
|
||||
|
||||
Mac OS X Requirements
|
||||
====================
|
||||
Install mercurial from http://mercurial.berkwood.com/
|
||||
* Install Mercurial from http://mercurial.berkwood.com/
|
||||
* Install Xcode Command Line Tools from the App Store.
|
||||
|
||||
Linux Requirements
|
||||
==================
|
||||
|
||||
Debian/Ubuntu
|
||||
==================
|
||||
sudo apt-get install curl
|
||||
sudo apt-get install git
|
||||
@@ -66,6 +71,19 @@ Linux Requirements
|
||||
sudo apt-get install binutils
|
||||
sudo apt-get install bison
|
||||
sudo apt-get install gcc
|
||||
sudo apt-get install build-essential
|
||||
|
||||
Redhat/Centos
|
||||
==================
|
||||
|
||||
sudo yum install curl
|
||||
sudo yum install git
|
||||
sudo yum install make
|
||||
sudo yum install gcc
|
||||
sudo yum install bison-devel
|
||||
sudo yum install glibc-devel
|
||||
|
||||
* Install Mercurial from http://pkgs.repoforge.org/mercurial/
|
||||
|
||||
FreeBSD Requirements
|
||||
====================
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
# gvm
|
||||
|
||||
[](https://travis-ci.org/moovweb/gvm)
|
||||
|
||||
by Josh Bussdieker (jbuss, jaja, jbussdieker)
|
||||
|
||||
GVM provides an interface to manage Go versions.
|
||||
@@ -10,6 +13,7 @@ Features
|
||||
* Manage GOPATHs with `gvm pkgset [create/use/delete] [name]`. Use `--local` as `name` to manage repository under local path (`/path/to/repo/.gvm_local`).
|
||||
* List latest release tags with `gvm listall`. Use `--all` to list weekly as well.
|
||||
* Cache a clean copy of the latest Go source for multiple version installs.
|
||||
* Link project directories into GOPATH
|
||||
|
||||
Background
|
||||
==========
|
||||
@@ -22,7 +26,7 @@ Installing
|
||||
|
||||
To install:
|
||||
|
||||
bash < <(curl -s https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer)
|
||||
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
|
||||
|
||||
Installing Go
|
||||
=============
|
||||
@@ -51,11 +55,17 @@ To completely remove gvm and all installed Go versions and packages:
|
||||
|
||||
gvm implode
|
||||
|
||||
If that doesn't work see the troubleshooting steps at the bottom of this page.
|
||||
|
||||
Mac OS X Requirements
|
||||
====================
|
||||
Install mercurial from http://mercurial.berkwood.com/
|
||||
* Install Mercurial from http://mercurial.berkwood.com/
|
||||
* Install Xcode Command Line Tools from the App Store.
|
||||
|
||||
Linux Requirements
|
||||
==================
|
||||
|
||||
Debian/Ubuntu
|
||||
==================
|
||||
sudo apt-get install curl
|
||||
sudo apt-get install git
|
||||
@@ -64,6 +74,19 @@ Linux Requirements
|
||||
sudo apt-get install binutils
|
||||
sudo apt-get install bison
|
||||
sudo apt-get install gcc
|
||||
sudo apt-get install build-essential
|
||||
|
||||
Redhat/Centos
|
||||
==================
|
||||
|
||||
sudo yum install curl
|
||||
sudo yum install git
|
||||
sudo yum install make
|
||||
sudo yum install bison
|
||||
sudo yum install gcc
|
||||
sudo yum install glibc-devel
|
||||
|
||||
* Install Mercurial from http://pkgs.repoforge.org/mercurial/
|
||||
|
||||
FreeBSD Requirements
|
||||
====================
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[ -n "$GVM_DEBUG" ] && {
|
||||
set -x
|
||||
}
|
||||
|
||||
if [ -z "$GVM_ROOT" ]; then
|
||||
tput sgr0
|
||||
tput setaf 1
|
||||
echo 'ERROR: $GVM_ROOT is not set! Please add the following line to your .bashrc or .profile
|
||||
echo 'ERROR: GVM_ROOT is not set! Please add the following line to your .bashrc or .profile
|
||||
|
||||
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"
|
||||
' >&2
|
||||
@@ -10,15 +15,15 @@ if [ -z "$GVM_ROOT" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
. $GVM_ROOT/scripts/functions || exit 1
|
||||
. "$GVM_ROOT/scripts/functions" || exit 1
|
||||
|
||||
command=$1
|
||||
if [[ $command == "implode" ]]; then
|
||||
rm -rf $GVM_ROOT
|
||||
gvm_implode
|
||||
exit 0
|
||||
fi
|
||||
|
||||
$GVM_ROOT/scripts/gvm-check
|
||||
"$GVM_ROOT/scripts/gvm-check"
|
||||
if [[ "$?" != "0" ]]; then
|
||||
display_fatal "Missing requirements."
|
||||
fi
|
||||
@@ -26,9 +31,9 @@ fi
|
||||
if [[ $command == "version" ]]; then
|
||||
display_message "Go Version Manager v$GVM_VERSION installed at $GVM_ROOT"
|
||||
else
|
||||
if [ -f $GVM_ROOT/scripts/$command ]; then
|
||||
if [ -f "$GVM_ROOT/scripts/$command" ]; then
|
||||
shift
|
||||
$GVM_ROOT/scripts/$command $@
|
||||
"$GVM_ROOT/scripts/$command" "$@"
|
||||
elif [[ -n $command ]]; then
|
||||
display_fatal "Unrecognized command line argument: '$command'"
|
||||
else
|
||||
@@ -46,10 +51,12 @@ Commands:
|
||||
install - install go versions
|
||||
uninstall - uninstall go versions
|
||||
cross - install go cross compilers
|
||||
linkthis - link this directory into GOPATH
|
||||
list - list installed go versions
|
||||
listall - list available versions
|
||||
alias - manage go version aliases
|
||||
pkgset - manage go packages sets
|
||||
pkgenv - edit the environment for a package set
|
||||
"
|
||||
fi
|
||||
fi
|
||||
|
||||
+5
-4
@@ -1,9 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function gvm_prompt() {
|
||||
if [[ "$1" == "g" ]]; then
|
||||
echo $gvm_go_name
|
||||
echo "$gvm_go_name"
|
||||
elif [[ "$1" == "ps" ]]; then
|
||||
echo $gvm_pkgset_name
|
||||
echo "$gvm_pkgset_name"
|
||||
else
|
||||
if [[ $gvm_pkgset_name != "" ]]; then
|
||||
if [[ $gvm_pkgset_name != "global" ]]; then
|
||||
@@ -11,8 +12,8 @@ function gvm_prompt() {
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
echo $gvm_go_name
|
||||
echo "$gvm_go_name"
|
||||
fi
|
||||
}
|
||||
|
||||
gvm_prompt $@
|
||||
gvm_prompt "$@"
|
||||
|
||||
+2
-2
@@ -43,8 +43,8 @@ done
|
||||
|
||||
if [[ $# -gt 0 ]]
|
||||
then
|
||||
eval sudo "${sudo_args[@]}" /usr/bin/env $(/usr/bin/env | grep -E '^GO|^GVM|^PATH' | sed 's/=\(.*\)$/="\1"/' ) "$@"
|
||||
eval sudo "${sudo_args[@]}" /usr/bin/env "$(/usr/bin/env | grep -E '^GO|^GVM|^PATH' | sed 's/=\(.*\)$/="\1"/' )" "$@"
|
||||
else
|
||||
printf "Usage:\n $0 [--trace] [--verbose] [sudo-options] command [command-options]\n"
|
||||
printf "Usage:\n %s [--trace] [--verbose] [sudo-options] command [command-options]\n $0"
|
||||
fi
|
||||
|
||||
|
||||
+55
-41
@@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
display_error() {
|
||||
tput sgr0
|
||||
tput setaf 1
|
||||
@@ -8,11 +9,11 @@ display_error() {
|
||||
}
|
||||
|
||||
update_profile() {
|
||||
[ -f $1 ] || return 1
|
||||
[ -f "$1" ] || return 1
|
||||
|
||||
cat $1 | grep "$source_line" > /dev/null 2>&1
|
||||
grep "$source_line" "$1" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "$source_line" >> $1
|
||||
echo "$source_line" >> "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -22,9 +23,9 @@ check_existing_go() {
|
||||
return
|
||||
fi
|
||||
echo "Created profile for existing install of Go at $GOROOT"
|
||||
mkdir -p $GVM_DEST/$GVM_NAME/environments &> /dev/null || display_error "Failed to create environment directory"
|
||||
mkdir -p $GVM_DEST/$GVM_NAME/pkgsets/system/global &> /dev/null || display_error "Failed to create new package set"
|
||||
mkdir -p $GVM_DEST/$GVM_NAME/gos/system &> /dev/null || display_error "Failed to create new Go folder"
|
||||
mkdir -p "$GVM_DEST/$GVM_NAME/environments" &> /dev/null || display_error "Failed to create environment directory"
|
||||
mkdir -p "$GVM_DEST/$GVM_NAME/pkgsets/system/global" &> /dev/null || display_error "Failed to create new package set"
|
||||
mkdir -p "$GVM_DEST/$GVM_NAME/gos/system" &> /dev/null || display_error "Failed to create new Go folder"
|
||||
cat << EOF > $GVM_DEST/$GVM_NAME/environments/system
|
||||
# Automatically generated file. DO NOT EDIT!
|
||||
export GVM_ROOT; GVM_ROOT="$GVM_DEST/$GVM_NAME"
|
||||
@@ -36,62 +37,75 @@ export PATH; PATH="$GVM_DEST/$GVM_NAME/pkgsets/system/global:$GOROOT/bin:$GVM_RO
|
||||
EOF
|
||||
}
|
||||
|
||||
BRANCH=$1
|
||||
GVM_DEST=$2
|
||||
if [ "$GVM_DEST" == "" ]; then
|
||||
GVM_DEST="$HOME"
|
||||
GVM_NAME=".gvm"
|
||||
else
|
||||
GVM_NAME="gvm"
|
||||
fi
|
||||
BRANCH=${1:-master}
|
||||
GVM_DEST=${2:-$HOME}
|
||||
GVM_NAME="gvm"
|
||||
SRC_REPO=${SRC_REPO:-https://github.com/moovweb/gvm.git}
|
||||
|
||||
if [ "$SRC_REPO" == "" ]; then
|
||||
SRC_REPO=https://github.com/moovweb/gvm.git
|
||||
fi
|
||||
[ "$GVM_DEST" = "$HOME" ] && GVM_NAME=".gvm"
|
||||
|
||||
[ "$GVM_DEST" == "" ] && display_error "No destination specified!"
|
||||
[ -d $GVM_DEST/$GVM_NAME ] && display_error "Already installed!"
|
||||
[ -d $GVM_DEST ] || mkdir -p $GVM_DEST > /dev/null 2>&1 || display_error "Failed to create $GVM_DEST"
|
||||
[ -z `which git` ] && display_error "Could not find git
|
||||
[ -d "$GVM_DEST/$GVM_NAME" ] && display_error "Already installed!"
|
||||
[ -d "$GVM_DEST" ] || mkdir -p "$GVM_DEST" > /dev/null 2>&1 || display_error "Failed to create $GVM_DEST"
|
||||
[ -z "$(which git)" ] && display_error "Could not find git
|
||||
|
||||
linux: apt-get install git
|
||||
debian/ubuntu: apt-get install git
|
||||
redhat/centos: yum install git
|
||||
mac: brew install git
|
||||
"
|
||||
|
||||
cd $GVM_DEST && git clone $SRC_REPO $GVM_NAME > /dev/null 2>&1 ||
|
||||
display_error "Failed to clone from $SRC_REPO into $GVM_DEST/$GVM_NAME"
|
||||
# Is gvm-installer being called from the origin repo?
|
||||
# If so, skip the clone and source locally!
|
||||
# This prevents, the CI to break on non-merge commits
|
||||
|
||||
if [ "$BRANCH" != "" ]; then
|
||||
cd $GVM_DEST/$GVM_NAME && git checkout $BRANCH > /dev/null 2>&1 ||
|
||||
display_error "Failed to checkout $BRANCH branch"
|
||||
fi
|
||||
GIT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
|
||||
|
||||
mv $GVM_DEST/$GVM_NAME/.git $GVM_DEST/$GVM_NAME/git.bak
|
||||
if [[ -z "$GIT_ROOT" || "$(basename "$GIT_ROOT")" != "gvm" ]]
|
||||
then
|
||||
echo "Cloning from $SRC_REPO to $GVM_DEST/$GVM_NAME"
|
||||
|
||||
if [ "$GVM_NAME" == ".gvm" ]; then
|
||||
source_line="[[ -s \"\$HOME/.gvm/scripts/gvm\" ]] && source \"\$HOME/.gvm/scripts/gvm\""
|
||||
source_file="\$HOME/.gvm/scripts/gvm"
|
||||
git clone --quiet "$SRC_REPO" "$GVM_DEST/$GVM_NAME" 2> /dev/null ||
|
||||
display_error "Failed to clone from $SRC_REPO into $GVM_DEST/$GVM_NAME"
|
||||
else
|
||||
source_line="[[ -s \"${GVM_DEST}/gvm/scripts/gvm\" ]] && source \"${GVM_DEST}/gvm/scripts/gvm\""
|
||||
source_file="${GVM_DEST}/gvm/scripts/gvm"
|
||||
if [[ $GVM_DEST == *"$GIT_ROOT"* ]]
|
||||
then
|
||||
ln -s "$GIT_ROOT" "$GVM_DEST"
|
||||
else
|
||||
cp -r "$GIT_ROOT" "$GVM_DEST/$GVM_NAME"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "`uname`" == "Linux" ]; then
|
||||
update_profile $HOME/.bashrc || update_profile $HOME/.bash_profile
|
||||
elif [ "`uname`" == "Darwin" ]; then
|
||||
update_profile $HOME/.profile || update_profile $HOME/.bash_profile
|
||||
# GVM_DEST may be a non-relative path
|
||||
# i.e: gvm-installer master foo
|
||||
pushd . > /dev/null
|
||||
|
||||
cd "$GVM_DEST/$GVM_NAME" && git checkout --quiet "$BRANCH" 2> /dev/null || display_error "Failed to checkout $BRANCH branch"
|
||||
|
||||
popd > /dev/null
|
||||
|
||||
mv "$GVM_DEST/$GVM_NAME/.git" "$GVM_DEST/$GVM_NAME/git.bak"
|
||||
|
||||
source_line="[[ -s \"${GVM_DEST}/$GVM_NAME/scripts/gvm\" ]] && source \"${GVM_DEST}/$GVM_NAME/scripts/gvm\""
|
||||
source_file="${GVM_DEST}/$GVM_NAME/scripts/gvm"
|
||||
|
||||
if [ -n "$ZSH_NAME" ]; then
|
||||
update_profile "$HOME/.zshrc"
|
||||
elif [ "$(uname)" == "Linux" ]; then
|
||||
update_profile "$HOME/.bashrc" || update_profile "$HOME/.bash_profile"
|
||||
elif [ "$(uname)" == "Darwin" ]; then
|
||||
update_profile "$HOME/.profile" || update_profile "$HOME/.bash_profile"
|
||||
fi
|
||||
|
||||
if [ "$?" != "0" ]; then
|
||||
echo 'Unable to locate profile settings file'
|
||||
echo "Unable to locate profile settings file(Something like $HOME/.bashrc or $HOME/.bash_profile)"
|
||||
echo
|
||||
echo " You will have to manually add the following line:"
|
||||
echo
|
||||
echo " $source_line"
|
||||
echo
|
||||
fi
|
||||
echo "export GVM_ROOT=$GVM_DEST/$GVM_NAME" > $GVM_DEST/$GVM_NAME/scripts/gvm
|
||||
echo ". \$GVM_ROOT/scripts/gvm-default" >> $GVM_DEST/$GVM_NAME/scripts/gvm
|
||||
|
||||
echo "export GVM_ROOT=$GVM_DEST/$GVM_NAME" > "$GVM_DEST/$GVM_NAME/scripts/gvm"
|
||||
echo ". \$GVM_ROOT/scripts/gvm-default" >> "$GVM_DEST/$GVM_NAME/scripts/gvm"
|
||||
check_existing_go
|
||||
[[ -s "$GVM_DEST/$GVM_NAME/scripts/gvm" ]] && source "$GVM_DEST/$GVM_NAME/scripts/gvm"
|
||||
echo "Installed GVM v${GVM_VERSION}"
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
command=$1
|
||||
if [[ -f $GVM_ROOT/scripts/alias-$command ]]; then
|
||||
shift
|
||||
$GVM_ROOT/scripts/alias-$command $@
|
||||
"$GVM_ROOT/scripts/alias-$command" "$@"
|
||||
elif [[ -n $command ]]; then
|
||||
display_fatal "Unrecognized command line argument: '$command'"
|
||||
else
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
[[ $1 != "" ]] ||
|
||||
display_fatal "Please specifiy the alias name"
|
||||
@@ -12,12 +12,12 @@
|
||||
[[ -f "$GVM_ROOT/environments/$2" ]] ||
|
||||
display_fatal "Target doesn't exist!"
|
||||
|
||||
mkdir -p $GVM_ROOT/environments ||
|
||||
mkdir -p "$GVM_ROOT/environments" ||
|
||||
display_fatal "Could not create folder"
|
||||
mkdir -p $GVM_ROOT/gos/$1 ||
|
||||
mkdir -p "$GVM_ROOT/gos/$1" ||
|
||||
display_fatal "Could not create folder"
|
||||
cp $GVM_ROOT/environments/$2 $GVM_ROOT/environments/$1 ||
|
||||
cp "$GVM_ROOT/environments/$2" "$GVM_ROOT/environments/$1" ||
|
||||
display_fatal "Could copy environment"
|
||||
echo "export gvm_alias_name=\"$1\"" >> $GVM_ROOT/environments/$1 ||
|
||||
echo "export gvm_alias_name=\"$1\"" >> "$GVM_ROOT/environments/$1" ||
|
||||
display_fatal "Could not extend environment"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
[[ $1 != "" ]] ||
|
||||
display_fatal "Please specifiy the name"
|
||||
@@ -7,12 +7,12 @@
|
||||
[[ -f $GVM_ROOT/environments/$1 ]] ||
|
||||
display_fatal "Alias doesn't exist!"
|
||||
|
||||
cat $GVM_ROOT/environments/$1 | $GREP_PATH "gvm_alias_name" > /dev/null ||
|
||||
$GREP_PATH "gvm_alias_name" "$GVM_ROOT/environments/$1" > /dev/null ||
|
||||
display_fatal "$1 is not an alias!"
|
||||
|
||||
rm -rf $GVM_ROOT/environments/$1 ||
|
||||
rm -rf "$GVM_ROOT/environments/$1" ||
|
||||
display_fatal "Could not delete alias"
|
||||
|
||||
rm -rf $GVM_ROOT/gos/$1 ||
|
||||
rm -rf "$GVM_ROOT/gos/$1" ||
|
||||
display_fatal "Could not delete alias"
|
||||
|
||||
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
echo
|
||||
display_message "gvm go aliases"
|
||||
echo
|
||||
|
||||
for a in $(cd $GVM_ROOT/environments ; grep -l "gvm_alias_name" *); do
|
||||
for a in $(cd "$GVM_ROOT/environments" ; $GREP_PATH -l "gvm_alias_name" ./*); do
|
||||
t=$(sh -c ". $GVM_ROOT/environments/$a ; echo \$gvm_go_name")
|
||||
echo " $a ($t)"
|
||||
done
|
||||
|
||||
+7
-7
@@ -15,7 +15,7 @@ _gvm()
|
||||
use|delete|empty)
|
||||
[[ "$gvm_go_name" == "" ]] && return 1
|
||||
[[ $COMP_CWORD > 3 ]] && return 1
|
||||
local version=$(for x in `$LS_PATH $GVM_ROOT/pkgsets/$gvm_go_name`; do echo ${x} ; done )
|
||||
local version="$(for x in `$LS_PATH $GVM_ROOT/pkgsets/$gvm_go_name`; do echo ${x} ; done )"
|
||||
COMPREPLY=( $(compgen -W "${version}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
@@ -35,11 +35,11 @@ _gvm()
|
||||
[[ "$gvm_go_name" == "" ]] && return 1
|
||||
[[ "$gvm_pkgset_name" == "" ]] && return 1
|
||||
if [[ "$COMP_CWORD" == "3" ]]; then
|
||||
local version=$(for x in `$LS_PATH $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm`; do echo ${x} ; done )
|
||||
local version="$(for x in `$LS_PATH $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm`; do echo ${x} ; done )"
|
||||
COMPREPLY=( $(compgen -W "${version}" -- ${cur}) )
|
||||
return 0
|
||||
elif [[ "$COMP_CWORD" == "4" ]]; then
|
||||
local version=$(for x in `$LS_PATH $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm/${COMP_WORDS[3]}`; do echo ${x} ; done )
|
||||
local version="$(for x in `$LS_PATH $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm/${COMP_WORDS[3]}`; do echo ${x} ; done )"
|
||||
COMPREPLY=( $(compgen -W "${version}" -- ${cur}) )
|
||||
return 0
|
||||
fi
|
||||
@@ -58,7 +58,7 @@ _gvm()
|
||||
install)
|
||||
[ ! -d $GVM_ROOT/archive/go ] && return 1
|
||||
[[ $COMP_CWORD > 2 ]] && return 1
|
||||
local version=$(for x in `hg tags -R $GVM_ROOT/archive/go | awk '{print $1}' | $GREP_PATH -E "release|tip"`; do echo ${x} ; done )
|
||||
local version="$(for x in `hg tags -R $GVM_ROOT/archive/go | awk '{print $1}' | $GREP_PATH -E "release|tip|go"`; do echo ${x} ; done )"
|
||||
COMPREPLY=( $(compgen -W "${version}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
@@ -71,9 +71,9 @@ _gvm()
|
||||
;;
|
||||
*)
|
||||
[[ $COMP_CWORD > 1 ]] && return 1
|
||||
opts="get install list listall uninstall use version"
|
||||
[[ "$gvm_go_name" != "" ]] && opts="get install list listall pkgset uninstall use version"
|
||||
[[ "$gvm_pkgset_name" != "" ]] && opts="get install list listall pkg pkgset uninstall use version"
|
||||
opts="alias get install list listall uninstall use version"
|
||||
[[ "$gvm_go_name" != "" ]] && opts="alias cross diff get install list listall pkgset uninstall use version"
|
||||
[[ "$gvm_pkgset_name" != "" ]] && opts="alias cross diff get install list listall pkg pkgset uninstall use version"
|
||||
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
|
||||
return 0
|
||||
;;
|
||||
|
||||
+6
-6
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
display_usage() {
|
||||
display_message "Usage: gvm cross [os] [arch]"
|
||||
@@ -13,9 +13,9 @@ display_list() {
|
||||
echo
|
||||
display_message "Installed platforms:"
|
||||
echo
|
||||
$LS_PATH $GOROOT/pkg | $GREP_PATH windows_ | sed 's/^/ /g'
|
||||
$LS_PATH $GOROOT/pkg | $GREP_PATH darwin_ | sed 's/^/ /g'
|
||||
$LS_PATH $GOROOT/pkg | $GREP_PATH linux_ | sed 's/^/ /g'
|
||||
$LS_PATH "$GOROOT/pkg" | $GREP_PATH windows_ | sed 's/^/ /g'
|
||||
$LS_PATH "$GOROOT/pkg" | $GREP_PATH darwin_ | sed 's/^/ /g'
|
||||
$LS_PATH "$GOROOT/pkg" | $GREP_PATH linux_ | sed 's/^/ /g'
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
@@ -33,7 +33,7 @@ if [ ! -f "$GOROOT/pkg/tool/cross" ]; then
|
||||
display_fatal "Couldn't compile tool: $arch$cmd"
|
||||
done
|
||||
done
|
||||
touch $GOROOT/pkg/tool/cross
|
||||
touch "$GOROOT/pkg/tool/cross"
|
||||
fi
|
||||
|
||||
export GOOS=$1
|
||||
@@ -47,7 +47,7 @@ if [ ! -d "$GOROOT/pkg/${GOOS}_${GOARCH}" ]; then
|
||||
export CGO_ENABLED=0
|
||||
fi
|
||||
|
||||
cd $GOROOT/src
|
||||
cd "$GOROOT/src"
|
||||
go tool dist install -v pkg/runtime ||
|
||||
display_fatal "Couldn't compile runtime library for $GOOS $GOARCH"
|
||||
go install -v -a std ||
|
||||
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
version=$1
|
||||
|
||||
if [ "$version" != "" ]; then
|
||||
fuzzy_match=`$LS_PATH $GVM_ROOT/gos | $SORT_PATH | $GREP_PATH "$version" | $HEAD_PATH -n 1 | $GREP_PATH "$version"` ||
|
||||
fuzzy_match=$($LS_PATH "$GVM_ROOT/gos" | $SORT_PATH | $GREP_PATH "$version" | $HEAD_PATH -n 1 | $GREP_PATH "$version") ||
|
||||
display_fatal "Invalid version $version"
|
||||
|
||||
foldername=$GVM_ROOT/gos/$fuzzy_match
|
||||
@@ -17,7 +17,7 @@ else
|
||||
fi
|
||||
|
||||
if [[ -d $foldername ]]; then
|
||||
cd $foldername
|
||||
cd "$foldername"
|
||||
find . > /tmp/manifest.test
|
||||
diff manifest /tmp/manifest.test
|
||||
if [[ "$?" == "0" ]]; then
|
||||
|
||||
Vendored
+15
-14
@@ -1,13 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions || return 1
|
||||
. "$GVM_ROOT/scripts/functions" || return 1
|
||||
|
||||
function gvm() {
|
||||
if [[ "$GVM_ROOT" == "" ]]; then
|
||||
display_error "GVM_ROOT not set. Please source GVM_ROOT/scripts/gvm"
|
||||
display_error "GVM_ROOT not set. Please source \$GVM_ROOT/scripts/gvm"
|
||||
return $?
|
||||
fi
|
||||
if [[ -d $GVM_ROOT/.git ]]; then
|
||||
mv $GVM_ROOT/.git $GVM_ROOT/git.bak ||
|
||||
mv "$GVM_ROOT/.git" "$GVM_ROOT/git.bak" ||
|
||||
display_error "Failed to move git info out of the way"
|
||||
fi
|
||||
if [[ ! -d $GVM_ROOT ]]; then
|
||||
@@ -15,25 +15,26 @@ function gvm() {
|
||||
return $?
|
||||
fi
|
||||
|
||||
mkdir -p $GVM_ROOT/logs > /dev/null 2>&1
|
||||
mkdir -p $GVM_ROOT/gos > /dev/null 2>&1
|
||||
mkdir -p $GVM_ROOT/archive > /dev/null 2>&1
|
||||
mkdir -p $GVM_ROOT/archive/package > /dev/null 2>&1
|
||||
mkdir -p $GVM_ROOT/environments > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/logs" > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/gos" > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/archive" > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/archive/package" > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/environments" > /dev/null 2>&1
|
||||
|
||||
if [[ "$1" == "use" ]]; then
|
||||
. $GVM_ROOT/scripts/env/use
|
||||
. "$GVM_ROOT/scripts/env/use"
|
||||
shift
|
||||
gvm_use $@
|
||||
gvm_use "$@"
|
||||
elif [[ "$1" == "implode" ]]; then
|
||||
rm -rf $GVM_ROOT
|
||||
. "$GVM_ROOT/scripts/env/implode"
|
||||
gvm_implode
|
||||
elif [[ "$1" == "pkgset" ]] && [[ "$2" == "use" ]]; then
|
||||
. $GVM_ROOT/scripts/env/pkgset-use
|
||||
. "$GVM_ROOT/scripts/env/pkgset-use"
|
||||
shift
|
||||
shift
|
||||
gvm_pkgset_use $@
|
||||
gvm_pkgset_use "$@"
|
||||
else
|
||||
$GVM_ROOT/bin/gvm $@
|
||||
"$GVM_ROOT/bin/gvm" "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function gvm_implode() {
|
||||
read -p "Are you sure? [Y/n] " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
display_message "Action cancelled"
|
||||
else
|
||||
(rm -rf "$GVM_ROOT" && display_message "GVM successfully removed") || display_error "Failed to uninstall gvm"
|
||||
fi
|
||||
}
|
||||
Vendored
+4
-4
@@ -7,14 +7,14 @@ function gvm_pkgset_use() {
|
||||
display_error "No Go version selected" || return 1
|
||||
|
||||
if [[ "$1" == "--local" ]]; then
|
||||
. $GVM_ROOT/scripts/function/find_local_pkgset
|
||||
. "$GVM_ROOT/scripts/function/find_local_pkgset"
|
||||
local LOCAL_TOP=$(find_local_pkgset)
|
||||
unset -f find_local_pkgset
|
||||
[[ -d $LOCAL_TOP ]] ||
|
||||
display_error "Caonnt find local pakcage 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` ||
|
||||
fuzzy_match=$($LS_PATH "$LOCAL_TOP/environments" | $SORT_PATH | $GREP_PATH "$gvm_go_name@" | $GREP_PATH "local" | $HEAD_PATH -n 1) ||
|
||||
display_error "Cannot find local package set" || return 1
|
||||
|
||||
[[ "$2" != "--default" ]] ||
|
||||
@@ -27,7 +27,7 @@ function gvm_pkgset_use() {
|
||||
echo "Now using version $gvm_go_name in local package set"
|
||||
echo "Local GOPATH is now $LOCAL_TOP"
|
||||
else
|
||||
fuzzy_match=`$LS_PATH $GVM_ROOT/environments | $SORT_PATH | $GREP_PATH "$gvm_go_name@" | $GREP_PATH "$1" | $HEAD_PATH -n 1` ||
|
||||
fuzzy_match=$($LS_PATH "$GVM_ROOT/environments" | $SORT_PATH | $GREP_PATH "$gvm_go_name@" | $GREP_PATH "$1" | $HEAD_PATH -n 1) ||
|
||||
display_error "Invalid package set" || return 1
|
||||
|
||||
gvm_export_path
|
||||
@@ -35,7 +35,7 @@ function gvm_pkgset_use() {
|
||||
display_error "Failed to source the package set environment" || return 1
|
||||
|
||||
if [[ "$2" == "--default" ]]; then
|
||||
cp $GVM_ROOT/environments/$fuzzy_match $GVM_ROOT/environments/default
|
||||
cp "$GVM_ROOT/environments/$fuzzy_match" "$GVM_ROOT/environments/default"
|
||||
fi
|
||||
|
||||
echo "Now using version $fuzzy_match"
|
||||
|
||||
Vendored
+4
-4
@@ -3,10 +3,10 @@ function gvm_use() {
|
||||
[[ "$1" != "" ]] ||
|
||||
display_error "Please specifiy the version" || return 1
|
||||
local VERSION=$1
|
||||
fuzzy_match=`$LS_PATH $GVM_ROOT/gos | $SORT_PATH | $GREP_PATH "$1" | $HEAD_PATH -n 1 | $GREP_PATH "$1"`
|
||||
fuzzy_match=$($LS_PATH "$GVM_ROOT/gos" | $SORT_PATH | $GREP_PATH "$1" | $HEAD_PATH -n 1 | $GREP_PATH "$1")
|
||||
if [[ "$?" != "0" ]]; then
|
||||
GO_CACHE_PATH=$GVM_ROOT/archive/go
|
||||
version=`hg tags -R $GO_CACHE_PATH | awk '{print $1}' | $SORT_PATH | $GREP_PATH "$VERSION" | $HEAD_PATH -n 1 | $GREP_PATH "$VERSION"`
|
||||
version=$(hg tags -R "$GO_CACHE_PATH" | awk '{print $1}' | $SORT_PATH | $GREP_PATH "$VERSION" | $HEAD_PATH -n 1 | $GREP_PATH "$VERSION")
|
||||
if [[ "x$version" == "x" ]]; then
|
||||
display_error "Version not found locally. Try 'gvm install $1'" || return 1
|
||||
else
|
||||
@@ -15,9 +15,9 @@ function gvm_use() {
|
||||
fi
|
||||
|
||||
gvm_export_path
|
||||
. $GVM_ROOT/environments/$fuzzy_match &> /dev/null || display_error "Couldn't source environment" || return 1
|
||||
. "$GVM_ROOT/environments/$fuzzy_match" &> /dev/null || display_error "Couldn't source environment" || return 1
|
||||
if [[ "$2" == "--default" ]]; then
|
||||
cp $GVM_ROOT/environments/$fuzzy_match $GVM_ROOT/environments/default || display_error "Couldn't make $fuzzy_match default"
|
||||
cp "$GVM_ROOT/environments/$fuzzy_match" "$GVM_ROOT/environments/default" || display_error "Couldn't make $fuzzy_match default"
|
||||
fi
|
||||
|
||||
display_message "Now using version $fuzzy_match"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
function gvm_export_path() {
|
||||
export PATH="$GVM_ROOT/bin:`echo "$PATH" | tr ":" "\n" | grep -v '^$' | egrep -v "$GVM_ROOT/(pkgsets|gos|bin)" | tr "\n" ":" | sed 's/:*$//'`"
|
||||
export PATH="$GVM_ROOT/bin:$(echo "$PATH" | tr ":" "\n" | grep -v '^$' | egrep -v "$GVM_ROOT/(pkgsets|gos|bin)" | tr "\n" ":" | sed 's/:*$//')"
|
||||
export GVM_PATH_BACKUP="$PATH"
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ GREP_ERROR="GVM couldn't find grep"
|
||||
SORT_ERROR="GVM couldn't find sort"
|
||||
HEAD_ERROR="GVM couldn't find head"
|
||||
|
||||
LS_PATH=`unalias ls &> /dev/null; which ls` || display_error "$LS_ERROR" || return 1
|
||||
GREP_PATH=`unalias grep &> /dev/null; which grep` || display_error "$GREP_ERROR" || return 1
|
||||
SORT_PATH=`unalias sort &> /dev/null; which sort` || display_error "$SORT_ERROR" || return 1
|
||||
HEAD_PATH=`unalias head &> /dev/null; which head` || display_error "$HEAD_ERROR" || return 1
|
||||
LS_PATH=$(unalias ls &> /dev/null; which ls) || display_error "$LS_ERROR" || return 1
|
||||
GREP_PATH=$(unalias grep &> /dev/null; which grep) || display_error "$GREP_ERROR" || return 1
|
||||
SORT_PATH=$(unalias sort &> /dev/null; which sort) || display_error "$SORT_ERROR" || return 1
|
||||
HEAD_PATH=$(unalias head &> /dev/null; which head) || display_error "$HEAD_ERROR" || return 1
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
for function in $GVM_ROOT/scripts/function/*; do
|
||||
. $function
|
||||
. "$function"
|
||||
done
|
||||
|
||||
+8
-11
@@ -1,20 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
[[ -d $GVM_ROOT/.git ]] || mv $GVM_ROOT/git.bak $GVM_ROOT/.git &> /dev/null ||
|
||||
[[ -d $GVM_ROOT/.git ]] || mv "$GVM_ROOT/git.bak" "$GVM_ROOT/.git" &> /dev/null ||
|
||||
display_fatal "Couldn't find git info"
|
||||
|
||||
cd $GVM_ROOT && git checkout -f ||
|
||||
display_fatal "Failed to clean install"
|
||||
cd "$GVM_ROOT"
|
||||
|
||||
if [[ -n $1 ]]; then
|
||||
cd $GVM_ROOT && git checkout $1 -f ||
|
||||
display_fatal "Failed to checkout $1 branch"
|
||||
git checkout "$1" -f || display_fatal "Failed to checkout $1 branch"
|
||||
else
|
||||
git checkout -f || display_fatal "Failed to clean install"
|
||||
fi
|
||||
|
||||
cd $GVM_ROOT && git pull ||
|
||||
display_fatal "Failed to update"
|
||||
|
||||
mv $GVM_ROOT/.git $GVM_ROOT/git.bak ||
|
||||
display_fatal "Couldn't backup git info"
|
||||
git pull || display_fatal "Failed to update"
|
||||
|
||||
mv ".git" "git.bak" || display_fatal "Couldn't backup git info"
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
# Check for hg
|
||||
which hg &> /dev/null ||
|
||||
|
||||
+10
-10
@@ -7,15 +7,15 @@ unset GOBIN
|
||||
unset gvm_go_name
|
||||
unset gvm_pkgset_name
|
||||
|
||||
mkdir -p $GVM_ROOT/logs > /dev/null 2>&1
|
||||
mkdir -p $GVM_ROOT/gos > /dev/null 2>&1
|
||||
mkdir -p $GVM_ROOT/archive > /dev/null 2>&1
|
||||
mkdir -p $GVM_ROOT/archive/package > /dev/null 2>&1
|
||||
mkdir -p $GVM_ROOT/environments > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/logs" > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/gos" > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/archive" > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/archive/package" > /dev/null 2>&1
|
||||
mkdir -p "$GVM_ROOT/environments" > /dev/null 2>&1
|
||||
|
||||
export GVM_VERSION=`cat $GVM_ROOT/VERSION`
|
||||
export PATH=$GVM_ROOT/bin:$PATH
|
||||
export GVM_PATH_BACKUP=$PATH
|
||||
[ -f $GVM_ROOT/environments/default ] && . $GVM_ROOT/environments/default
|
||||
. $GVM_ROOT/scripts/env/gvm
|
||||
export GVM_VERSION=$(cat "$GVM_ROOT/VERSION")
|
||||
export PATH="$GVM_ROOT/bin:$PATH"
|
||||
export GVM_PATH_BACKUP="$PATH"
|
||||
[ -f "$GVM_ROOT/environments/default" ] && . "$GVM_ROOT/environments/default"
|
||||
. "$GVM_ROOT/scripts/env/gvm"
|
||||
|
||||
|
||||
+46
-45
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
function show_usage() {
|
||||
echo "Usage: gvm install [version] [options]"
|
||||
@@ -20,13 +20,13 @@ read_command_line() {
|
||||
exit 1
|
||||
fi
|
||||
GO_SOURCE_URL=https://go.googlecode.com/hg/
|
||||
for i in $*; do
|
||||
for i in "$@"; do
|
||||
case $i in
|
||||
-s=*|--source=*)
|
||||
GO_SOURCE_URL=`echo $i | sed 's/[-a-zA-Z0-9]*=//'`
|
||||
GO_SOURCE_URL=$(echo "$i" | sed 's/[-a-zA-Z0-9]*=//')
|
||||
;;
|
||||
-n=*|--name=*)
|
||||
GO_NAME=`echo $i | sed 's/[-a-zA-Z0-9]*=//'`
|
||||
GO_NAME=$(echo "$i" | sed 's/[-a-zA-Z0-9]*=//')
|
||||
;;
|
||||
-pb|--with-protobuf)
|
||||
INSTALL_PB="true"
|
||||
@@ -51,23 +51,23 @@ download_source() {
|
||||
GO_CACHE_PATH=$GVM_ROOT/archive/go
|
||||
[[ -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"
|
||||
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"
|
||||
}
|
||||
|
||||
check_tag() {
|
||||
version=`hg tags -R $GO_CACHE_PATH | awk '{print $1}' | $SORT_PATH | $GREP_PATH "$VERSION" | $HEAD_PATH -n 1 | $GREP_PATH -w "$VERSION"`
|
||||
version=$(hg tags -R "$GO_CACHE_PATH" | awk '{print $1}' | $SORT_PATH | $GREP_PATH "$VERSION" | $HEAD_PATH -n 1 | $GREP_PATH -w "$VERSION")
|
||||
}
|
||||
|
||||
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"
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
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"
|
||||
}
|
||||
|
||||
|
||||
@@ -78,24 +78,25 @@ compile_go() {
|
||||
export PATH=$GOBIN:$PATH &&
|
||||
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")
|
||||
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")
|
||||
}
|
||||
|
||||
create_enviroment() {
|
||||
new_env_file=$GVM_ROOT/environments/$GO_NAME
|
||||
echo "export GVM_ROOT; GVM_ROOT=\"$GVM_ROOT\"" > $new_env_file
|
||||
echo "export gvm_go_name; gvm_go_name=\"$GO_NAME\"" >> $new_env_file
|
||||
echo "export gvm_pkgset_name; gvm_pkgset_name=\"global\"" >> $new_env_file
|
||||
echo "export GOROOT; GOROOT=\"\$GVM_ROOT/gos/$GO_NAME\"" >> $new_env_file
|
||||
echo "export GOPATH; GOPATH=\"\$GVM_ROOT/pkgsets/$GO_NAME/global\"" >> $new_env_file
|
||||
echo "export GVM_OVERLAY_PREFIX; GVM_OVERLAY_PREFIX=\"\${GVM_ROOT}/pkgsets/${GO_NAME}/global/overlay\"" >> $new_env_file
|
||||
echo "export PATH; PATH=\"\${GVM_ROOT}/pkgsets/${GO_NAME}/global/bin:\${GVM_ROOT}/gos/${GO_NAME}/bin:\${GVM_OVERLAY_PREFIX}/bin:\${GVM_ROOT}/bin:\${PATH}\"" >> $new_env_file
|
||||
echo "export LD_LIBRARY_PATH; LD_LIBRARY_PATH=\"\${GVM_OVERLAY_PREFIX}/lib:\${LD_LIBRARY_PATH}\"" >> $new_env_file
|
||||
echo "export DYLD_LIBRARY_PATH; DYLD_LIBRARY_PATH=\"\${GVM_OVERLAY_PREFIX}/lib:\${DYLD_LIBRARY_PATH}\"" >> $new_env_file
|
||||
echo "export PKG_CONFIG_PATH; PKG_CONFIG_PATH=\"\${GVM_OVERLAY_PREFIX}/lib/pkgconfig:\${PKG_CONFIG_PATH}\"" >> $new_env_file
|
||||
. $GVM_ROOT/scripts/env/use
|
||||
gvm_use $GO_NAME &> /dev/null ||
|
||||
echo "export GVM_ROOT; GVM_ROOT=\"$GVM_ROOT\"" > "$new_env_file"
|
||||
echo "export gvm_go_name; gvm_go_name=\"$GO_NAME\"" >> "$new_env_file"
|
||||
echo "export gvm_pkgset_name; gvm_pkgset_name=\"global\"" >> "$new_env_file"
|
||||
echo "export GOROOT; GOROOT=\"\$GVM_ROOT/gos/$GO_NAME\"" >> "$new_env_file"
|
||||
echo "export GOPATH; GOPATH=\"\$GVM_ROOT/pkgsets/$GO_NAME/global\"" >> "$new_env_file"
|
||||
echo "export GVM_OVERLAY_PREFIX; GVM_OVERLAY_PREFIX=\"\${GVM_ROOT}/pkgsets/${GO_NAME}/global/overlay\"" >> "$new_env_file"
|
||||
echo "export PATH; PATH=\"\${GVM_ROOT}/pkgsets/${GO_NAME}/global/bin:\${GVM_ROOT}/gos/${GO_NAME}/bin:\${GVM_OVERLAY_PREFIX}/bin:\${GVM_ROOT}/bin:\${PATH}\"" >> "$new_env_file"
|
||||
echo "export LD_LIBRARY_PATH; LD_LIBRARY_PATH=\"\${GVM_OVERLAY_PREFIX}/lib:\${LD_LIBRARY_PATH}\"" >> "$new_env_file"
|
||||
echo "export DYLD_LIBRARY_PATH; DYLD_LIBRARY_PATH=\"\${GVM_OVERLAY_PREFIX}/lib:\${DYLD_LIBRARY_PATH}\"" >> "$new_env_file"
|
||||
echo "export PKG_CONFIG_PATH; PKG_CONFIG_PATH=\"\${GVM_OVERLAY_PREFIX}/lib/pkgconfig:\${PKG_CONFIG_PATH}\"" >> "$new_env_file"
|
||||
. "$GVM_ROOT/scripts/env/use"
|
||||
. "$GVM_ROOT/scripts/env/implode"
|
||||
gvm_use "$GO_NAME" &> /dev/null ||
|
||||
display_fatal "Failed to use installed version"
|
||||
gvm pkgset create global
|
||||
unset GOPATH
|
||||
@@ -112,7 +113,7 @@ install_go() {
|
||||
exit 0
|
||||
fi
|
||||
display_warning "Removing corrupt install..."
|
||||
gvm uninstall $GO_NAME
|
||||
gvm uninstall "$GO_NAME"
|
||||
fi
|
||||
|
||||
if [[ "$version" != "$GO_NAME" ]]; then
|
||||
@@ -122,13 +123,13 @@ install_go() {
|
||||
fi
|
||||
|
||||
# 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"
|
||||
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"
|
||||
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"
|
||||
display_fatal "Couldn't create global overlay library directory\nCheck 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"
|
||||
display_fatal "Couldn't create global overlay bin directory\nCheck the logs at ${GVM_ROOT}/logs/go-${GO_NAME}-install.log"
|
||||
copy_source
|
||||
compile_go
|
||||
create_enviroment
|
||||
@@ -136,12 +137,12 @@ install_go() {
|
||||
|
||||
install_gpkg() {
|
||||
display_message " * Installing gpkg..."
|
||||
$GVM_GOINSTALL github.com/moovweb/gpkg > $GVM_ROOT/logs/$GO_NAME-gpkg.log 2>&1 || return 1
|
||||
$GVM_GOINSTALL github.com/moovweb/gpkg > "$GVM_ROOT/logs/$GO_NAME-gpkg.log" 2>&1 || return 1
|
||||
}
|
||||
|
||||
install_gb() {
|
||||
display_message " * Installing gb..."
|
||||
$GVM_GOINSTALL github.com/jbussdieker/go-gb/gb > $GVM_ROOT/logs/$GO_NAME-gb.log 2>&1 || return 1
|
||||
$GVM_GOINSTALL github.com/jbussdieker/go-gb/gb > "$GVM_ROOT/logs/$GO_NAME-gb.log" 2>&1 || return 1
|
||||
}
|
||||
|
||||
install_goprotobuf() {
|
||||
@@ -152,26 +153,26 @@ install_goprotobuf() {
|
||||
"
|
||||
display_message " * Installing goprotobuf..."
|
||||
if [[ "$GVM_GOINSTALL" == "goinstall" ]]; then
|
||||
$GVM_GOINSTALL goprotobuf.googlecode.com/hg/proto > $GVM_ROOT/logs/$GO_NAME-pb-compiler.log 2>&1
|
||||
$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"
|
||||
display_warning "Failed to install goprotobuf\nCheck 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
|
||||
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"
|
||||
display_warning "Failed to install goprotobuf compiler\nCheck 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
|
||||
$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"
|
||||
display_warning "Failed to install goprotobuf\nCheck 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
|
||||
$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"
|
||||
display_warning "Failed to install goprotobuf compiler\nCheck the logs at $GVM_ROOT/logs/$GO_NAME-pb-compiler.log"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
@@ -179,7 +180,7 @@ install_goprotobuf() {
|
||||
|
||||
main() {
|
||||
trap 'display_fatal "Canceled!"' INT
|
||||
read_command_line $@
|
||||
read_command_line "$@"
|
||||
[[ "$VERSION" == "" ]] && display_fatal "No version specified"
|
||||
download_source
|
||||
check_tag
|
||||
@@ -196,7 +197,7 @@ main() {
|
||||
which goinstall &> /dev/null ||
|
||||
GVM_GOINSTALL="go get"
|
||||
|
||||
x="`hg tags -R $GO_CACHE_PATH`"; echo ${x#*b0819469a6df} | $GREP_PATH "$version " &> /dev/null
|
||||
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"
|
||||
@@ -207,7 +208,7 @@ main() {
|
||||
fi
|
||||
fi
|
||||
|
||||
cd $GO_INSTALL_ROOT && find . > manifest
|
||||
cd "$GO_INSTALL_ROOT" && find . > manifest
|
||||
}
|
||||
|
||||
main $@
|
||||
main "$@"
|
||||
|
||||
Executable
+44
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
function show_usage() {
|
||||
echo "Usage: gvm linkthis [package-name] [options]"
|
||||
echo " -h, --help Display this message."
|
||||
echo
|
||||
echo "If the [package-name] is provided, it will be used in the path based"
|
||||
echo "at \${GOPATH%%:*}/src, e.g.:"
|
||||
echo
|
||||
echo " gvm linkthis github.com/moovweb/gpkg"
|
||||
echo
|
||||
echo "If omitted, the [package-name] will be the basename of the current"
|
||||
echo "directory, e.g. '$package_name_basename'."
|
||||
}
|
||||
|
||||
function read_command_line() {
|
||||
for i in "$@"; do
|
||||
case $i in
|
||||
-h|--help*)
|
||||
show_usage
|
||||
exit 0
|
||||
;;
|
||||
-*|--*)
|
||||
echo "Invalid option $i"
|
||||
show_usage
|
||||
exit 65 # Bad arguments
|
||||
;;
|
||||
*)
|
||||
package_name="$i"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
package_name="$(basename "$PWD")"
|
||||
package_name_basename="$package_name"
|
||||
|
||||
read_command_line "$@"
|
||||
|
||||
target="${GOPATH%%:*}/src/$package_name"
|
||||
|
||||
mkdir -p "$(dirname "$target")"
|
||||
ln -sv "$PWD" "$target"
|
||||
+3
-3
@@ -1,14 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
echo
|
||||
display_message "gvm gos (installed)"
|
||||
echo
|
||||
if [[ -d $GVM_ROOT/gos ]]; then
|
||||
if [[ "$gvm_go_name" != "" ]]; then
|
||||
$LS_PATH -1 $GVM_ROOT/gos | sed 's/^/ /g' | sed 's/^ '$gvm_go_name\$'/=> '$gvm_go_name'/g'
|
||||
$LS_PATH -1 "$GVM_ROOT/gos" | sed 's/^/ /g' | sed 's/^ '$gvm_go_name\$'/=> '$gvm_go_name'/g'
|
||||
else
|
||||
$LS_PATH -1 $GVM_ROOT/gos | sed 's/^/ /g'
|
||||
$LS_PATH -1 "$GVM_ROOT/gos" | sed 's/^/ /g'
|
||||
fi
|
||||
fi
|
||||
echo
|
||||
|
||||
+4
-4
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
function show_usage() {
|
||||
echo "Usage: gvm listall [options]"
|
||||
@@ -9,7 +9,7 @@ function show_usage() {
|
||||
|
||||
function read_command_line() {
|
||||
tag_filter="release"
|
||||
for i in $*; do
|
||||
for i in "$@"; do
|
||||
case $i in
|
||||
-a|--all)
|
||||
tag_filter=""
|
||||
@@ -27,12 +27,12 @@ function read_command_line() {
|
||||
done
|
||||
}
|
||||
|
||||
read_command_line $@
|
||||
read_command_line "$@"
|
||||
|
||||
echo
|
||||
display_message "gvm gos (available)"
|
||||
echo
|
||||
versions=`curl -s https://go.googlecode.com/hg/.hgtags | awk '{ print $2 }' | $SORT_PATH`
|
||||
versions=$(curl -s https://go.googlecode.com/hg/.hgtags | awk '{ print $2 }' | $SORT_PATH)
|
||||
if [[ $? -ne 0 ]]; then
|
||||
display_fatal "Failed to get version list from Google"
|
||||
fi
|
||||
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
function show_usage() {
|
||||
echo "Usage: gvm pkgenv [packageset-name]"
|
||||
echo
|
||||
echo " -h, --help Display this message."
|
||||
echo " -o, --output Write content to stdout"
|
||||
echo
|
||||
echo "The [packageset-name] is optional."
|
||||
echo
|
||||
}
|
||||
|
||||
for i in "$@"; do
|
||||
case $i in
|
||||
-h|--help*)
|
||||
show_usage
|
||||
exit 0
|
||||
;;
|
||||
-o|--output*)
|
||||
output=true
|
||||
;;
|
||||
*)
|
||||
gvm_env="$i"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$gvm_go_name" ]; then
|
||||
display_fatal "current go version not managed by gvm"
|
||||
fi
|
||||
|
||||
if [ ! -z "$gvm_env" ]; then
|
||||
gvm_env="@$gvm_env"
|
||||
fi
|
||||
|
||||
env_file=$GVM_ROOT/environments/$gvm_go_name$gvm_env
|
||||
|
||||
if [ $output ]; then
|
||||
cat "$env_file"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
${EDITOR:-vi} "$env_file"
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
[[ $gvm_go_name != "" ]] ||
|
||||
display_fatal "No Go version selected"
|
||||
@@ -11,7 +11,7 @@
|
||||
command=$1
|
||||
if [[ -f $GVM_ROOT/scripts/pkgset-$command ]]; then
|
||||
shift
|
||||
$GVM_ROOT/scripts/pkgset-$command $@
|
||||
"$GVM_ROOT/scripts/pkgset-$command" "$@"
|
||||
elif [[ -n $command ]]; then
|
||||
display_fatal "Unrecognized command line argument: '$command'"
|
||||
else
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
[[ $1 != "" ]] ||
|
||||
display_fatal "Please specifiy the name"
|
||||
@@ -27,17 +27,17 @@ fi
|
||||
[[ ! -f "$target_top/environments/$gvm_go_name@$target_set_name" ]] ||
|
||||
display_fatal "Packageset already exists!"
|
||||
|
||||
mkdir -p $target_top/environments ||
|
||||
mkdir -p "$target_top/environments" ||
|
||||
display_fatal "Could not create environments folder"
|
||||
mkdir -p $target_top/pkgsets/$gvm_go_name/$target_set_name ||
|
||||
mkdir -p "$target_top/pkgsets/$gvm_go_name/$target_set_name" ||
|
||||
display_fatal "Could not create packageset folder"
|
||||
cp $GVM_ROOT/environments/$gvm_go_name $target_top/environments/$gvm_go_name@$target_set_name ||
|
||||
cp "$GVM_ROOT/environments/$gvm_go_name" "$target_top/environments/$gvm_go_name@$target_set_name" ||
|
||||
display_fatal "Could copy environment"
|
||||
echo "export gvm_pkgset_name=\"$target_set_name_str\"" >> $target_top/environments/$gvm_go_name@$target_set_name ||
|
||||
echo "export gvm_pkgset_name=\"$target_set_name_str\"" >> "$target_top/environments/$gvm_go_name@$target_set_name" ||
|
||||
display_fatal "Could not extend environment"
|
||||
echo "export GOPATH; GOPATH=\"$add_gopath:\$GOPATH\"" >> $target_top/environments/$gvm_go_name@$target_set_name ||
|
||||
echo "export GOPATH; GOPATH=\"$add_gopath:\$GOPATH\"" >> "$target_top/environments/$gvm_go_name@$target_set_name" ||
|
||||
display_fatal "Could not extend environment"
|
||||
echo "export PATH; PATH=\"$add_path:\$PATH\"" >> $target_top/environments/$gvm_go_name@$target_set_name ||
|
||||
echo "export PATH; PATH=\"$add_path:\$PATH\"" >> "$target_top/environments/$gvm_go_name@$target_set_name" ||
|
||||
display_fatal "Could not extend environment"
|
||||
|
||||
if [ "${target_set_name}" != "global" ]; then
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
[[ $gvm_go_name != "" ]] ||
|
||||
display_fatal "No Go version selected"
|
||||
@@ -17,9 +17,9 @@ fi
|
||||
[[ -d $target_top/pkgsets/$gvm_go_name/$target_set_name ]] ||
|
||||
display_fatal "Packageset doesn't exist!"
|
||||
|
||||
rm -rf $target_top/pkgsets/$gvm_go_name/$target_set_name ||
|
||||
rm -rf "$target_top/pkgsets/$gvm_go_name/$target_set_name" ||
|
||||
display_fatal "Could not delete package set"
|
||||
|
||||
rm -rf $target_top/environments/$gvm_go_name@$target_set_name ||
|
||||
rm -rf "$target_top/environments/$gvm_go_name@$target_set_name" ||
|
||||
display_fatal "Could not delete package set"
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
[[ $gvm_pkgset_name != "" ]] ||
|
||||
display_fatal "No Package set selected"
|
||||
rm -rf $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/* ||
|
||||
rm -rf "$GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/"* ||
|
||||
display_fatal "Could not delete package set files"
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
echo
|
||||
display_message "gvm go package sets ($gvm_go_name)"
|
||||
@@ -17,7 +17,7 @@ if [[ -d $GVM_ROOT/pkgsets/$gvm_go_name ]]; then
|
||||
|
||||
for cur_dir in $GVM_ROOT/pkgsets/$gvm_go_name/*; do
|
||||
[[ "$cur_dir" == "$GVM_ROOT/pkgsets/$gvm_go_name/*" ]] && exit
|
||||
pkgset=`basename $cur_dir`
|
||||
pkgset=$(basename "$cur_dir")
|
||||
if [[ "$gvm_pkgset_name" == "$pkgset" ]]; then
|
||||
echo "=> $pkgset"
|
||||
else
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions/tools
|
||||
echo $1 | sed -n -e '/_.*_/ p' | $GREP_PATH "_" &> /dev/null
|
||||
. "$GVM_ROOT/scripts/functions/tools"
|
||||
echo "$1" | sed -n -e '/_.*_/ p' | $GREP_PATH "_" &> /dev/null
|
||||
if [ "$?" == "0" ]; then
|
||||
version=`echo $1 | sed 's/_\(.*\)_/\1/'`
|
||||
version=$(echo $1 | sed 's/_\(.*\)_/\1/')
|
||||
if [[ ! -f $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm/{{package_name}}/$version/bin/{{binary_name}} ]]; then
|
||||
echo "GVM: Invalid version"
|
||||
exit 1
|
||||
fi
|
||||
shift
|
||||
$GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm/{{package_name}}/$version/bin/{{binary_name}} $@
|
||||
"$GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm/{{package_name}}/$version/bin/{{binary_name}}" "$@"
|
||||
else
|
||||
$GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm/{{package_name}}/current/bin/{{binary_name}} $@
|
||||
"$GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm/{{package_name}}/current/bin/{{binary_name}}" "$@"
|
||||
fi
|
||||
|
||||
|
||||
+5
-5
@@ -1,20 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
[[ "$1" == "" ]] &&
|
||||
display_fatal "Please specifiy the version"
|
||||
|
||||
fuzzy_match=`$LS_PATH $GVM_ROOT/gos | $SORT_PATH | $GREP_PATH "$1" | $HEAD_PATH -n 1 | $GREP_PATH "$1"` ||
|
||||
fuzzy_match=$($LS_PATH "$GVM_ROOT/gos" | $SORT_PATH | $GREP_PATH "$1" | $HEAD_PATH -n 1 | $GREP_PATH "$1") ||
|
||||
display_fatal "Invalid version $1"
|
||||
|
||||
if [[ -d $GVM_ROOT/gos/$fuzzy_match ]]; then
|
||||
rm -rf $GVM_ROOT/pkgsets/$fuzzy_match &> /dev/null ||
|
||||
rm -rf "$GVM_ROOT/pkgsets/$fuzzy_match" &> /dev/null ||
|
||||
display_fatal "Couldn't remove pkgsets"
|
||||
rm -f $GVM_ROOT/environments/$fuzzy_match &> /dev/null ||
|
||||
rm -f "$GVM_ROOT/environments/$fuzzy_match" &> /dev/null ||
|
||||
display_fatal "Couldn't remove environment files"
|
||||
rm -f "$GVM_ROOT/environments/$fuzzy_match@"* &> /dev/null ||
|
||||
display_fatal "Couldn't remove pkgset environment files"
|
||||
rm -rf $GVM_ROOT/gos/$fuzzy_match &> /dev/null ||
|
||||
rm -rf "$GVM_ROOT/gos/$fuzzy_match" &> /dev/null ||
|
||||
display_fatal "Couldn't remove Go folder"
|
||||
display_message "Uninstalled version $fuzzy_match"
|
||||
else
|
||||
|
||||
+3
-4
@@ -1,9 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
. $GVM_ROOT/scripts/functions
|
||||
. "$GVM_ROOT/scripts/functions"
|
||||
|
||||
cd $GVM_ROOT/archive/go &> /dev/null ||
|
||||
cd "$GVM_ROOT/archive/go" &> /dev/null ||
|
||||
display_fatal "Failed to find local Go source"
|
||||
|
||||
cd $GVM_ROOT/archive/go && hg pull ||
|
||||
display_fatal "Failed to update"
|
||||
hg pull || display_fatal "Failed to update"
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
## 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 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/
|
||||
@@ -0,0 +1,19 @@
|
||||
source $GVM_ROOT/scripts/gvm
|
||||
|
||||
## Cleanup test objects
|
||||
gvm alias delete foo
|
||||
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 use foo # status=0
|
||||
go version # status=0; match=/go1\.2/
|
||||
gvm use bar # status=0
|
||||
go version # status=0; match=/go1\.0\.3/
|
||||
gvm alias delete foo
|
||||
gvm alias list # status=0; match=/gvm go aliases/; match!=/foo \(go1\.2\)/; match=/bar \(go1\.0\.3\)/
|
||||
gvm alias delete bar
|
||||
gvm alias list # status=0; match=/gvm go aliases/; match!=/foo \(go1\.2\)/; match!=/bar \(go1\.0\.3\)/
|
||||
@@ -0,0 +1 @@
|
||||
gvm # status=0; match=/GVM is the Go Version Manager/
|
||||
@@ -0,0 +1 @@
|
||||
gvm list # status=0
|
||||
@@ -0,0 +1 @@
|
||||
gvm listall #status=0
|
||||
@@ -0,0 +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/
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/usr/bin/env bash -ex
|
||||
TEST_OUTPUT=`gvm version`
|
||||
[ "$TEST_OUTPUT" != "" ]
|
||||
echo "Success!"
|
||||
@@ -0,0 +1 @@
|
||||
gvm version # status=0
|
||||
@@ -0,0 +1,3 @@
|
||||
source $GVM_ROOT/scripts/gvm
|
||||
yes n | gvm implode # status=0; match=/Action cancelled/
|
||||
yes | gvm implode # status=0; match=/GVM successfully removed/
|
||||
Reference in New Issue
Block a user