@@ -940,7 +940,7 @@ def py_executable_base_impl(ctx, *, semantics, is_test, inherited_environment =
940940
941941 imports = collect_imports (ctx , semantics )
942942
943- runtime_details = _get_runtime_details (ctx , semantics , is_test )
943+ runtime_details = _get_runtime_details (ctx , semantics )
944944 if ctx .configuration .coverage_enabled :
945945 extra_deps = semantics .get_coverage_deps (ctx , runtime_details )
946946 else :
@@ -1040,7 +1040,7 @@ def _declare_executable_file(ctx):
10401040
10411041 return executable
10421042
1043- def _get_runtime_details (ctx , semantics , is_test ):
1043+ def _get_runtime_details (ctx , semantics ):
10441044 """Gets various information about the Python runtime to use.
10451045
10461046 While most information comes from the toolchain, various legacy and
@@ -1049,7 +1049,6 @@ def _get_runtime_details(ctx, semantics, is_test):
10491049 Args:
10501050 ctx: Rule ctx
10511051 semantics: A `BinarySemantics` struct; see `create_binary_semantics_struct`
1052- is_test: bool; True if the rule is a test rule (has `test=True`), False if not
10531052
10541053 Returns:
10551054 A struct; see inline-field comments of the return value for details.
@@ -1078,7 +1077,6 @@ def _get_runtime_details(ctx, semantics, is_test):
10781077 if not effective_runtime :
10791078 fail ("Unable to find Python runtime" )
10801079
1081- extra_test_env = {}
10821080 if effective_runtime :
10831081 direct = [] # List of files
10841082 transitive = [] # List of depsets
@@ -1091,12 +1089,6 @@ def _get_runtime_details(ctx, semantics, is_test):
10911089 direct .append (effective_runtime .coverage_tool )
10921090 if effective_runtime .coverage_files :
10931091 transitive .append (effective_runtime .coverage_files )
1094- if is_test :
1095- py_test_toolchain = ctx .exec_groups ["test" ].toolchains [PY_TEST_TOOLCHAIN_TYPE ]
1096- if py_test_toolchain :
1097- coverage_rc = py_test_toolchain .py_test_info .coverage_rc
1098- extra_test_env = {"COVERAGE_RC" : coverage_rc .files .to_list ()[0 ].short_path }
1099- direct .extend (coverage_rc .files .to_list ())
11001092 runtime_files = depset (direct = direct , transitive = transitive )
11011093 else :
11021094 runtime_files = depset ()
@@ -1128,9 +1120,6 @@ def _get_runtime_details(ctx, semantics, is_test):
11281120 # be included. For in-build runtimes, this shold include the interpreter
11291121 # and any supporting files.
11301122 runfiles = ctx .runfiles (transitive_files = runtime_files ),
1131- # extra_test_env: dict[str, str]; Additional environment variables to
1132- # set when running the test.
1133- extra_test_env = extra_test_env ,
11341123 )
11351124
11361125def _maybe_get_runtime_from_ctx (ctx ):
@@ -1626,22 +1615,8 @@ def _create_providers(
16261615 Returns:
16271616 A list of modern providers.
16281617 """
1629-
16301618 providers = [
1631- DefaultInfo (
1632- executable = executable ,
1633- files = default_outputs ,
1634- default_runfiles = _py_builtins .make_runfiles_respect_legacy_external_runfiles (
1635- ctx ,
1636- runfiles_details .default_runfiles ,
1637- ),
1638- data_runfiles = _py_builtins .make_runfiles_respect_legacy_external_runfiles (
1639- ctx ,
1640- runfiles_details .data_runfiles ,
1641- ),
1642- ),
16431619 create_instrumented_files_info (ctx ),
1644- _create_run_environment_info (ctx , inherited_environment , runtime_details .extra_test_env ),
16451620 PyExecutableInfo (
16461621 main = main_py ,
16471622 runfiles_without_exe = runfiles_details .runfiles_without_exe ,
@@ -1712,9 +1687,22 @@ def _create_providers(
17121687 runtime_details = runtime_details ,
17131688 )
17141689 providers .extend (extra_providers )
1715- return providers
1690+ environemnt_info = _create_run_environment_info (ctx , inherited_environment )
1691+ binary_info = struct (
1692+ executable = executable ,
1693+ files = default_outputs ,
1694+ default_runfiles = _py_builtins .make_runfiles_respect_legacy_external_runfiles (
1695+ ctx ,
1696+ runfiles_details .default_runfiles ,
1697+ ),
1698+ data_runfiles = _py_builtins .make_runfiles_respect_legacy_external_runfiles (
1699+ ctx ,
1700+ runfiles_details .data_runfiles ,
1701+ ),
1702+ )
1703+ return providers , binary_info , environemnt_info
17161704
1717- def _create_run_environment_info (ctx , inherited_environment , extra_test_env ):
1705+ def _create_run_environment_info (ctx , inherited_environment ):
17181706 expanded_env = {}
17191707 for key , value in ctx .attr .env .items ():
17201708 expanded_env [key ] = _py_builtins .expand_location_and_make_variables (
@@ -1723,8 +1711,7 @@ def _create_run_environment_info(ctx, inherited_environment, extra_test_env):
17231711 expression = value ,
17241712 targets = ctx .attr .data ,
17251713 )
1726- expanded_env .update (extra_test_env )
1727- return RunEnvironmentInfo (
1714+ return struct (
17281715 environment = expanded_env ,
17291716 inherited_environment = inherited_environment ,
17301717 )
0 commit comments