#!/usr/bin/env bash

shopt -s extglob
PS4="+ \${BASH_SOURCE##\${rvm_path:-}} : \${FUNCNAME[0]:+\${FUNCNAME[0]}()}  \${LINENO} > "
export PS4
set -o errtrace

# Tracing, if asked for.
if [[ "$*" =~ --trace ]] || (( ${rvm_trace_flag:-0} > 0 ))
then
  set -o xtrace
  export rvm_trace_flag=1
fi

source "$PWD/scripts/functions/installer"
# source "$PWD/scripts/rvm"

#
# RVM Installer
#
install_setup

true ${DESTDIR:=}
# Parse RVM Installer CLI arguments.
while (( $# > 0 ))
do
  token="$1"
  shift

  case "$token" in
    --auto)
      rvm_auto_flag=1
      ;;
    --prefix)
      rvm_prefix="$1"
      shift
      ;;
    --path)
      rvm_path="$1"
      shift
      ;;
    --version)
      rvm_path="${PWD%%+(\/)}"
      __rvm_version
      unset rvm_path
      exit
      ;;
    --debug)
      export rvm_debug_flag=1
      set -o verbose
      ;;
    --trace)
      set -o xtrace
      export rvm_trace_flag=1
      echo "$@"
      env | grep '^rvm_'
      export PS4="+ \${BASH_SOURCE##\${rvm_path:-}} : \${FUNCNAME[0]:+\${FUNCNAME[0]}()}  \${LINENO} > "
      ;;
    --help)
      install_usage
      exit 0
      ;;
    *)
      echo "Unrecognized option: $token"
      install_usage
      exit 1
      ;;
  esac
done

if [[ -n "${DESTDIR}" ]]
then
  rvm_prefix="${DESTDIR}"
fi

determine_install_path

determine_install_or_upgrade

if [[ -z "${rvm_path:-}" ]]
then
  echo "ERROR: rvm_path is empty, halting installation."
  exit 1
fi

export rvm_prefix rvm_path rvm_debug_flag rvm_trace_flag

create_install_paths

print_install_header

configure_installation

#cleanse_old_entities

install_rvm_files

ensure_scripts_are_executable

setup_configuration_files

install_binscripts

#automatic_profile_setup

install_gemsets

install_patchsets

#cleanse_old_environments

#migrate_old_gemsets

#migrate_defaults

correct_binary_permissions

#install_man_pages

#root_canal

#setup_rvmrc

#setup_user_profile

cleanup_tmp_files

#display_notes

#display_thank_you

exit 0
