Browse Source

installation script: use $INSTALL_DIR instead of hard-coded $HOME/.fnm (#114)

remotes/origin/add-simple-redirecting-site
Gal Schlezinger 6 years ago committed by GitHub
parent
commit
671c833518
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 71
      .ci/install.sh

71
.ci/install.sh

@ -18,25 +18,24 @@ INSTALL_DIR="$HOME/.fnm"
# Parse Flags # Parse Flags
parse_args() { parse_args() {
while [[ $# -gt 0 ]] while [[ $# -gt 0 ]]; do
do key="$1"
key="$1"
case $key in
case $key in -d | --install-dir)
-d|--install-dir) INSTALL_DIR="$2"
INSTALL_DIR="$2" shift # past argument
shift # past argument shift # past value
shift # past value ;;
;; -s | --skip-shell)
-s|--skip-shell) SKIP_SHELL="true"
SKIP_SHELL="true" shift # past argument
shift # past argument ;;
;; *)
*) echo "Unrecognized argument $key"
echo "Unrecognized argument $key" exit 1
exit 1 ;;
;; esac
esac
done done
} }
@ -46,7 +45,7 @@ download_fnm() {
echo "Downloading $URL..." echo "Downloading $URL..."
mkdir -p $INSTALL_DIR &> /dev/null mkdir -p $INSTALL_DIR &>/dev/null
curl --progress-bar -L $URL -o $DOWNLOAD_DIR/$FILENAME.zip curl --progress-bar -L $URL -o $DOWNLOAD_DIR/$FILENAME.zip
unzip -q $DOWNLOAD_DIR/$FILENAME.zip -d $DOWNLOAD_DIR unzip -q $DOWNLOAD_DIR/$FILENAME.zip -d $DOWNLOAD_DIR
mv $DOWNLOAD_DIR/$FILENAME/fnm $INSTALL_DIR/fnm mv $DOWNLOAD_DIR/$FILENAME/fnm $INSTALL_DIR/fnm
@ -85,26 +84,26 @@ setup_shell() {
echo "Installing for Zsh. Appending the following to $CONF_FILE:" echo "Installing for Zsh. Appending the following to $CONF_FILE:"
echo "" echo ""
echo ' # fnm' echo ' # fnm'
echo ' export PATH=$HOME/.fnm:$PATH' echo ' export PATH='"$INSTALL_DIR"':$PATH'
echo ' eval "`fnm env --multi`"' echo ' eval "`fnm env --multi`"'
echo '' >> $CONF_FILE echo '' >>$CONF_FILE
echo '# fnm' >> $CONF_FILE echo '# fnm' >>$CONF_FILE
echo 'export PATH=$HOME/.fnm:$PATH' >> $CONF_FILE echo 'export PATH='$INSTALL_DIR':$PATH' >>$CONF_FILE
echo 'eval "`fnm env --multi`"' >> $CONF_FILE echo 'eval "`fnm env --multi`"' >>$CONF_FILE
elif [ "$CURRENT_SHELL" == "fish" ]; then elif [ "$CURRENT_SHELL" == "fish" ]; then
CONF_FILE=$HOME/.config/fish/config.fish CONF_FILE=$HOME/.config/fish/config.fish
echo "Installing for Fish. Appending the following to $CONF_FILE:" echo "Installing for Fish. Appending the following to $CONF_FILE:"
echo "" echo ""
echo ' # fnm' echo ' # fnm'
echo ' set PATH $HOME/.fnm $PATH' echo ' set PATH '"$INSTALL_DIR"' $PATH'
echo ' fnm env --multi | source' echo ' fnm env --multi | source'
echo '' >> $CONF_FILE echo '' >>$CONF_FILE
echo '# fnm' >> $CONF_FILE echo '# fnm' >>$CONF_FILE
echo 'set PATH $HOME/.fnm $PATH' >> $CONF_FILE echo 'set PATH '"$INSTALL_DIR"' $PATH' >>$CONF_FILE
echo 'fnm env --multi | source' >> $CONF_FILE echo 'fnm env --multi | source' >>$CONF_FILE
elif [ "$CURRENT_SHELL" == "bash" ]; then elif [ "$CURRENT_SHELL" == "bash" ]; then
if [ "$OS" == "Darwin" ]; then if [ "$OS" == "Darwin" ]; then
@ -115,13 +114,13 @@ setup_shell() {
echo "Installing for Bash. Appending the following to $CONF_FILE:" echo "Installing for Bash. Appending the following to $CONF_FILE:"
echo "" echo ""
echo ' # fnm' echo ' # fnm'
echo ' export PATH=$HOME/.fnm:$PATH' echo ' export PATH='"$INSTALL_DIR"':$PATH'
echo ' eval "`fnm env --multi`"' echo ' eval "`fnm env --multi`"'
echo '' >> $CONF_FILE echo '' >>$CONF_FILE
echo '# fnm' >> $CONF_FILE echo '# fnm' >>$CONF_FILE
echo 'export PATH=$HOME/.fnm:$PATH' >> $CONF_FILE echo 'export PATH='"$INSTALL_DIR"':$PATH' >>$CONF_FILE
echo 'eval "`fnm env --multi`"' >> $CONF_FILE echo 'eval "`fnm env --multi`"' >>$CONF_FILE
else else
echo "Could not infer shell type. Please set up manually." echo "Could not infer shell type. Please set up manually."
@ -137,6 +136,6 @@ setup_shell() {
parse_args "$@" parse_args "$@"
check_dependencies check_dependencies
download_fnm download_fnm
if [ "$SKIP_SHELL" != "true" ]; then if [ "$SKIP_SHELL" != "true" ]; then
setup_shell setup_shell
fi fi

Loading…
Cancel
Save