-
-
Save antoni/c5e8d84abe9b52c6857a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# From ScalaCourses.com Introduction to Play Framework with Scala course | |
set -eo pipefail | |
function help { | |
echo "Download or update Typesafe Activator on Linux and Cygwin" | |
echo "Usage: $(basename $0) [options]" | |
echo "Options are:" | |
echo " -m Download minimal version (without prepackaged dependencies)" | |
exit -1 | |
} | |
# This installs Activator into /opt/activator-x.yy. You can change the root of the installation directory by modifying the next line: | |
DEST=/opt | |
QUIET="-q" | |
OS="$(expr substr $(uname -s) 1 6)" | |
MINMAX=maximum | |
if [ "$1" == "-m" ]; then | |
MINMAX=minimal | |
shift | |
echo "Fetching minimal version of Activator (without prepackaged dependencies)" | |
fi | |
if [ "$1" ]; then help; fi | |
function GET_VERSION { | |
# Typical return value: 1.2.10 | |
echo "$(echo "$1" | sed -re 's^.*?/([0-9.]+)/.*?^\1^')" | |
} | |
function SETUP { | |
if [ "$MINMAX" == minimal ]; then | |
# Typesafe maintains the current version information for Activator at this URL: | |
DL="$(wget --no-check-certificate -qO - https://activator-prod.herokuapp.com/latest | grep -Po 'http://.*?.zip' | head -n1)" | |
# Typical value for DL is http://downloads.typesafe.com/typesafe-activator/1.2.10/typesafe-activator-1.2.10.zip | |
AVER="$(GET_VERSION $DL)" | |
ADIR=activator-$AVER-minimal | |
else | |
DL="$(wget --no-check-certificate -qO - https://activator-prod.herokuapp.com/latest | grep -Po 'http://.*?.zip' | head -n2 | tail -n1)" | |
# Typical value for DL is http://downloads.typesafe.com/typesafe-activator/1.2.10/typesafe-activator-1.2.10-minimal.zip | |
AVER="$(GET_VERSION $DL)" | |
ADIR=activator-$AVER | |
fi | |
AZIP="typesafe-$ADIR.zip" | |
} | |
# Creates typesafe-activator-1.2.10 | |
function UNZIP { | |
if [ $OS == CYGWIN ]; then | |
cd "$HOMEDRIVE$HOMEPATH/Downloads" | |
elif [ -d ~/Downloads ]; then | |
cd ~/Downloads | |
fi | |
if [ -f "$AZIP" ]; then | |
echo "$PWD/$AZIP already exists, not downloading it again." | |
else | |
wget -O $AZIP http://downloads.typesafe.com/typesafe-activator/$AVER/$AZIP | |
fi | |
if [ -d "$ADIR" ]; then | |
echo "$PWD/$ADIR already exists, not unzipping again." | |
else | |
unzip -o $QUIET $AZIP | |
#rm $AZIP | |
fi | |
} | |
SETUP | |
DESTPATH="$DEST/activator-$AVER" | |
if [ -d "$DESTPATH" ]; then | |
echo "Activator $AVER not unzipped because $DESTPATH already exists" | |
echo "$DESTPATH already exists, not moved into place" | |
else | |
UNZIP | |
if [ $OS == CYGWIN ]; then | |
mv $ADIR $DESTPATH | |
else | |
sudo mv $ADIR $DESTPATH | |
fi | |
#rm -rf activator-$AVER | |
fi | |
mkdir -p ~/.activator | |
ACFG=~/.activator/activatorconfig.txt | |
if [ -f "$ACFG" ]; then | |
if [ -z "$(grep 'Dhttp.nonProxyHost' $ACFG)" ]; then | |
echo '-Dhttp.nonProxyHost="localhost|127.0.0.1"' >> "$ACFG" | |
fi | |
else | |
echo '-Dhttp.nonProxyHost="localhost|127.0.0.1"' >> "$ACFG" | |
fi | |
# If activator is not on the path, create link to /usr/local/bin/activator (and the jar that actually contains Activator) so you can simply type 'activator' to run it | |
if [ -z "$(which activator)" ]; then | |
ln "$DESTPATH/activator" /usr/local/bin/activator | |
ln "$DESTPATH/activator-launch-$AVER.jar" /usr/local/bin/activator-launch-$AVER.jar | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment