1*61c4878aSAndroid Build Coastguard Worker# Copyright 2024 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 15*61c4878aSAndroid Build Coastguard Workerload("@rules_python//python:defs.bzl", "py_library") 16*61c4878aSAndroid Build Coastguard Workerload("//pw_build:python.bzl", "pw_py_test") 17*61c4878aSAndroid Build Coastguard Worker 18*61c4878aSAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"]) 19*61c4878aSAndroid Build Coastguard Worker 20*61c4878aSAndroid Build Coastguard Workerlicenses(["notice"]) 21*61c4878aSAndroid Build Coastguard Worker 22*61c4878aSAndroid Build Coastguard Workerexports_files([ 23*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/.cipd_version", 24*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/.cipd_version.digests", 25*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/constraint.list", 26*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/constraint_hashes_darwin.list", 27*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/constraint_hashes_linux.list", 28*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/constraint_hashes_windows.list", 29*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/pigweed_upstream_requirements.txt", 30*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/python_base_requirements.txt", 31*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/upstream_requirements_darwin_lock.txt", 32*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/upstream_requirements_linux_lock.txt", 33*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/upstream_requirements_windows_lock.txt", 34*61c4878aSAndroid Build Coastguard Worker] + glob(["pw_env_setup/**/*.json"])) 35*61c4878aSAndroid Build Coastguard Worker 36*61c4878aSAndroid Build Coastguard Worker# Downstream projects should set this label flag to point to their pigweed.json 37*61c4878aSAndroid Build Coastguard Worker# file. 38*61c4878aSAndroid Build Coastguard Workerlabel_flag( 39*61c4878aSAndroid Build Coastguard Worker name = "pigweed_json", 40*61c4878aSAndroid Build Coastguard Worker # We don't provide a default pigweed.json. Every project needs their own! 41*61c4878aSAndroid Build Coastguard Worker build_setting_default = "//pw_build:unspecified_backend", 42*61c4878aSAndroid Build Coastguard Worker) 43*61c4878aSAndroid Build Coastguard Worker 44*61c4878aSAndroid Build Coastguard Workerpy_library( 45*61c4878aSAndroid Build Coastguard Worker name = "pw_env_setup", 46*61c4878aSAndroid Build Coastguard Worker srcs = [ 47*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/__init__.py", 48*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/apply_visitor.py", 49*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/batch_visitor.py", 50*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/__init__.py", 51*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/update.py", 52*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/wrapper.py", 53*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/config_file.py", 54*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/environment.py", 55*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/github_visitor.py", 56*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/gni_visitor.py", 57*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/json_visitor.py", 58*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/python_packages.py", 59*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/shell_visitor.py", 60*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/__init__.py", 61*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/__main__.py", 62*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/install.py", 63*61c4878aSAndroid Build Coastguard Worker ], 64*61c4878aSAndroid Build Coastguard Worker data = [ 65*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/.cipd_version", 66*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/.cipd_version.digests", 67*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/arm.json", 68*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/bazel.json", 69*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/bazelisk.json", 70*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/buildifier.json", 71*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/clang.json", 72*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/clang_next.json", 73*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/cmake.json", 74*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/compatibility.json", 75*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/coverage.json", 76*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/default.json", 77*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/doxygen.json", 78*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/go.json", 79*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/host_tools.json", 80*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/kythe.json", 81*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/luci.json", 82*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/msrv_python.json", 83*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/openjdk.json", 84*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/pigweed.json", 85*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/python.json", 86*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/python310.json", 87*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/python311.json", 88*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/rbe.json", 89*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/riscv.json", 90*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/ruff.json", 91*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/testing.json", 92*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/upstream.json", 93*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/cipd_setup/web.json", 94*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/constraint.list", 95*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/constraint_hashes_linux.list", 96*61c4878aSAndroid Build Coastguard Worker "pw_env_setup/virtualenv_setup/python_base_requirements.txt", 97*61c4878aSAndroid Build Coastguard Worker ":pigweed_json", 98*61c4878aSAndroid Build Coastguard Worker ], 99*61c4878aSAndroid Build Coastguard Worker imports = ["."], 100*61c4878aSAndroid Build Coastguard Worker deps = [ 101*61c4878aSAndroid Build Coastguard Worker "@python_packages//six", 102*61c4878aSAndroid Build Coastguard Worker "@rules_python//python/runfiles", 103*61c4878aSAndroid Build Coastguard Worker ], 104*61c4878aSAndroid Build Coastguard Worker) 105*61c4878aSAndroid Build Coastguard Worker 106*61c4878aSAndroid Build Coastguard Workerpw_py_test( 107*61c4878aSAndroid Build Coastguard Worker name = "config_file_test", 108*61c4878aSAndroid Build Coastguard Worker srcs = ["config_file_test.py"], 109*61c4878aSAndroid Build Coastguard Worker deps = [ 110*61c4878aSAndroid Build Coastguard Worker ":pw_env_setup", 111*61c4878aSAndroid Build Coastguard Worker ], 112*61c4878aSAndroid Build Coastguard Worker) 113*61c4878aSAndroid Build Coastguard Worker 114*61c4878aSAndroid Build Coastguard Workerpw_py_test( 115*61c4878aSAndroid Build Coastguard Worker name = "json_visitor_test", 116*61c4878aSAndroid Build Coastguard Worker srcs = ["json_visitor_test.py"], 117*61c4878aSAndroid Build Coastguard Worker deps = [ 118*61c4878aSAndroid Build Coastguard Worker ":pw_env_setup", 119*61c4878aSAndroid Build Coastguard Worker "@python_packages//six", 120*61c4878aSAndroid Build Coastguard Worker ], 121*61c4878aSAndroid Build Coastguard Worker) 122*61c4878aSAndroid Build Coastguard Worker 123*61c4878aSAndroid Build Coastguard Workerpw_py_test( 124*61c4878aSAndroid Build Coastguard Worker name = "cipd_setup_update_test", 125*61c4878aSAndroid Build Coastguard Worker srcs = ["cipd_setup_update_test.py"], 126*61c4878aSAndroid Build Coastguard Worker deps = [ 127*61c4878aSAndroid Build Coastguard Worker ":pw_env_setup", 128*61c4878aSAndroid Build Coastguard Worker "@python_packages//parameterized", 129*61c4878aSAndroid Build Coastguard Worker ], 130*61c4878aSAndroid Build Coastguard Worker) 131*61c4878aSAndroid Build Coastguard Worker 132*61c4878aSAndroid Build Coastguard Workerpw_py_test( 133*61c4878aSAndroid Build Coastguard Worker name = "environment_test", 134*61c4878aSAndroid Build Coastguard Worker srcs = ["environment_test.py"], 135*61c4878aSAndroid Build Coastguard Worker deps = [ 136*61c4878aSAndroid Build Coastguard Worker ":pw_env_setup", 137*61c4878aSAndroid Build Coastguard Worker ], 138*61c4878aSAndroid Build Coastguard Worker) 139*61c4878aSAndroid Build Coastguard Worker 140*61c4878aSAndroid Build Coastguard Workerpw_py_test( 141*61c4878aSAndroid Build Coastguard Worker name = "python_packages_test", 142*61c4878aSAndroid Build Coastguard Worker srcs = ["python_packages_test.py"], 143*61c4878aSAndroid Build Coastguard Worker deps = [ 144*61c4878aSAndroid Build Coastguard Worker ":pw_env_setup", 145*61c4878aSAndroid Build Coastguard Worker "@python_packages//toml", 146*61c4878aSAndroid Build Coastguard Worker ], 147*61c4878aSAndroid Build Coastguard Worker) 148