scripts/cli in rvm-1.0.1 vs scripts/cli in rvm-1.0.2

- old
+ new

@@ -7,11 +7,10 @@ eval "$rvm_scripts_path/$rvm_script_name $rvm_ruby_args" return $? } __rvm_parse_args() { - # TODO: # Make this more robust '__rvm_history' so that it stores *unique* rvm commands. # Otherwise this file gets big rather fast. #echo "$@" >> $HOME/.rvm_history @@ -49,17 +48,17 @@ rvm_action="remove" rvm_remove_flag=1 ;; # Can likely remove this due to the *) case - jruby|ree|macruby|rbx|rubinius|mput|shyouhei|ironruby|default|maglev|all) + jruby*|ree*|macruby*|rbx*|rubinius*|mput*|shyouhei*|ironruby*|default*|maglev*|all) if [[ "rubinius" = "$rvm_token" ]] ; then rvm_token="rbx"; fi rvm_ruby_interpreter="$rvm_token" rvm_ruby_string="$rvm_token" rvm_ruby_strings="$rvm_token" rvm_action="${rvm_action:-use}" - if $rvm_scripts_path/match "$1" "^[0-9]\.[0-9]" ; then rvm_ruby_version=$1 ; shift ; fi + if "$rvm_scripts_path"/match "$1" "^[0-9]\.[0-9]" ; then rvm_ruby_version=$1 ; shift ; fi ;; gemset) rvm_action=$rvm_token @@ -82,13 +81,13 @@ fi elif [[ "delete" = "$1" ]] ; then rvm_delete_flag=1 rvm_ruby_args="$@" ; shift rvm_gemset_name="$1"; shift - if [[ ! -z "$(echo $rvm_gemset_name | \grep $rvm_gemset_separator)" ]] ; then - rvm_ruby_string=$(echo $rvm_gemset_name | sed 's/\(.*\)'${rvm_gemset_separator}'.*/\1/') - rvm_gemset_name=$(echo $rvm_gemset_name | sed 's/.*'${rvm_gemset_separator}'\(.*\)/\1/') + if echo "$rvm_gemset_name" | \grep -q "$rvm_gemset_separator" ; then + rvm_ruby_string=$(echo "$rvm_gemset_name" | sed 's/\(.*\)'${rvm_gemset_separator}'.*/\1/') + rvm_gemset_name=$(echo "$rvm_gemset_name" | sed 's/.*'${rvm_gemset_separator}'\(.*\)/\1/') if [[ "$rvm_ruby_string" != "$rvm_gemset_name" ]] ; then rvm_ruby_string="$rvm_ruby_string${rvm_gemset_separator}$rvm_gemset_name" fi rvm_ruby_gem_home="$rvm_ruby_gem_home${rvm_gemset_separator}$rvm_gemset_name" fi @@ -101,11 +100,11 @@ gemdir|gempath|gemhome) rvm_action=$rvm_token rvm_gemdir_flag=1 if [[ "system" = "$1" ]] ; then rvm_system_flag=1 ; shift ; fi - if [[ "user" = "$1" ]] ; then rvm_user_flag=1 ; shift ; fi + if [[ "user" = "$1" ]] ; then rvm_user_flag=1 ; shift ; fi ;; inspect|list|info) rvm_action="$rvm_token" rvm_ruby_args="$@" @@ -149,11 +148,11 @@ if [[ -z "$1" ]] ; then if [[ "gem" = "$rvm_action" ]] ; then rvm_action="error" rvm_error_message="'rvm $rvm_action' must be followed by arguments." elif [[ "ruby" = "$rvm_action" ]] ; then - if [[ -z "$(echo "$rvm_ruby_strings" | awk '/,/')" ]] ; then + if echo "$rvm_ruby_strings" | \grep -q ',' ; then rvm_action="ruby" rvm_ruby_args="" else rvm_action="error" rvm_error_message="rvm X,Y,Z '$rvm_action' must be followed by arguments." @@ -170,18 +169,18 @@ else rvm_ruby_args="$(__rvm_quote_args "$@")" rvm_parse_break=1 fi else - if $rvm_scripts_path/match "$1" "^-" ; then + if "$rvm_scripts_path"/match "$1" "^-" ; then unset rvm_ruby_strings else - if $rvm_scripts_path/match "$1" "^[0-9]" ; then - rvm_ruby_strings=$(echo "$1" | \tr ',' ' ') ; shift + if "$rvm_scripts_path"/match "$1" "^[0-9]" ; then + rvm_ruby_strings="${1//,/ }" ; shift unset rvm_ruby_interpreter else - if $rvm_scripts_path/match "ruby rbx jruby macruby ree rubinius maglev mput shyouhei ironruby" "$1" ; then + if [[ "ruby rbx jruby macruby ree rubinius maglev mput shyouhei ironruby" =~ $1 ]] ; then rvm_ruby_strings=$1 rvm_ruby_interpreter=$1 shift else unset rvm_ruby_interpreter rvm_ruby_strings @@ -195,11 +194,11 @@ rvm_action="benchmark" ;; specs|tests) rvm_action="rake" - rvm_ruby_args="$(echo $rvm_token | sed 's/s$//')" + rvm_ruby_args="$(echo $rvm_token | sed -e 's/s$//')" ;; -v|--version) if [[ -z "$1" ]] ; then rvm_action="version" @@ -213,11 +212,11 @@ rvm_ruby_repo_url=$rvm_token ;; --ree-options) if [[ ! -z "$1" ]] ; then - export rvm_ree_options="$(echo $1 | \tr ',' ' ')" ; shift + export rvm_ree_options="${1//,/ }" ; shift else rvm_action="error" rvm_error_message="--ree-options *must* be followed by... well... options." fi ;; @@ -275,17 +274,17 @@ rvm_wrapper_name="${rvm_token/--/}" ;; --alias) if [[ -n "$1" ]]; then - export rvm_ruby_aliases="$(echo "$rvm_ruby_aliases $1" | \tr ',' ' ' | __rvm_strip)" + rvm_ruby_aliases="$(echo "${rvm_ruby_aliases//,/ } ${1//,/ }" | __rvm_strip)" shift fi ;; --symlink) - $rvm_scripts_path/log "warn" "--symlink has been removed, please see 'rvm wrapper'." + "$rvm_scripts_path/log" "warn" "--symlink has been removed, please see 'rvm wrapper'." shift ;; wrapper) rvm_action="$rvm_token" @@ -295,31 +294,33 @@ [[ -n "$1" ]] && shift rvm_ruby_args="$@" # list of binaries, or none rvm_parse_break=1 ;; - -h|--help|usage) rvm_action=help ;; -G) path_variable="rvm_gems_path" ; __rvm_set_path_variable "$1"; shift ;; --source) path_variable="rvm_src_path" ; __rvm_set_path_variable "$1"; shift ;; --archives) path_variable="rvm_archives_path" ; __rvm_set_path_variable "$1"; shift ;; - --make) rvm_ruby_make="$1" ; shift ;; - --make-install) rvm_ruby_make_install="$1" ; shift ;; - --nice) rvm_niceness="$1" ; shift ;; - -l|--level) rvm_ruby_patch_level="p$1" ; shift ;; + -h|--help|usage) rvm_action=help ;; + --make) rvm_ruby_make="$1" ; shift ;; + --make-install) rvm_ruby_make_install="$1" ; shift ;; + --nice) rvm_niceness="$1" ; shift ;; + -l|--level) rvm_ruby_patch_level="p$1" ; shift ;; # TODO: handle this below better (if $1 is null) - --sdk) rvm_sdk="$1" ; shift ;; - --archflags) rvm_archflags="$1" ; shift ;; - --install) rvm_install_on_use_flag=1 ;; - --trace) rvm_trace_flag=1 ; set -x ;; - --proxy) rvm_proxy="$1" ; shift ;; - --disable-llvm|--disable-jit) rvm_llvm_flag=0 ;; - --enable-llvm|--enable-jit) rvm_llvm_flag=1 ;; + --sdk) rvm_sdk="$1" ; shift ;; + --archflags) rvm_archflags="$1" ; shift ;; + --install) rvm_install_on_use_flag=1 ;; + --trace) rvm_trace_flag=1 ; set -x ;; + -q|--quiet) rvm_quiet_flag=1 ;; + -s|--silent) rvm_silent_flag=1 ;; + --proxy) rvm_proxy="$1" ; shift ;; + --disable-llvm|--disable-jit) rvm_llvm_flag=0 ;; + --enable-llvm|--enable-jit) rvm_llvm_flag=1 ;; reboot|damnit|wtf|argh|BOOM|boom|wth) $rvm_action="reboot" ;; --self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--export|--summary|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--delete|--verbose|--import|--rvmrc|--sticky|--create|--gems|--docs) - export rvm_$(echo $rvm_token | sed 's#-##g')_flag=1 + export "rvm_${rvm_token//-/}_flag"=1 ;; --dump-environment) export rvm_dump_environment_flag="$1"; shift ;; @@ -353,24 +354,15 @@ rvm_action="error" rvm_error_message="--configure *must* be followed by configure flags." fi ;; - --with-*) - rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token" - ;; - --without-*) - rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token" - ;; - --enable-*) - rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token" - ;; - --disable-*) - rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token" - ;; + --with-*) rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token" ;; + --without-*) rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token" ;; + --enable-*) rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token" ;; + --disable-*) rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token" ;; - -I|--include) if [[ -z "$1" ]] ; then rvm_action="error" rvm_error_message="-I|--include *must* be followed by a path." else @@ -382,60 +374,59 @@ --) rvm_ruby_args="$*" ; rvm_parse_break=1 ;; *) if [[ -n "$rvm_token" ]] ; then if [[ "gemset" = "$rvm_action" ]] ; then - if $rvm_scripts_path/match "$rvm_token" "^.+${rvm_gemset_separator}.+$" ; then - rvm_gemset_name="$(echo "$rvm_token" | awk -F${rvm_gemset_separator} '{print $2}')" - rvm_ruby_string="$(echo "$rvm_token" | awk -F${rvm_gemset_separator} '{print $1}')" - elif [[ ! -z "$(echo "$rvm_token" | awk '/\.gems$/')" ]] ; then - rvm_file_name="$(echo "$rvm_token" | sed 's#\.gems##g').gems" + if "$rvm_scripts_path/match" "$rvm_token" "^.+${rvm_gemset_separator}.+$" ; then + rvm_gemset_name="${rvm_token/*${rvm_gemset_separator}/}" + rvm_ruby_string="${rvm_token/${rvm_gemset_separator}*/}" + elif echo "$rvm_token" | \grep -q '.gems$' ; then + rvm_file_name="${rvm_token/.gems/}.gems" # Account for possible .gems.gems # elif [[ ! -z "$(echo "$rvm_token" | awk '/\.gems$/')" ]] ; then else - rvm_gemset_name="$(echo "$rvm_token" | sed 's#\.gems##g')" + rvm_gemset_name="${rvm_token/.gems/}" rvm_file_name="$rvm_gemset_name.gems" fi - elif [[ ! -z "$(echo "$rvm_token" | awk '/,/')" ]] ; then + elif echo "$rvm_token" | \grep -q ',' ; then rvm_ruby_strings="$rvm_token" if [[ -z "$rvm_action" ]] ; then rvm_action="ruby" # Not sure if we really want to do this but we'll try it out. fi - elif $rvm_scripts_path/match "$rvm_token" "^${rvm_gemset_separator}" ; then + elif "$rvm_scripts_path/match" "$rvm_token" "^${rvm_gemset_separator}" ; then rvm_action="use" rvm_gemset_name="$(echo "$rvm_token" | awk -F${rvm_gemset_separator} '{print $2}')" + rvm_gemset_name="${rvm_token/*${rvm_gemset_separator}/}" rvm_ruby_string="$(__rvm_environment_identifier | awk -F${rvm_gemset_separator} '{print $1}')" rvm_ruby_strings="${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}" - elif $rvm_scripts_path/match "$rvm_token" "^.+${rvm_gemset_separator}.+$" ; then + elif "$rvm_scripts_path/match" "$rvm_token" "^.+${rvm_gemset_separator}.+$" ; then rvm_gemset_name="$(echo "$rvm_token" | awk -F${rvm_gemset_separator} '{print $2}')" rvm_ruby_string="$(echo "$rvm_token" | awk -F${rvm_gemset_separator} '{print $1}')" rvm_ruby_strings="$rvm_token" - elif $rvm_scripts_path/match "$rvm_token" "^.+\\+.+$" ; then - rvm_ruby_alias="$(echo "$rvm_token" | awk -F+ '{print $2}')" - rvm_ruby_string="$(echo "$rvm_token" | awk -F+ '{print $1}')" + elif "$rvm_scripts_path/match" "$rvm_token" "^.+\\+.+$" ; then + rvm_ruby_alias="${rvm_token/*+/}" + rvm_ruby_string="${rvm_token/+*/}" rvm_ruby_strings="$rvm_ruby_string" - elif $rvm_scripts_path/match "$rvm_token" "-" ; then + elif "$rvm_scripts_path/match" "$rvm_token" "-" ; then rvm_ruby_string="$rvm_token" rvm_ruby_strings="$rvm_token" - elif $rvm_scripts_path/match "$rvm_token" "^[0-9].[0-9]" ; then + elif "$rvm_scripts_path/match" "$rvm_token" "^[0-9].[0-9]" ; then rvm_ruby_string="$rvm_token" rvm_ruby_strings="$rvm_token" rvm_action="${rvm_action:-use}" - elif $rvm_scripts_path/match "$rvm_token" "^ree-" ; then + elif "$rvm_scripts_path/match" "$rvm_token" "^ree-" ; then rvm_ruby_string="$rvm_token" rvm_ruby_strings="$rvm_token" rvm_action="${rvm_action:-use}" elif [[ -L "$rvm_rubies_path/$rvm_token" ]] ; then # Alias rvm_ruby_string=$rvm_token rvm_ruby_strings="$rvm_token" rvm_action="${rvm_action:-use}" else - if $rvm_scripts_path/match "$rvm_token" "\.rb$" ; then # we have a specified ruby script + if "$rvm_scripts_path/match" "$rvm_token" ".rb$" ; then # we have a specified ruby script rvm_ruby_args=$rvm_token rvm_ruby_file=$rvm_token - if [[ -z "$rvm_action" ]] ; then - rvm_action="ruby" - fi + if [[ -z "$rvm_action" ]] ; then rvm_action="ruby" ; fi else rvm_action="error" rvm_error_message="Unrecognized command line argument: '$rvm_token'" fi fi @@ -458,12 +449,12 @@ } rvm() { __rvm_setup - case $- in *i*) rvm_interactive=1 ;; - *) unset rvm_interactive ;; + case $- in *i*) rvm_interactive=1 ;; + *) unset rvm_interactive ;; esac ; export rvm_interactive if [[ -z "$ZSH_VERSION" ]] ; then trap '\rm -rf "$rvm_tmp_path/$$" >/dev/null 2>&1' 0 1 2 3 15 fi @@ -473,16 +464,17 @@ if [[ "${rvm_version}" != "${disk_version}" ]] && [[ "reload" != "$1" ]]; then printf "\nA RVM version ${disk_version} is installed yet ${rvm_version} is loaded.\n Please do one of the following:\n * 'rvm reload'\n * open a new shell\n * source your shell init scripts" return 1 fi - __rvm_cleanup_variables + __rvm_cleanse_variables __rvm_load_rvmrc __rvm_initialize __rvm_parse_args "$@" + export BUNDLE_PATH GEM_HOME GEM_PATH rvm_ruby_string rvm_action rvm_bin_flag rvm_debug_flag rvm_delete_flag rvm_docs_type rvm_file_name rvm_gemset_name rvm_head_flag rvm_install_on_use_flag rvm_interactive rvm_llvm_flag rvm_make_flags rvm_proxy rvm_remove_flag rvm_ruby_args rvm_ruby_configure_flags rvm_ruby_file rvm_ruby_gem_home rvm_ruby_interpreter rvm_ruby_name rvm_ruby_version rvm_system_flag rvm_trace_flag rvm_use_flag rvm_user_flag rvm_verbose_flag rvm_patch_names rvm_patch_original_pwd rvm_clang_flag rvm_install_arguments - export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_patches_path rvm_patches_path rvm_patchsets_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator + export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_patches_path rvm_patches_path rvm_patchsets_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator rvm_ruby_aliases rvm_quiet_flag rvm_silent_flag result=0 case "$rvm_action" in use) __rvm_use ; result=$? ;; @@ -495,74 +487,64 @@ usage) __rvm_usage ; result=$? ;; benchmark) __rvm_benchmark ; result=$? ;; inspect) __rvm_inspect ; result=$? ;; implode|seppuku) __rvm_implode ; result=$? ;; - list) $rvm_scripts_path/list $rvm_ruby_args ; result=$? ;; + list) "$rvm_scripts_path"/list $rvm_ruby_args ; result=$? ;; # TODO: Make debug run in the current environment. - debug) $rvm_scripts_path/info '' debug ; result=$? ;; + debug) "$rvm_scripts_path"/info '' debug ; result=$? ;; + help) "$rvm_scripts_path"/help $rvm_ruby_args ; result=$? ;; + env) "$rvm_scripts_path"/env "$rvm_ruby_string" ; result=$? ;; info) - if [[ "$1" == "info" ]]; then shift; fi + if [[ "$1" = "info" ]]; then shift; fi if [[ -z "$rvm_ruby_args" ]] ; then - $rvm_scripts_path/info + "$rvm_scripts_path/info" else - $rvm_scripts_path/info $rvm_ruby_args + "$rvm_scripts_path/info" $rvm_ruby_args fi result=$? ;; - help) $rvm_scripts_path/help $rvm_ruby_args ; result=$? ;; - answer) __rvm_Answer_to_the_Ultimate_Question_of_Life_the_Universe_and_Everything ; result=42 ;; + answer) __rvm_Answer_to_the_Ultimate_Question_of_Life_the_Universe_and_Everything ; result=42 ;; question) __rvm_ultimate_question ; result=42 ;; - env) - $rvm_scripts_path/env "$rvm_ruby_string" - result=$? - ;; - wrapper) - $rvm_scripts_path/wrapper "$rvm_ruby_string" "$rvm_wrapper_name" $rvm_ruby_args - result=$? - unset rvm_wrapper_name + "$rvm_scripts_path/wrapper" "$rvm_ruby_string" "$rvm_wrapper_name" $rvm_ruby_args + result=$? ; unset rvm_wrapper_name ;; gemdir|gemhome|gempath) - $rvm_scripts_path/gemsets "$rvm_action" - result=$? + "$rvm_scripts_path/gemsets" "$rvm_action" ; result=$? ;; ruby|gem|rake|exec) old_rvm_ruby_string=$rvm_ruby_string unset rvm_ruby_string export rvm_ruby_strings - $rvm_scripts_path/set $rvm_action $rvm_ruby_args + "$rvm_scripts_path/set" "$rvm_action" "$rvm_ruby_args" result=$? # Restore the state pre-sets. [[ -n "$old_rvm_ruby_string" ]] && rvm_ruby_string=$old_rvm_ruby_string unset old_rvm_ruby_string ;; cleanup|tools|snapshot|disk-usage|repair|alias|docs|rubygems|migrate|upgrade) - __rvm_run_script "$rvm_action" - result=$? + __rvm_run_script "$rvm_action" ; result=$? ;; - rvmrc) - eval "__rvm_rvmrc_tools $rvm_ruby_args" - result="$?" - ;; + rvmrc) eval "__rvm_rvmrc_tools $rvm_ruby_args" ; result="$?" ;; gemset) - #if $rvm_scripts_path/match $rvm_ruby_args use ; then + #if "$rvm_scripts_path/match" $rvm_ruby_args use ; then if [[ "$rvm_use_flag" -eq 1 ]] ; then __rvm_gemset_select result=$? ; if [[ $result -eq 0 ]] ; then __rvm_gemset_use fi else export rvm_ruby_strings - $rvm_scripts_path/gemsets $rvm_ruby_args + "$rvm_scripts_path"/gemsets $rvm_ruby_args unset rvm_ruby_strings # Clear the gemset. if [[ "$rvm_delete_flag" -eq 1 ]] ; then gem_prefix="$(echo $GEM_HOME | sed 's/'${rvm_gemset_separator}'.*$//')" @@ -578,38 +560,35 @@ result=$? ;; monitor) export rvm_ruby_strings rvm_ruby_string - $rvm_scripts_path/monitor ; result=$? + "$rvm_scripts_path"/monitor ; result=$? ;; - notes) $rvm_scripts_path/notes ; result=$? ;; - reload) unset rvm_loaded_flag ; rvm_reload_flag=1 ;; + notes) "$rvm_scripts_path"/notes ; result=$? ;; + reload) unset rvm_loaded_flag ; rvm_reload_flag=1 ;; + tests|specs) rvm_action="rake" ; __rvm_do ; result=$? ;; + package) "$rvm_scripts_path"/package $rvm_ruby_args ; result=$? ;; + fetch|install|uninstall|remove) if [[ -n "$rvm_ruby_strings" ]]; then - $rvm_scripts_path/manage "$rvm_action" "$rvm_ruby_strings" + "$rvm_scripts_path"/manage "$rvm_action" "$rvm_ruby_strings" else - $rvm_scripts_path/manage "$rvm_action" + "$rvm_scripts_path"/manage "$rvm_action" fi result=$? ;; - tests|specs) rvm_action="rake" ; __rvm_do ; result=$? ;; - package) - $rvm_scripts_path/package $rvm_ruby_args - result=$? - ;; - error) - $rvm_scripts_path/log "fail" "$rvm_error_message ( see: 'rvm usage' )" + "$rvm_scripts_path"/log "fail" "$rvm_error_message ( see: 'rvm usage' )" __rvm_pushpop result=1 ;; *) if [[ ! -z "$rvm_action" ]] ; then - $rvm_scripts_path/log "fail" "unknown action '$rvm_action'" + "$rvm_scripts_path/log" "fail" "unknown action '$rvm_action'" else __rvm_usage fi result=1 esac