esphome/script/setup
Clyde Stubbs a2e152ad12
clang-format and clang-tidy scripts: More robust algorithm to find correct executable (#6041)
* More robust algorithm to find correct executable

* Revise message wording

* Add clang-tidy and clang-format to requirements.txt.
Add to message explaining install process.

* Extracted get_binary to helpers.py. Use execptions for clean exit.

* Add parameter types

* clang-{tidy,format} in requirements_test.txt
clean up script exit

* Kill processes on ^C

* Move clang-tidy and clang-format into requirements_dev.txt
2024-01-02 23:00:52 -06:00

29 lines
724 B
Bash
Executable File

#!/bin/bash
# Set up ESPHome dev environment
set -e
cd "$(dirname "$0")/.."
if [ ! -n "$DEVCONTAINER" ] && [ ! -n "$VIRTUAL_ENV" ] && [ ! "$ESPHOME_NO_VENV" ]; then
python3 -m venv venv
source venv/bin/activate
fi
# Avoid unsafe git error when running inside devcontainer
if [ -n "$DEVCONTAINER" ];then
git config --global --add safe.directory "$PWD"
fi
pip3 install -r requirements.txt -r requirements_optional.txt -r requirements_test.txt -r requirements_dev.txt
pip3 install setuptools wheel
pip3 install --no-use-pep517 -e .
pre-commit install
script/platformio_install_deps.py platformio.ini --libraries --tools --platforms
echo
echo
echo "Virtual environment created; source venv/bin/activate to use it"