Documentation ¶
Overview ¶
Package bazel provides utilities for interacting with the surrounding Bazel environment.
Index ¶
- Constants
- func EnterRunfiles(workspace string, pkg string, binary string, cookie string) error
- func FindBinary(pkg, name string) (string, bool)
- func NewTmpDir(prefix string) (string, error)
- func Runfile(path string) (string, error)
- func RunfilesPath() (string, error)
- func SetDefaultTestWorkspace(w string)
- func TestTmpDir() string
- func TestWorkspace() (string, error)
- type RunfileEntry
Constants ¶
const ( RUNFILES_MANIFEST_FILE = "RUNFILES_MANIFEST_FILE" RUNFILES_DIR = "RUNFILES_DIR" )
const TEST_SRCDIR = "TEST_SRCDIR"
const TEST_TMPDIR = "TEST_TMPDIR"
const TEST_WORKSPACE = "TEST_WORKSPACE"
Variables ¶
This section is empty.
Functions ¶
func EnterRunfiles ¶ added in v0.10.0
EnterRunfiles locates the directory under which a built binary can find its data dependencies using relative paths, and enters that directory.
"workspace" indicates the name of the current project, "pkg" indicates the relative path to the build package that contains the binary target, "binary" indicates the basename of the binary searched for, and "cookie" indicates an arbitrary data file that we expect to find within the runfiles tree.
DEPRECATED: use RunfilesPath instead.
func FindBinary ¶ added in v0.10.0
FindBinary returns an absolute path to the binary built from a go_binary rule in the given package with the given name. FindBinary is similar to Runfile, but it accounts for varying configurations and file extensions, which may cause the binary to have different paths on different platforms.
FindBinary may be called from tests invoked with 'bazel test' and binaries invoked with 'bazel run'. On Windows, only tests invoked with 'bazel test' are supported.
func Runfile ¶
Runfile returns an absolute path to the file named by "path", which should be a relative path from the workspace root to the file within the bazel workspace.
Runfile may be called from tests invoked with 'bazel test' and binaries invoked with 'bazel run'. On Windows, only tests invoked with 'bazel test' are supported.
func RunfilesPath ¶
RunfilesPath return the path to the runfiles tree. It will return an error if there is no runfiles tree, for example because the executable is run on Windows or was not invoked with 'bazel test' or 'bazel run'.
func SetDefaultTestWorkspace ¶
func SetDefaultTestWorkspace(w string)
SetDefaultTestWorkspace allows you to set a fake value for the environment variable TEST_WORKSPACE if it is not defined. This is useful when running tests on the command line and not through Bazel.
func TestTmpDir ¶
func TestTmpDir() string
TestTmpDir returns the path the Bazel test temp directory. If TEST_TMPDIR is not defined, it returns the OS default temp dir.
func TestWorkspace ¶
TestWorkspace returns the name of the Bazel workspace for this test. TestWorkspace returns an error if the TEST_WORKSPACE environment variable was not set or SetDefaultTestWorkspace was not called.
Types ¶
type RunfileEntry ¶ added in v0.17.8
type RunfileEntry struct { // Workspace is the bazel workspace the file came from. For example, // this would be "io_bazel_rules_go" for a file in rules_go. Workspace string // ShortPath is a relative, slash-separated path from the workspace root // to the file. For non-binary files, this may be passed to Runfile // to locate a file. ShortPath string // Path is an absolute path to the file. Path string }
A RunfileEntry describes a runfile.
func ListRunfiles ¶ added in v0.17.8
func ListRunfiles() ([]RunfileEntry, error)
ListRunfiles returns a list of available runfiles.