1load("@rules_python//python:pip.bzl", "compile_pip_requirements") 2 3genrule( 4 name = "generate_requirements_extra_in", 5 srcs = [], 6 outs = ["requirements_extra.in"], 7 cmd = "echo 'setuptools~=65.6.3' > $@", 8) 9 10genrule( 11 name = "generate_requirements_in", 12 srcs = [], 13 outs = ["requirements.in"], 14 cmd = """ 15cat > $@ <<EOF 16-r requirements_extra.in 17pip~=22.3.1 18EOF 19""", 20) 21 22compile_pip_requirements( 23 name = "requirements", 24 src = "requirements.txt", 25 data = [ 26 "requirements.in", 27 "requirements_extra.in", 28 ], 29 requirements_txt = "requirements_lock.txt", 30) 31 32compile_pip_requirements( 33 name = "requirements_nohashes", 34 src = "requirements.txt", 35 data = [ 36 "requirements.in", 37 "requirements_extra.in", 38 ], 39 generate_hashes = False, 40 requirements_txt = "requirements_nohashes_lock.txt", 41) 42 43genrule( 44 name = "generate_os_specific_requirements_in", 45 srcs = [], 46 outs = ["requirements_os_specific.in"], 47 cmd = """ 48cat > $@ <<EOF 49pip==22.3.0 ; sys_platform == "linux" 50pip==22.2.2 ; sys_platform == "darwin" 51pip==22.2.1 ; sys_platform == "win32" 52EOF 53""", 54) 55 56compile_pip_requirements( 57 name = "os_specific_requirements", 58 src = "requirements_os_specific.in", 59 data = [ 60 "requirements_extra.in", 61 "requirements_os_specific.in", 62 ], 63 requirements_darwin = "requirements_lock_darwin.txt", 64 requirements_linux = "requirements_lock_linux.txt", 65 requirements_txt = "requirements_lock.txt", 66 requirements_windows = "requirements_lock_windows.txt", 67) 68