bazelbuild/bazel

Better docs around environment variables

Open

#14 692 ouverte le 2 févr. 2022

Voir sur GitHub
 (3 commentaires) (0 réactions) (0 assignés)Java (4 465 forks)batch import
P2help wantedteam-Documentationteam-Remote-Exectype: documentation (cleanup)

Métriques du dépôt

Stars
 (25 384 stars)
Métriques de merge PR
 (Merge moyen 22j 20h) (77 PRs mergées en 30 j)

Description

Description of the problem / feature request:

Environment variable handling is under-documented.

After trial-and-error, this is my understanding;

  1. If --incompatible_strict_action_env (enabled by default) is disabled, then Bazel automatically passes PATH, LD_LIBRARY_PATH, and TMPDIR to actions that use use_default_shell_env.
  2. --action_env passes environment variables to actions for the target configuration that use use_default_shell_env.
  3. --host_action_env passes environment variables to actions for the exec configuration that use use_default_shell_env.
  4. If env and use_default_shell_env of ctx.actions are both used, the former is ignored.

Assuming these statements are correct, they ought to be documented.

In particular, the following facts are missing from current docs:

(a) use_default_shell_env is required to pass any CLI-configured vars to actions. (b) use_default_shell_env causes env to be ignored.


P.S. use_default_shell_env is an awkward name, because it actually has nothing to do with shells.

Guide contributeur