diff --git a/.gitignore b/.gitignore index ab4ba81ba45d2eb7295a7e4385aea591754c9746..c499625228e4fbe29ee8001e52738046c6782183 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,7 @@ share/python-wheels/ .installed.cfg *.egg MANIFEST -requirements.txt +# requirements.txt # removed to enable tracking versions of packages over time # PyInstaller # Usually these files are written by a python script from a template diff --git a/install_development_dependencies.sh b/install_development_dependencies.sh index b4c1b4777505c6053234ec5d1343c5743cb9152a..4f395df2a27f5ef49b600688ae1563aa791b2178 100755 --- a/install_development_dependencies.sh +++ b/install_development_dependencies.sh @@ -1,3 +1,24 @@ #!/bin/bash -pip install --upgrade pip setuptools wheel pip-tools pylint pytest pytest-benchmark coverage +# installing basic tools +pip install --upgrade pip setuptools wheel pip-tools pylint pytest pytest-benchmark coverage grpcio-tools + +# creating an empty file +echo "" > requirements.in + +#TODO: include here your component +COMPONENTS="compute context device monitoring" + +# compiling dependencies from all components +for component in $COMPONENTS +do + echo "computing requirements for component $component" + diff requirements.in src/$component/requirements.in | grep '^>' | sed 's/^>\ //' >> requirements.in +done + +pip-compile --output-file=requirements.txt requirements.in +python -m pip install -r requirements.txt + +# removing the temporary files +rm requirements.in +rm requirements.txt