xref: /aosp_15_r20/external/pigweed/pw_build/python_dist/setup.bat (revision 61c4878ac05f98d0ceed94b57d316916de578985)
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