fix(tools): Enable to use IDF_PATH with export.sh

This commit is contained in:
Marek Fiala 2024-12-18 13:24:15 +01:00
parent 40d450dd58
commit dd31a41303

View File

@ -22,24 +22,40 @@ idf_path="."
shell_type="detect" shell_type="detect"
# shellcheck disable=SC2128,SC2169,SC2039,SC3054,SC3028 # ignore array expansion warning # shellcheck disable=SC2128,SC2169,SC2039,SC3054,SC3028 # ignore array expansion warning
if test -n "${BASH_SOURCE-}" if [ -n "${BASH_SOURCE-}" ]
then then
# shellcheck disable=SC3028,SC3054 # unreachable with 'dash' # shellcheck disable=SC3028,SC3054 # unreachable with 'dash'
idf_path=$(dirname "${BASH_SOURCE[0]}") idf_path=$(dirname "${BASH_SOURCE[0]}")
shell_type="bash" shell_type="bash"
elif test -n "${ZSH_VERSION-}" elif [ -n "${ZSH_VERSION-}" ]
then then
# shellcheck disable=SC2296 # ignore parameter starts with '{' because it's zsh # shellcheck disable=SC2296 # ignore parameter starts with '{' because it's zsh
idf_path=$(dirname "${(%):-%x}") idf_path=$(dirname "${(%):-%x}")
shell_type="zsh" shell_type="zsh"
elif [ -n "${IDF_PATH-}" ]
then
if [ -f "/.dockerenv" ]
then
echo "Using the IDF_PATH found in the environment as docker environment detected."
idf_path=$IDF_PATH
elif [ -n "${IDF_PATH_FORCE-}" ]
then
echo "Using the forced IDF_PATH found in the environment."
idf_path=$IDF_PATH
fi
fi fi
if [ ! -f "${idf_path}/tools/idf.py" ] || if [ ! -f "${idf_path}/tools/idf.py" ] ||
[ ! -f "${idf_path}/tools/idf_tools.py" ] || [ ! -f "${idf_path}/tools/idf_tools.py" ] ||
[ ! -f "${idf_path}/tools/activate.py" ] [ ! -f "${idf_path}/tools/activate.py" ]
then then
echo "Could not detect IDF_PATH. Please navigate to your ESP-IDF directory and run:" echo "Could not automatically detect IDF_PATH from script location. Please navigate to your ESP-IDF directory and run:"
echo ". ./export.sh" echo ". ./export.sh"
if [ -n "${IDF_PATH-}" ]
then
echo
echo "To use the IDF_PATH set in the environment, you can enforce it by setting 'export IDF_PATH_FORCE=1'"
fi
unset idf_path unset idf_path
return 1 return 1
fi fi