mirror of
https://github.com/bazel-contrib/bazel-lib
synced 2024-11-28 21:33:48 +00:00
197 lines
6 KiB
Markdown
Generated
197 lines
6 KiB
Markdown
Generated
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
|
|
|
|
Public API
|
|
|
|
<a id="relative_file"></a>
|
|
|
|
## relative_file
|
|
|
|
<pre>
|
|
relative_file(<a href="#relative_file-to_file">to_file</a>, <a href="#relative_file-frm_file">frm_file</a>)
|
|
</pre>
|
|
|
|
Resolves a relative path between two files, "to_file" and "frm_file".
|
|
|
|
If neither of the paths begin with ../ it is assumed that they share the same root. When finding the relative path,
|
|
the incoming files are treated as actual files (not folders) so the resulting relative path may differ when compared
|
|
to passing the same arguments to python's "os.path.relpath()" or NodeJs's "path.relative()".
|
|
|
|
For example, 'relative_file("../foo/foo.txt", "bar/bar.txt")' will return '../../foo/foo.txt'
|
|
|
|
|
|
**PARAMETERS**
|
|
|
|
|
|
| Name | Description | Default Value |
|
|
| :------------- | :------------- | :------------- |
|
|
| <a id="relative_file-to_file"></a>to_file | the path with file name to resolve to, from frm | none |
|
|
| <a id="relative_file-frm_file"></a>frm_file | the path with file name to resolve from | none |
|
|
|
|
**RETURNS**
|
|
|
|
The relative path from frm_file to to_file, including the file name
|
|
|
|
|
|
<a id="to_manifest_path"></a>
|
|
|
|
## to_manifest_path
|
|
|
|
<pre>
|
|
to_manifest_path(<a href="#to_manifest_path-ctx">ctx</a>, <a href="#to_manifest_path-file">file</a>)
|
|
</pre>
|
|
|
|
The rlocation path for a `File`
|
|
|
|
The path a built binary can pass to the `Rlocation` function of a runfiles library to find a
|
|
dependency at runtime, either in the runfiles directory (if available) or using the runfiles
|
|
manifest.
|
|
|
|
This is similar to root path (a.k.a. [short_path](https://bazel.build/rules/lib/File#short_path))
|
|
in that it does not contain configuration prefixes, but differs in that it always starts with the
|
|
name of the repository.
|
|
|
|
The rlocation path of a `File` in an external repository repo will start with `repo/`, followed by the
|
|
repository-relative path.
|
|
|
|
Passing this path to a binary and resolving it to a file system path using the runfiles libraries
|
|
is the preferred approach to find dependencies at runtime. Compared to root path, it has the
|
|
advantage that it works on all platforms and even if the runfiles directory is not available.
|
|
|
|
Based on the $(rlocation) predefined source/output path variable:
|
|
https://bazel.build/reference/be/make-variables#predefined_genrule_variables.
|
|
|
|
|
|
**PARAMETERS**
|
|
|
|
|
|
| Name | Description | Default Value |
|
|
| :------------- | :------------- | :------------- |
|
|
| <a id="to_manifest_path-ctx"></a>ctx | starlark rule execution context | none |
|
|
| <a id="to_manifest_path-file"></a>file | a <code>File</code> object | none |
|
|
|
|
**RETURNS**
|
|
|
|
The rlocation path for the `File`
|
|
|
|
|
|
<a id="to_output_relative_path"></a>
|
|
|
|
## to_output_relative_path
|
|
|
|
<pre>
|
|
to_output_relative_path(<a href="#to_output_relative_path-file">file</a>)
|
|
</pre>
|
|
|
|
The relative path from bazel-out/[arch]/bin to the given File object
|
|
|
|
**PARAMETERS**
|
|
|
|
|
|
| Name | Description | Default Value |
|
|
| :------------- | :------------- | :------------- |
|
|
| <a id="to_output_relative_path-file"></a>file | a <code>File</code> object | none |
|
|
|
|
**RETURNS**
|
|
|
|
The output relative path for the `File`
|
|
|
|
|
|
<a id="to_repository_relative_path"></a>
|
|
|
|
## to_repository_relative_path
|
|
|
|
<pre>
|
|
to_repository_relative_path(<a href="#to_repository_relative_path-file">file</a>)
|
|
</pre>
|
|
|
|
The repository relative path for a `File`
|
|
|
|
This is the full runfiles path of a `File` excluding its workspace name.
|
|
|
|
This differs from root path (a.k.a. [short_path](https://bazel.build/rules/lib/File#short_path)) and
|
|
rlocation path as it does not include the repository name if the `File` is from an external repository.
|
|
|
|
|
|
**PARAMETERS**
|
|
|
|
|
|
| Name | Description | Default Value |
|
|
| :------------- | :------------- | :------------- |
|
|
| <a id="to_repository_relative_path-file"></a>file | a <code>File</code> object | none |
|
|
|
|
**RETURNS**
|
|
|
|
The repository relative path for the `File`
|
|
|
|
|
|
<a id="to_rlocation_path"></a>
|
|
|
|
## to_rlocation_path
|
|
|
|
<pre>
|
|
to_rlocation_path(<a href="#to_rlocation_path-ctx">ctx</a>, <a href="#to_rlocation_path-file">file</a>)
|
|
</pre>
|
|
|
|
The rlocation path for a `File`
|
|
|
|
The path a built binary can pass to the `Rlocation` function of a runfiles library to find a
|
|
dependency at runtime, either in the runfiles directory (if available) or using the runfiles
|
|
manifest.
|
|
|
|
This is similar to root path (a.k.a. [short_path](https://bazel.build/rules/lib/File#short_path))
|
|
in that it does not contain configuration prefixes, but differs in that it always starts with the
|
|
name of the repository.
|
|
|
|
The rlocation path of a `File` in an external repository repo will start with `repo/`, followed by the
|
|
repository-relative path.
|
|
|
|
Passing this path to a binary and resolving it to a file system path using the runfiles libraries
|
|
is the preferred approach to find dependencies at runtime. Compared to root path, it has the
|
|
advantage that it works on all platforms and even if the runfiles directory is not available.
|
|
|
|
Based on the $(rlocation) predefined source/output path variable:
|
|
https://bazel.build/reference/be/make-variables#predefined_genrule_variables.
|
|
|
|
|
|
**PARAMETERS**
|
|
|
|
|
|
| Name | Description | Default Value |
|
|
| :------------- | :------------- | :------------- |
|
|
| <a id="to_rlocation_path-ctx"></a>ctx | starlark rule execution context | none |
|
|
| <a id="to_rlocation_path-file"></a>file | a <code>File</code> object | none |
|
|
|
|
**RETURNS**
|
|
|
|
The rlocation path for the `File`
|
|
|
|
|
|
<a id="to_workspace_path"></a>
|
|
|
|
## to_workspace_path
|
|
|
|
<pre>
|
|
to_workspace_path(<a href="#to_workspace_path-file">file</a>)
|
|
</pre>
|
|
|
|
The repository relative path for a `File`
|
|
|
|
This is the full runfiles path of a `File` excluding its workspace name.
|
|
|
|
This differs from root path (a.k.a. [short_path](https://bazel.build/rules/lib/File#short_path)) and
|
|
rlocation path as it does not include the repository name if the `File` is from an external repository.
|
|
|
|
|
|
**PARAMETERS**
|
|
|
|
|
|
| Name | Description | Default Value |
|
|
| :------------- | :------------- | :------------- |
|
|
| <a id="to_workspace_path-file"></a>file | a <code>File</code> object | none |
|
|
|
|
**RETURNS**
|
|
|
|
The repository relative path for the `File`
|
|
|
|
|