Rules for declaring the compliance licenses used by a package.
license
license(name, copyright_notice, license_kinds, license_text, package_name, package_url, package_version)
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
copyright_notice | Copyright notice. | String | optional | "" |
license_kinds | License kind(s) of this license. If multiple license kinds are listed in the LICENSE file, and they all apply, then all should be listed here. If the user can choose a single one of many, then only list one here. | List of labels | optional | [] |
license_text | The license file. | Label | optional | LICENSE |
package_name | A human readable name identifying this package. This may be used to produce an index of OSS packages used by an applicatation. | String | optional | "" |
package_url | The URL this instance of the package was download from. This may be used to produce an index of OSS packages used by an applicatation. | String | optional | "" |
package_version | A human readable version string identifying this package. This may be used to produce an index of OSS packages used by an applicatation. It should be a value that increases over time, rather than a commit hash. | String | optional | "" |
Proof of concept. License restriction.
license_kind
license_kind(name, canonical_text, conditions, long_name, url)
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
canonical_text | File containing the canonical text for this license. Must be UTF-8 encoded. | Label | optional | None |
conditions | Conditions to be met when using software under this license. Conditions are defined by the organization using this license. | List of strings | required | |
long_name | Human readable long name of license. | String | optional | "" |
url | URL pointing to canonical license definition | String | optional | "" |
Rules for declaring metadata about a package.
package_info
package_info(name, package_name, package_url, package_version)
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
package_name | A human readable name identifying this package. This may be used to produce an index of OSS packages used by an applicatation. | String | optional | "" |
package_url | The URL this instance of the package was download from. This may be used to produce an index of OSS packages used by an applicatation. | String | optional | "" |
package_version | A human readable version string identifying this package. This may be used to produce an index of OSS packages used by an applicatation. It should be a value that increases over time, rather than a commit hash. | String | optional | "" |
Basic providers for license rules.
This file should only contain the basic providers needed to create license and package_info declarations. Providers needed to gather them are declared in other places.
LicenseInfo
LicenseInfo(copyright_notice, label, license_kinds, license_text, package_name, package_url, package_version)
Provides information about a license instance.
FIELDS
Basic providers for license rules.
This file should only contain the basic providers needed to create license and package_info declarations. Providers needed to gather them are declared in other places.
LicenseKindInfo
LicenseKindInfo(conditions, label, long_name, name)
Provides information about a license_kind instance.
FIELDS
Basic providers for license rules.
This file should only contain the basic providers needed to create license and package_info declarations. Providers needed to gather them are declared in other places.
PackageInfo
PackageInfo(type, label, package_name, package_url, package_version)
Provides information about a package.
FIELDS
Rules and macros for collecting LicenseInfo providers.
gather_metadata_info
gather_metadata_info(name)
Collects LicenseInfo providers into a single TransitiveMetadataInfo provider.
ASPECT ATTRIBUTES
Name | Type |
---|---|
* | String |
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required |
Rules and macros for collecting LicenseInfo providers.
gather_metadata_info_and_write
gather_metadata_info_and_write(name)
Collects TransitiveMetadataInfo providers and writes JSON representation to a file.
Usage:
bazel build //some:target --aspects=@rules_license//rules_gathering:gather_metadata.bzl%gather_metadata_info_and_write
--output_groups=licenses
ASPECT ATTRIBUTES
Name | Type |
---|---|
* | String |
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required |
Rules and macros for collecting package metdata providers.
trace
trace(name)
Used to allow the specification of a target to trace while collecting license dependencies.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required |