diff --git a/docs/metadata/defs.md b/docs/metadata/defs.md index e18c660..c291104 100755 --- a/docs/metadata/defs.md +++ b/docs/metadata/defs.md @@ -32,19 +32,29 @@ Provider for declaring metadata about a Bazel package.
load("@package_metadata//:defs.bzl", "PackageMetadataInfo") -PackageMetadataInfo(metadata, files) +PackageMetadataInfo(metadata, purl, files)Provider for declaring metadata about a Bazel package. > **Fields in this provider are not covered by the stability gurantee.** -**FIELDS** +**CONSTRUCTOR PARAMETERS** | Name | Description | Default Value | | :------------- | :------------- | :------------- | -| metadata | The [File](https://bazel.build/rules/lib/builtins/File) containing metadata about the package. | none | -| 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. | `[]` | +| metadata | The [File](https://bazel.build/rules/lib/builtins/File) containing metadata about the package. | none | +| purl | PURL | none | +| 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. | `[]` | + +**FIELDS** + +| Name | Description | +| :------------- | :------------- | +| kind | Type descriminator | +| 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. | +| metadata | The [File](https://bazel.build/rules/lib/builtins/File) containing metadata about the package. | +| purl | PURL | diff --git a/docs/metadata/providers/package_metadata_info.md b/docs/metadata/providers/package_metadata_info.md index 7d34335..56fab08 100755 --- a/docs/metadata/providers/package_metadata_info.md +++ b/docs/metadata/providers/package_metadata_info.md @@ -9,18 +9,28 @@ Declares provider `PackageMetadataInfo`.
load("@package_metadata//providers:package_metadata_info.bzl", "PackageMetadataInfo") -PackageMetadataInfo(metadata, files) +PackageMetadataInfo(metadata, purl, files)Provider for declaring metadata about a Bazel package. > **Fields in this provider are not covered by the stability gurantee.** -**FIELDS** +**CONSTRUCTOR PARAMETERS** | Name | Description | Default Value | | :------------- | :------------- | :------------- | -| metadata | The [File](https://bazel.build/rules/lib/builtins/File) containing metadata about the package. | none | -| 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. | `[]` | +| metadata | The [File](https://bazel.build/rules/lib/builtins/File) containing metadata about the package. | none | +| purl | PURL | none | +| 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. | `[]` | + +**FIELDS** + +| Name | Description | +| :------------- | :------------- | +| kind | Type descriminator | +| 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. | +| metadata | The [File](https://bazel.build/rules/lib/builtins/File) containing metadata about the package. | +| purl | PURL | diff --git a/metadata/providers/package_metadata_info.bzl b/metadata/providers/package_metadata_info.bzl index 60a35ed..1bd1c23 100644 --- a/metadata/providers/package_metadata_info.bzl +++ b/metadata/providers/package_metadata_info.bzl @@ -2,8 +2,9 @@ visibility("public") -def _init(metadata, files = []): +def _init(metadata, purl, files = []): return { + "kind": "build.bazel.attribute.package_metadata", "files": depset( direct = [ metadata, @@ -11,6 +12,7 @@ def _init(metadata, files = []): transitive = files, ), "metadata": metadata, + "purl": purl, } PackageMetadataInfo, _create = provider( @@ -20,6 +22,7 @@ Provider for declaring metadata about a Bazel package. > **Fields in this provider are not covered by the stability gurantee.** """.strip(), fields = { + "kind": """Type descriminator""", "files": """ A [depset](https://bazel.build/rules/lib/builtins/depset) of [File](https://bazel.build/rules/lib/builtins/File)s with metadata about the @@ -29,6 +32,7 @@ package, including transitive files from all attributes of the package. The [File](https://bazel.build/rules/lib/builtins/File) containing metadata about the package. """.strip(), + "purl": """PURL""", }, init = _init, ) diff --git a/metadata/rules/package_metadata.bzl b/metadata/rules/package_metadata.bzl index ed1afee..42c8b92 100644 --- a/metadata/rules/package_metadata.bzl +++ b/metadata/rules/package_metadata.bzl @@ -29,6 +29,7 @@ def _package_metadata_impl(ctx): ), PackageMetadataInfo( metadata = metadata, + purl = ctx.attr.purl, files = [a.files for a in attributes], ), ]