xref: /aosp_15_r20/external/bazelbuild-rules_python/python/private/py_executable_info.bzl (revision 60517a1edbc8ecf509223e9af94a7adec7d736b8)
1"""Implementation of PyExecutableInfo provider."""
2
3PyExecutableInfo = provider(
4    doc = """
5Information about an executable.
6
7This provider is for executable-specific information (e.g. tests and binaries).
8
9:::{versionadded} 0.36.0
10:::
11""",
12    fields = {
13        "build_data_file": """
14:type: None | File
15
16A symlink to build_data.txt if stamping is enabled, otherwise None.
17""",
18        "interpreter_path": """
19:type: None | str
20
21Path to the Python interpreter to use for running the executable itself (not the
22bootstrap script). Either an absolute path (which means it is
23platform-specific), or a runfiles-relative path (which means the interpreter
24should be within `runtime_files`)
25""",
26        "main": """
27:type: File
28
29The user-level entry point file. Usually a `.py` file, but may also be `.pyc`
30file if precompiling is enabled.
31""",
32        "runfiles_without_exe": """
33:type: runfiles
34
35The runfiles the program needs, but without the original executable,
36files only added to support the original executable, or files specific to the
37original program.
38""",
39    },
40)
41