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