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** | Name | Description | Default Value | | :------------- | :------------- | :------------- | | name | unique name for the generated
directory_path
target | none |
| directory | directory
attribute passed to generated directory_path
target | none |
| path | path
attribute passed to generated directory_path
target | none |
| kwargs | parameters to pass to generated output_files
target | none |
**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** | Name | Description | Default Value | | :------------- | :------------- | :------------- | | name | The target name to use for the generated targets & labels.
name + "_" + i
| none |
| dict | The dictionary of directory keys to path or path list values. | none |
| kwargs | additional parameters to pass to each generated target | none |
**RETURNS**
The label of the generated `directory_path` targets named `name + "_" + i`