From aa130e48b1e690759be528d2c6e1ea77f247222c Mon Sep 17 00:00:00 2001 From: Matt Mackay Date: Mon, 9 May 2022 09:30:22 -0400 Subject: [PATCH] fix: ensure all Python toolchain files are added to runfiles --- py/private/py_binary.bzl | 2 +- py/private/utils.bzl | 6 ++++++ py/private/venv/venv.bzl | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/py/private/py_binary.bzl b/py/private/py_binary.bzl index 1428a9d8..ff0bc07b 100644 --- a/py/private/py_binary.bzl +++ b/py/private/py_binary.bzl @@ -50,7 +50,7 @@ def _py_binary_rule_imp(ctx): ctx, extra_depsets = [ venv_info.venv_creation_depset, - interpreter.toolchain.files, + interpreter.files, srcs_depset, ], extra_runfiles = [ diff --git a/py/private/utils.bzl b/py/private/utils.bzl index ea679bef..b8850c79 100644 --- a/py/private/utils.bzl +++ b/py/private/utils.bzl @@ -15,8 +15,14 @@ def resolve_toolchain(ctx): py3_toolchain = toolchain_info.py3_runtime + if py3_toolchain.interpreter != None: + files = depset([py3_toolchain.interpreter], transitive = [py3_toolchain.files]) + else: + files = py3_toolchain.files + return struct( toolchain = py3_toolchain, + files = files, python = py3_toolchain.interpreter, flags = ["-B", "-s", "-I"], ) diff --git a/py/private/venv/venv.bzl b/py/private/venv/venv.bzl index cd10c57b..df719a4a 100644 --- a/py/private/venv/venv.bzl +++ b/py/private/venv/venv.bzl @@ -135,7 +135,7 @@ def _make_venv(ctx, name = None, main = None, strip_pth_workspace_root = None): venv_creation_depset = depset( direct = [make_venv_for_action_sh, pth, whl_requirements], - transitive = [wheels_depset, interpreter.toolchain.files], + transitive = [wheels_depset, interpreter.files], ) ctx.actions.run_shell( @@ -164,7 +164,7 @@ def _py_venv_impl(ctx): ctx, extra_depsets = [ venv_info.venv_creation_depset, - interpreter.toolchain.files, + interpreter.files, ], extra_runfiles = ctx.files._runfiles_lib, extra_runfiles_depsets = [