mirror of
https://github.com/asdf-vm/asdf.git
synced 2024-11-15 01:28:17 -07:00
fix: always use ASDF_DEFAULT_TOOL_VERSIONS_FILENAME for filename when present (#1238)
* fix: always use ASDF_DEFAULT_TOOL_VERSIONS_FILENAME for filename when present * fix: correct version command unit tests for ASDF_DEFAULT_TOOL_VERSIONS_FILENAME Fixes #1082
This commit is contained in:
parent
0bc8c3ab68
commit
711ad99104
@ -14,13 +14,17 @@ version_command() {
|
||||
shift 2
|
||||
local versions=("$@")
|
||||
|
||||
local file_name
|
||||
local file
|
||||
|
||||
file_name="$(version_file_name)"
|
||||
|
||||
if [ "$cmd" = "global" ]; then
|
||||
file=${ASDF_DEFAULT_TOOL_VERSIONS_FILENAME:-$HOME/.tool-versions}
|
||||
file="$HOME/$file_name"
|
||||
elif [ "$cmd" = "local-tree" ]; then
|
||||
file=$(find_tool_versions)
|
||||
else # cmd = local
|
||||
file="$(pwd)/.tool-versions"
|
||||
file="$(pwd)/$file_name"
|
||||
fi
|
||||
|
||||
if [ -L "$file" ]; then
|
||||
|
@ -156,10 +156,12 @@ get_version_in_dir() {
|
||||
local legacy_filenames=$3
|
||||
|
||||
local asdf_version
|
||||
asdf_version=$(parse_asdf_version_file "$search_path/.tool-versions" "$plugin_name")
|
||||
|
||||
file_name=$(version_file_name)
|
||||
asdf_version=$(parse_asdf_version_file "$search_path/$file_name" "$plugin_name")
|
||||
|
||||
if [ -n "$asdf_version" ]; then
|
||||
printf "%s\\n" "$asdf_version|$search_path/.tool-versions"
|
||||
printf "%s\\n" "$asdf_version|$search_path/$file_name"
|
||||
return 0
|
||||
fi
|
||||
|
||||
@ -174,6 +176,10 @@ get_version_in_dir() {
|
||||
done
|
||||
}
|
||||
|
||||
version_file_name() {
|
||||
printf "%s" "${ASDF_DEFAULT_TOOL_VERSIONS_FILENAME:-.tool-versions}"
|
||||
}
|
||||
|
||||
find_versions() {
|
||||
local plugin_name=$1
|
||||
local search_path=$2
|
||||
@ -431,7 +437,7 @@ get_plugin_source_url() {
|
||||
}
|
||||
|
||||
find_tool_versions() {
|
||||
find_file_upwards ".tool-versions"
|
||||
find_file_upwards "$(version_file_name)"
|
||||
}
|
||||
|
||||
find_file_upwards() {
|
||||
|
@ -249,21 +249,41 @@ teardown() {
|
||||
[ "$(cat $HOME/.tool-versions)" = "dummy path:$PROJECT_DIR/local" ]
|
||||
}
|
||||
|
||||
@test "global should write to ASDF_DEFAULT_TOOL_VERSIONS_FILENAME" {
|
||||
export ASDF_DEFAULT_TOOL_VERSIONS_FILENAME="$PROJECT_DIR/global-tool-versions"
|
||||
run asdf global "dummy" "1.1.0"
|
||||
@test "local should write to ASDF_DEFAULT_TOOL_VERSIONS_FILENAME" {
|
||||
export ASDF_DEFAULT_TOOL_VERSIONS_FILENAME="local-tool-versions"
|
||||
run asdf local "dummy" "1.1.0"
|
||||
[ "$status" -eq 0 ]
|
||||
[ "$(cat $ASDF_DEFAULT_TOOL_VERSIONS_FILENAME)" = "dummy 1.1.0" ]
|
||||
[ "$(cat .tool-versions)" = "" ]
|
||||
unset ASDF_DEFAULT_TOOL_VERSIONS_FILENAME
|
||||
}
|
||||
|
||||
@test "local should overwrite contents of ASDF_DEFAULT_TOOL_VERSIONS_FILENAME if set" {
|
||||
export ASDF_DEFAULT_TOOL_VERSIONS_FILENAME="local-tool-versions"
|
||||
echo 'dummy 1.0.0' >> "$ASDF_DEFAULT_TOOL_VERSIONS_FILENAME"
|
||||
run asdf local "dummy" "1.1.0"
|
||||
[ "$status" -eq 0 ]
|
||||
[ "$(cat $ASDF_DEFAULT_TOOL_VERSIONS_FILENAME)" = "dummy 1.1.0" ]
|
||||
[ "$(cat .tool-versions)" = "" ]
|
||||
unset ASDF_DEFAULT_TOOL_VERSIONS_FILENAME
|
||||
}
|
||||
|
||||
|
||||
@test "global should write to ASDF_DEFAULT_TOOL_VERSIONS_FILENAME" {
|
||||
export ASDF_DEFAULT_TOOL_VERSIONS_FILENAME="global-tool-versions"
|
||||
run asdf global "dummy" "1.1.0"
|
||||
[ "$status" -eq 0 ]
|
||||
[ "$(cat $HOME/$ASDF_DEFAULT_TOOL_VERSIONS_FILENAME)" = "dummy 1.1.0" ]
|
||||
[ "$(cat $HOME/.tool-versions)" = "" ]
|
||||
unset ASDF_DEFAULT_TOOL_VERSIONS_FILENAME
|
||||
}
|
||||
|
||||
@test "global should overwrite contents of ASDF_DEFAULT_TOOL_VERSIONS_FILENAME if set" {
|
||||
export ASDF_DEFAULT_TOOL_VERSIONS_FILENAME="$PROJECT_DIR/global-tool-versions"
|
||||
export ASDF_DEFAULT_TOOL_VERSIONS_FILENAME="global-tool-versions"
|
||||
echo 'dummy 1.0.0' >> "$ASDF_DEFAULT_TOOL_VERSIONS_FILENAME"
|
||||
run asdf global "dummy" "1.1.0"
|
||||
[ "$status" -eq 0 ]
|
||||
[ "$(cat $ASDF_DEFAULT_TOOL_VERSIONS_FILENAME)" = "dummy 1.1.0" ]
|
||||
[ "$(cat $HOME/$ASDF_DEFAULT_TOOL_VERSIONS_FILENAME)" = "dummy 1.1.0" ]
|
||||
[ "$(cat $HOME/.tool-versions)" = "" ]
|
||||
unset ASDF_DEFAULT_TOOL_VERSIONS_FILENAME
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user