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