-
-
Notifications
You must be signed in to change notification settings - Fork 4
Define toolchain to override PackageMetadataInfo
#75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,6 +47,49 @@ Provider for declaring metadata about a Bazel package. | |
| <a id="PackageMetadataInfo-files"></a>files | A [depset](https://bazel.build/rules/lib/builtins/depset) of [File](https://bazel.build/rules/lib/builtins/File)s with metadata about the package, including transitive files from all attributes of the package. | `[]` | | ||
|
||
|
||
<a id="PackageMetadataOverrideInfo"></a> | ||
|
||
## PackageMetadataOverrideInfo | ||
|
||
<pre> | ||
load("@package_metadata//:defs.bzl", "PackageMetadataOverrideInfo") | ||
|
||
PackageMetadataOverrideInfo(*, <a href="#PackageMetadataOverrideInfo-packages">packages</a>, <a href="#PackageMetadataOverrideInfo-metadata">metadata</a>) | ||
</pre> | ||
|
||
Defines an override for `PackageMetadataInfo` for a set of packages. | ||
|
||
> **Fields in this provider are not covered by the stability gurantee.** | ||
|
||
**FIELDS** | ||
|
||
| Name | Description | | ||
| :------------- | :------------- | | ||
| <a id="PackageMetadataOverrideInfo-packages"></a>packages | A [PackageSpecificationInfo](https://bazel.build/rules/lib/providers/PackageSpecificationInfo) provider declaring which packages the override applies to.<br><br>This is typically created by a [package_group](https://bazel.build/rules/lib/globals/build#package_group) target. | | ||
| <a id="PackageMetadataOverrideInfo-metadata"></a>metadata | The `PackageMetadataInfo` provider to use instead of the provider declared by package itself. | | ||
|
||
|
||
<a id="PackageMetadataToolchainInfo"></a> | ||
|
||
## PackageMetadataToolchainInfo | ||
|
||
<pre> | ||
load("@package_metadata//:defs.bzl", "PackageMetadataToolchainInfo") | ||
|
||
PackageMetadataToolchainInfo(<a href="#PackageMetadataToolchainInfo-metadata_overrides">metadata_overrides</a>) | ||
</pre> | ||
|
||
Toolchain for `package_metadata`. | ||
|
||
> **Fields in this provider are not covered by the stability gurantee.** | ||
|
||
**FIELDS** | ||
|
||
| Name | Description | Default Value | | ||
| :------------- | :------------- | :------------- | | ||
| <a id="PackageMetadataToolchainInfo-metadata_overrides"></a>metadata_overrides | A sequence of `PackageMetadataOverrideInfo` providers. | `[]` | | ||
|
||
|
||
<a id="package_metadata"></a> | ||
|
||
## package_metadata | ||
|
@@ -70,6 +113,27 @@ package_metadata(*, <a href="#package_metadata-name">name</a>, <a href="#package | |
| <a id="package_metadata-visibility"></a>visibility | <p align="center"> - </p> | `None` | | ||
|
||
|
||
<a id="package_metadata_toolchain"></a> | ||
|
||
## package_metadata_toolchain | ||
|
||
<pre> | ||
load("@package_metadata//:defs.bzl", "package_metadata_toolchain") | ||
|
||
package_metadata_toolchain(*, <a href="#package_metadata_toolchain-name">name</a>, <a href="#package_metadata_toolchain-visibility">visibility</a>) | ||
</pre> | ||
|
||
|
||
|
||
**PARAMETERS** | ||
|
||
|
||
| Name | Description | Default Value | | ||
| :------------- | :------------- | :------------- | | ||
| <a id="package_metadata_toolchain-name"></a>name | <p align="center"> - </p> | none | | ||
| <a id="package_metadata_toolchain-visibility"></a>visibility | <p align="center"> - </p> | `None` | | ||
Comment on lines
+133
to
+134
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
||
|
||
<a id="purl.bazel"></a> | ||
|
||
## purl.bazel | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,26 @@ | ||
load("@bazel_skylib//rules:diff_test.bzl", "diff_test") | ||
load("@stardoc//stardoc:stardoc.bzl", "stardoc") | ||
|
||
stardoc( | ||
name = "package_attribute_info", | ||
out = "package_attribute_info.generated.md", | ||
input = "@package_metadata//providers:package_attribute_info.bzl", | ||
deps = [ | ||
"@package_metadata//providers:srcs", | ||
], | ||
) | ||
|
||
diff_test( | ||
name = "package_attribute_info_test", | ||
file1 = ":package_attribute_info", | ||
file2 = "package_attribute_info.md", | ||
) | ||
|
||
stardoc( | ||
name = "package_metadata_info", | ||
out = "package_metadata_info.generated.md", | ||
input = "@package_metadata//providers:package_metadata_info.bzl", | ||
deps = [ | ||
"@package_metadata//providers:srcs", | ||
], | ||
) | ||
|
||
diff_test( | ||
name = "package_metadata_info_test", | ||
file1 = ":package_metadata_info", | ||
file2 = "package_metadata_info.md", | ||
) | ||
[ | ||
[ | ||
stardoc( | ||
name = file, | ||
out = "{}.generated.md".format(file), | ||
input = "@package_metadata//providers:{}.bzl".format(file), | ||
deps = [ | ||
"@package_metadata//providers:srcs", | ||
], | ||
), | ||
diff_test( | ||
name = "{}_test".format(file), | ||
file1 = ":{}".format(file), | ||
file2 = "{}.md".format(file), | ||
), | ||
] | ||
for file in [ | ||
"package_attribute_info", | ||
"package_metadata_info", | ||
"package_metadata_override_info", | ||
"package_metadata_toolchain_info", | ||
] | ||
] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<!-- Generated with Stardoc: http://skydoc.bazel.build --> | ||
|
||
Declares provider `PackageMetadataOverrideInfo`. | ||
|
||
<a id="PackageMetadataOverrideInfo"></a> | ||
|
||
## PackageMetadataOverrideInfo | ||
|
||
<pre> | ||
load("@package_metadata//providers:package_metadata_override_info.bzl", "PackageMetadataOverrideInfo") | ||
|
||
PackageMetadataOverrideInfo(*, <a href="#PackageMetadataOverrideInfo-packages">packages</a>, <a href="#PackageMetadataOverrideInfo-metadata">metadata</a>) | ||
</pre> | ||
|
||
Defines an override for `PackageMetadataInfo` for a set of packages. | ||
|
||
> **Fields in this provider are not covered by the stability gurantee.** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
**FIELDS** | ||
|
||
| Name | Description | | ||
| :------------- | :------------- | | ||
| <a id="PackageMetadataOverrideInfo-packages"></a>packages | A [PackageSpecificationInfo](https://bazel.build/rules/lib/providers/PackageSpecificationInfo) provider declaring which packages the override applies to.<br><br>This is typically created by a [package_group](https://bazel.build/rules/lib/globals/build#package_group) target. | | ||
| <a id="PackageMetadataOverrideInfo-metadata"></a>metadata | The `PackageMetadataInfo` provider to use instead of the provider declared by package itself. | | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<!-- Generated with Stardoc: http://skydoc.bazel.build --> | ||
|
||
Declares provider `PackageMetadataToolchainInfo`. | ||
|
||
<a id="PackageMetadataToolchainInfo"></a> | ||
|
||
## PackageMetadataToolchainInfo | ||
|
||
<pre> | ||
load("@package_metadata//providers:package_metadata_toolchain_info.bzl", "PackageMetadataToolchainInfo") | ||
|
||
PackageMetadataToolchainInfo(<a href="#PackageMetadataToolchainInfo-metadata_overrides">metadata_overrides</a>) | ||
</pre> | ||
|
||
Toolchain for `package_metadata`. | ||
|
||
> **Fields in this provider are not covered by the stability gurantee.** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
**FIELDS** | ||
|
||
| Name | Description | Default Value | | ||
| :------------- | :------------- | :------------- | | ||
| <a id="PackageMetadataToolchainInfo-metadata_overrides"></a>metadata_overrides | A sequence of `PackageMetadataOverrideInfo` providers. | `[]` | | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,24 @@ | ||
load("@bazel_skylib//rules:diff_test.bzl", "diff_test") | ||
load("@stardoc//stardoc:stardoc.bzl", "stardoc") | ||
|
||
stardoc( | ||
name = "package_metadata", | ||
out = "package_metadata.generated.md", | ||
input = "@package_metadata//rules:package_metadata.bzl", | ||
deps = [ | ||
"@package_metadata//rules:srcs", | ||
], | ||
) | ||
|
||
diff_test( | ||
name = "package_metadata_test", | ||
file1 = ":package_metadata", | ||
file2 = "package_metadata.md", | ||
) | ||
[ | ||
[ | ||
stardoc( | ||
name = file, | ||
out = "{}.generated.md".format(file), | ||
input = "@package_metadata//rules:{}.bzl".format(file), | ||
deps = [ | ||
"@package_metadata//rules:srcs", | ||
], | ||
), | ||
diff_test( | ||
name = "{}_test".format(file), | ||
file1 = ":{}".format(file), | ||
file2 = "{}.md".format(file), | ||
), | ||
] | ||
for file in [ | ||
"package_metadata", | ||
"package_metadata_toolchain", | ||
] | ||
] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<!-- Generated with Stardoc: http://skydoc.bazel.build --> | ||
|
||
Declares rule `package_metadata_toolchain`. | ||
|
||
<a id="package_metadata_toolchain"></a> | ||
|
||
## package_metadata_toolchain | ||
|
||
<pre> | ||
load("@package_metadata//rules:package_metadata_toolchain.bzl", "package_metadata_toolchain") | ||
|
||
package_metadata_toolchain(*, <a href="#package_metadata_toolchain-name">name</a>, <a href="#package_metadata_toolchain-visibility">visibility</a>) | ||
</pre> | ||
|
||
|
||
|
||
**PARAMETERS** | ||
|
||
|
||
| Name | Description | Default Value | | ||
| :------------- | :------------- | :------------- | | ||
| <a id="package_metadata_toolchain-name"></a>name | <p align="center"> - </p> | none | | ||
| <a id="package_metadata_toolchain-visibility"></a>visibility | <p align="center"> - </p> | `None` | | ||
Comment on lines
+22
to
+23
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
"""Declares provider `PackageMetadataOverrideInfo`.""" | ||
|
||
visibility("public") | ||
|
||
def _init(*, packages, metadata): | ||
return { | ||
"metadata": metadata, | ||
"packages": packages, | ||
} | ||
|
||
PackageMetadataOverrideInfo, _create = provider( | ||
doc = """ | ||
Defines an override for `PackageMetadataInfo` for a set of packages. | ||
> **Fields in this provider are not covered by the stability gurantee.** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
""".strip(), | ||
fields = { | ||
"metadata": """ | ||
The `PackageMetadataInfo` provider to use instead of the provider declared by | ||
package itself. | ||
""".strip(), | ||
"packages": """ | ||
A [PackageSpecificationInfo](https://bazel.build/rules/lib/providers/PackageSpecificationInfo) | ||
provider declaring which packages the override applies to. | ||
This is typically created by a | ||
[package_group](https://bazel.build/rules/lib/globals/build#package_group) | ||
target. | ||
""".strip(), | ||
}, | ||
init = _init, | ||
) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
"""Declares provider `PackageMetadataToolchainInfo`.""" | ||
|
||
visibility("public") | ||
|
||
def _init(metadata_overrides = []): | ||
return { | ||
"metadata_overrides": metadata_overrides, | ||
} | ||
|
||
PackageMetadataToolchainInfo, _create = provider( | ||
doc = """ | ||
Toolchain for `package_metadata`. | ||
> **Fields in this provider are not covered by the stability gurantee.** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
""".strip(), | ||
fields = { | ||
"metadata_overrides": """ | ||
A sequence of `PackageMetadataOverrideInfo` providers. | ||
""".strip(), | ||
}, | ||
init = _init, | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a typo in "gurantee". It should be "guarantee". This typo also appears in other new documentation and docstrings.