| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- # This script should be sourced, not executed.
- function __main
- if not set -q IDF_PATH
- echo "IDF_PATH must be set before sourcing this script"
- return 1
- end
- set oldpath = $PATH
- echo "Detecting the Python interpreter"
- source "$IDF_PATH"/tools/detect_python.fish
- echo "Checking Python compatibility"
- "$ESP_PYTHON" "$IDF_PATH"/tools/python_version_checker.py
- echo "Adding ESP-IDF tools to PATH..."
- # Call idf_tools.py to export tool paths
- set -x IDF_TOOLS_EXPORT_CMD "$IDF_PATH"/export.fish
- set -x IDF_TOOLS_INSTALL_CMD "$IDF_PATH"/install.fish
- set idf_exports ("$ESP_PYTHON" "$IDF_PATH"/tools/idf_tools.py export) || return 1
- eval "$idf_exports"
- echo "Checking if Python packages are up to date..."
- python "$IDF_PATH"/tools/idf_tools.py check-python-dependencies || return 1
- # Allow calling some IDF python tools without specifying the full path
- # "$IDF_PATH"/tools is already added by 'idf_tools.py export'
- set IDF_ADD_PATHS_EXTRAS "$IDF_PATH"/components/esptool_py/esptool
- set IDF_ADD_PATHS_EXTRAS "$IDF_ADD_PATHS_EXTRAS":"$IDF_PATH"/components/espcoredump
- set IDF_ADD_PATHS_EXTRAS "$IDF_ADD_PATHS_EXTRAS":"$IDF_PATH"/components/partition_table
- set IDF_ADD_PATHS_EXTRAS "$IDF_ADD_PATHS_EXTRAS":"$IDF_PATH"/components/app_update
- set -x PATH "$IDF_ADD_PATHS_EXTRAS":"$PATH"
- set added_path_variables
- for entry in $PATH;
- if not contains $entry $oldpath
- set -a added_path_variables $entry
- end
- end
- if set -q added_path_variables[1]
- echo "Added the following directories to PATH:"
- for entry in $added_path_variables;
- echo $entry
- end
- else
- echo "All paths are already set."
- end
- set uninstall ("$ESP_PYTHON" "$IDF_PATH"/tools/idf_tools.py uninstall --dry-run) || return 1
- if test -n "$uninstall"
- echo ""
- echo "Detected installed tools that are not currently used by active ESP-IDF version."
- echo "$uninstall"
- echo "For free up even more space, remove installation packages of those tools. Use option '$ESP_PYTHON $IDF_PATH/tools/idf_tools.py uninstall --remove-archives'."
- echo ""
- end
- # Clean up
- set -e added_path_variables
- set -e cmd
- set -e old_path
- set -e paths
- set -e path_prefix
- set -e path_entry
- set -e IDF_ADD_PATHS_EXTRAS
- set -e idf_exports
- set -e ESP_PYTHON
- set -e uninstall
- # Not unsetting IDF_PYTHON_ENV_PATH, it can be used by IDF build system
- # to check whether we are using a private Python environment
- echo "Done! You can now compile ESP-IDF projects."
- echo "Go to the project directory and run:"
- echo ""
- echo " idf.py build"
- echo ""
- end
- __main
- set click_version (python -c 'import click; print(click.__version__.split(".")[0])')
- if test $click_version -lt 8
- eval (env _IDF.PY_COMPLETE=source_fish idf.py)
- else
- eval (env _IDF.PY_COMPLETE=fish_source idf.py)
- end
- set -e __main
|