bazelbuild/bazel

Better docs around environment variables

Open

#14,692 opened on 2022年2月2日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)Java (4,465 forks)batch import
P2help wantedteam-Documentationteam-Remote-Exectype: documentation (cleanup)

Repository metrics

Stars
 (25,384 stars)
PR merge metrics
 (平均マージ 22d 20h) (30d で 77 merged PRs)

説明

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.

コントリビューターガイド