4.2 KiB
4.2 KiB
Rule and corresponding provider that joins a label pointing to a TreeArtifact with a path nested within that directory
directory_path
directory_path(name, directory, path)
Provide DirectoryPathInfo to reference some path within a directory.
Otherwise there is no way to give a Bazel label for it.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
directory | a TreeArtifact (ctx.actions.declare_directory) | Label | required | |
path | path relative to the directory | String | required |
DirectoryPathInfo
DirectoryPathInfo(directory, path)
Joins a label pointing to a TreeArtifact with a path nested within that directory.
FIELDS
Name | Description |
---|---|
directory | a TreeArtifact (ctx.actions.declare_directory) |
path | path relative to the directory |
make_directory_path
make_directory_path(name, directory, path, kwargs)
Helper function to generate a directory_path target and return its label.
PARAMETERS
RETURNS
The label name
make_directory_paths
make_directory_paths(name, dict, kwargs)
Helper function to convert a dict of directory to path mappings to directory_path targets and labels.
For example,
make_directory_paths("my_name", {
"//directory/artifact:target_1": "file/path",
"//directory/artifact:target_2": ["file/path1", "file/path2"],
})
generates the targets,
directory_path(
name = "my_name_0",
directory = "//directory/artifact:target_1",
path = "file/path"
)
directory_path(
name = "my_name_1",
directory = "//directory/artifact:target_2",
path = "file/path1"
)
directory_path(
name = "my_name_2",
directory = "//directory/artifact:target_2",
path = "file/path2"
)
and the list of targets is returned,
[
"my_name_0",
"my_name_1",
"my_name_2",
]
PARAMETERS
RETURNS
The label of the generated directory_path
targets named name + "_" + i