1:: Copyright 2021 The Pigweed Authors 2:: 3:: Licensed under the Apache License, Version 2.0 (the "License"); you may not 4:: use this file except in compliance with the License. You may obtain a copy of 5:: the License at 6:: 7:: https://www.apache.org/licenses/LICENSE-2.0 8:: 9:: Unless required by applicable law or agreed to in writing, software 10:: distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11:: WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12:: License for the specific language governing permissions and limitations under 13:: the License. 14@echo off 15 16set "ROOT_DIR=%~dp0" 17set "WHEEL_DIR=%ROOT_DIR%\python_wheels" 18 19:: Generate python virtual environment using existing python. 20python -m venv "%ROOT_DIR%\python-venv" 21:: Use the venv python for pip installs 22set "python=%ROOT_DIR%\python-venv\Scripts\python.exe" 23 24set "CONSTRAINT_PATH=%ROOT_DIR%\constraints.txt" 25set "CONSTRAINT_ARG=" 26if exist "%CONSTRAINT_PATH%" ( 27 set "CONSTRAINT_ARG=--constraint=%CONSTRAINT_PATH%" 28) 29 30set "EXTRA_REQUIREMENT_PATH=%WHEEL_DIR%\requirements.txt" 31set "EXTRA_REQUIREMENT_ARG=" 32if exist "%EXTRA_REQUIREMENT_PATH%" ( 33 set "EXTRA_REQUIREMENT_ARG=--requirement=%EXTRA_REQUIREMENT_PATH%" 34) 35 36:: Run pip install in the venv. 37:: Note: pip install --require-hashes will be triggered if any hashes are present 38:: in the requirement.txt file. 39call "%python%" -m pip install ^ 40 "--find-links=%ROOT_DIR%python_wheels" ^ 41 "--requirement=requirements.txt" %EXTRA_REQUIREMENT_ARG% %CONSTRAINT_ARG% 42