Legit install helper script

pull/8/head
Simon Let 7 years ago
parent ed32d380c5
commit 21d682e070
  1. 4
      Makefile
  2. 45
      install.sh
  3. 5
      install_dep.sh
  4. 83
      install_helper.sh

@ -1,6 +1,10 @@
SHELL=/bin/bash
autoinstall:
./install_helper.sh
build: submodules resh-collect resh-daemon

@ -1,45 +0,0 @@
#!/usr/bin/env bash
if ! go version &>/dev/null; then
echo "Please install Golang and rerun this script"
exit 1
fi
go_version=$(go version | cut -d' ' -f3)
go_version_major=$(echo "${go_version:2}" | cut -d'.' -f1)
go_version_minor=$(echo "${go_version:2}" | cut -d'.' -f2)
# install_dep.sh installs to /tmp/gopath/bin
# add it to path just in case
PATH=/tmp/gopath/bin:$PATH
if [ "$go_version_major" -gt 1 ]; then
# good to go - future proof ;)
echo "Building & installing ..."
make install
elif [ "$go_version_major" -eq 1 ] && [ "$go_version_minor" -ge 11 ]; then
# good to go - we have go modules
echo "Building & installing ..."
make install
elif dep version &>/dev/null; then
if ! dep init; then
echo "\`dep init\` failed - bootstraping GOPATH ..."
export GOPATH=$(mktemp /tmp/gopath-XXX)
project_path=$GOPATH/src/github.com/curusarn/resh
mkdir -p "$project_path"
cp -rf . "$project_path"
cd "$project_path"
if ! dep init; then
echo "Unexpected ERROR while running \`dep init\`!"
echo "Try running \`make install\`"
exit 3
fi
echo "Succesfuly bootstraped GOPATH"
fi
echo "Building & installing ..."
make install
else
echo "Please update your Golang to version >= 1.11 OR install dep and rerun this script"
echo "If you have trouble installing dep you can run \`./install_dep.sh\` in this directory"
exit 2
fi

@ -1,5 +0,0 @@
#!/usr/bin/env bash
export GOPATH=/tmp/gopath
mkdir $GOPATH/bin
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

@ -0,0 +1,83 @@
#!/usr/bin/env bash
if ! go version &>/dev/null; then
echo "Please INSTALL GOLANG and run this again"
exit 1
fi
go_version=$(go version | cut -d' ' -f3)
go_version_major=$(echo "${go_version:2}" | cut -d'.' -f1)
go_version_minor=$(echo "${go_version:2}" | cut -d'.' -f2)
if [ "$go_version_major" -gt 1 ]; then
# good to go - future proof ;)
echo "Building & installing ..."
make install
elif [ "$go_version_major" -eq 1 ] && [ "$go_version_minor" -ge 11 ]; then
# good to go - we have go modules
echo "Building & installing ..."
make install
else
echo
echo "==========================================================================="
echo "Your Golang version is older than 1.11 - we can't use go modules for build!"
echo "I will try to build the project using dep. (I will let you review each step.)"
echo "Continue? (Any key to continue / Ctrl+C to cancel)"
read x
take_care_of_gopath=0
if [ -z "${GOPATH+x}" ]; then
echo
echo "==========================================================================="
echo "GOPATH env variable is unset!"
echo "I will take care of GOPATH. (I will create tmp GOPATH.)"
echo "Continue? (Any key to continue / Ctrl+C to cancel)"
read x
GOPATH=$(mktemp -d /tmp/gopath-XXX) \
&& mkdir "$GOPATH/bin" \
&& echo "Created tmp GOPATH: $GOPATH"
export GOPATH
take_care_of_gopath=1
fi
echo "GOPATH=$GOPATH"
PATH=$GOPATH/bin:$PATH
if ! dep version &>/dev/null; then
echo
echo "==========================================================================="
echo "It appears that you don't have dep installed!"
echo "I will install dep. (I will install it from GitHub.)"
echo "Continue? (Any key to continue / Ctrl+C to cancel)"
read x
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
[ $? -eq 0 ] && echo "Installed dep."
fi
project_path=$GOPATH/src/github.com/curusarn/resh
mkdir -p "$project_path" &>/dev/null
if [ "$project_path" != "$PWD" ]; then
if [ "$take_care_of_gopath" -eq 0 ]; then
echo
echo "==========================================================================="
echo "It seems that current directory is not in the GOPATH!"
echo "I will copy the project to appropriate GOPATH directory."
echo "Continue? (Any key to continue / Ctrl+C to cancel)"
read x
fi
cp -rf ./* "$project_path" && echo "Copied files to $project_path"
cd "$project_path"
fi
echo "Running \`dep ensure\` ..."
if ! dep ensure; then
echo "Unexpected ERROR while running \`dep ensure\`!"
exit 2
fi
echo
echo "==========================================================================="
echo "Building & installing ..."
make install
fi
Loading…
Cancel
Save