Report an issue Nightly · 7.2 · 7.1 · 7.0 · 6.5 · 6.4

Methods available in WORKSPACE files.



None bind(name, actual=None)

Warning: use of bind() is not recommended. See Consider removing bind for a long discussion of its issues and alternatives.

Gives a target an alias in the //external package.


Parameter Description
name required
The label under '//external' to serve as the alias name
actual string; or None; default is None
The real label to be aliased


None register_execution_platforms(*platform_labels)

Register an already-defined platform so that Bazel can use it as an execution platform during toolchain resolution.


Parameter Description
platform_labels sequence of strings; required
The labels of the platforms to register.


None register_toolchains(*toolchain_labels)

Register an already-defined toolchain so that Bazel can use it during toolchain resolution. See examples of defining and registering toolchains.


Parameter Description
toolchain_labels sequence of strings; required
The labels of the toolchains to register. Labels can include :all, in which case, all toolchain-providing targets in the package will be registered in lexicographical order by name.


None workspace(name)

This function can only be used in a WORKSPACE file and must be declared before all other functions in the WORKSPACE file. Each WORKSPACE file should have a workspace function.

Sets the name for this workspace. Workspace names should be a Java-package-style description of the project, using underscores as separators, e.g., should use com_github_bazelbuild_bazel.

This name is used for the directory that the repository's runfiles are stored in. For example, if there is a runfile foo/bar in the local repository and the WORKSPACE file contains workspace(name = 'baz'), then the runfile will be available under mytarget.runfiles/baz/foo/bar. If no workspace name is specified, then the runfile will be symlinked to bar.runfiles/foo/bar.

Remote repository rule names must be valid workspace names. For example, you could have maven_jar(name = 'foo'), but not maven_jar(name = 'foo%bar'), as Bazel would attempt to write a WORKSPACE file for the maven_jar containing workspace(name = 'foo%bar').


Parameter Description
name required
the name of the workspace. Names must start with a letter and can only contain letters, numbers, underscores, dashes, and dots.