blob: c326cb7917357abc3084f40ba18c0d90733ac763 [file] [log] [blame] [view] [edit]
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
Rules for declaring the compliance licenses used by a package.
<a id="license"></a>
## license
<pre>
license(<a href="#license-name">name</a>, <a href="#license-copyright_notice">copyright_notice</a>, <a href="#license-license_kinds">license_kinds</a>, <a href="#license-license_text">license_text</a>, <a href="#license-package_name">package_name</a>, <a href="#license-package_url">package_url</a>,
<a href="#license-package_version">package_version</a>)
</pre>
**ATTRIBUTES**
| Name | Description | Type | Mandatory | Default |
| :------------- | :------------- | :------------- | :------------- | :------------- |
| <a id="license-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
| <a id="license-copyright_notice"></a>copyright_notice | Copyright notice. | String | optional | <code>""</code> |
| <a id="license-license_kinds"></a>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. | <a href="https://bazel.build/concepts/labels">List of labels</a> | optional | <code>[]</code> |
| <a id="license-license_text"></a>license_text | The license file. | <a href="https://bazel.build/concepts/labels">Label</a> | optional | <code>LICENSE</code> |
| <a id="license-package_name"></a>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 | <code>""</code> |
| <a id="license-package_url"></a>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 | <code>""</code> |
| <a id="license-package_version"></a>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 | <code>""</code> |
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
Proof of concept. License restriction.
<a id="license_kind"></a>
## license_kind
<pre>
license_kind(<a href="#license_kind-name">name</a>, <a href="#license_kind-canonical_text">canonical_text</a>, <a href="#license_kind-conditions">conditions</a>, <a href="#license_kind-long_name">long_name</a>, <a href="#license_kind-url">url</a>)
</pre>
**ATTRIBUTES**
| Name | Description | Type | Mandatory | Default |
| :------------- | :------------- | :------------- | :------------- | :------------- |
| <a id="license_kind-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
| <a id="license_kind-canonical_text"></a>canonical_text | File containing the canonical text for this license. Must be UTF-8 encoded. | <a href="https://bazel.build/concepts/labels">Label</a> | optional | <code>None</code> |
| <a id="license_kind-conditions"></a>conditions | Conditions to be met when using software under this license. Conditions are defined by the organization using this license. | List of strings | required | |
| <a id="license_kind-long_name"></a>long_name | Human readable long name of license. | String | optional | <code>""</code> |
| <a id="license_kind-url"></a>url | URL pointing to canonical license definition | String | optional | <code>""</code> |
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
Rules for declaring metadata about a package.
<a id="package_info"></a>
## package_info
<pre>
package_info(<a href="#package_info-name">name</a>, <a href="#package_info-package_name">package_name</a>, <a href="#package_info-package_url">package_url</a>, <a href="#package_info-package_version">package_version</a>)
</pre>
**ATTRIBUTES**
| Name | Description | Type | Mandatory | Default |
| :------------- | :------------- | :------------- | :------------- | :------------- |
| <a id="package_info-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
| <a id="package_info-package_name"></a>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 | <code>""</code> |
| <a id="package_info-package_url"></a>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 | <code>""</code> |
| <a id="package_info-package_version"></a>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 | <code>""</code> |
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
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.
<a id="LicenseInfo"></a>
## LicenseInfo
<pre>
LicenseInfo(<a href="#LicenseInfo-copyright_notice">copyright_notice</a>, <a href="#LicenseInfo-label">label</a>, <a href="#LicenseInfo-license_kinds">license_kinds</a>, <a href="#LicenseInfo-license_text">license_text</a>, <a href="#LicenseInfo-package_name">package_name</a>, <a href="#LicenseInfo-package_url">package_url</a>,
<a href="#LicenseInfo-package_version">package_version</a>)
</pre>
Provides information about a license instance.
**FIELDS**
| Name | Description |
| :------------- | :------------- |
| <a id="LicenseInfo-copyright_notice"></a>copyright_notice | string: Human readable short copyright notice |
| <a id="LicenseInfo-label"></a>label | Label: label of the license rule |
| <a id="LicenseInfo-license_kinds"></a>license_kinds | list(LicenseKindInfo): License kinds |
| <a id="LicenseInfo-license_text"></a>license_text | string: The license file path |
| <a id="LicenseInfo-package_name"></a>package_name | string: Human readable package name |
| <a id="LicenseInfo-package_url"></a>package_url | URL from which this package was downloaded. |
| <a id="LicenseInfo-package_version"></a>package_version | Human readable version string |
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
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.
<a id="LicenseKindInfo"></a>
## LicenseKindInfo
<pre>
LicenseKindInfo(<a href="#LicenseKindInfo-conditions">conditions</a>, <a href="#LicenseKindInfo-label">label</a>, <a href="#LicenseKindInfo-long_name">long_name</a>, <a href="#LicenseKindInfo-name">name</a>)
</pre>
Provides information about a license_kind instance.
**FIELDS**
| Name | Description |
| :------------- | :------------- |
| <a id="LicenseKindInfo-conditions"></a>conditions | list(string): List of conditions to be met when using this packages under this license. |
| <a id="LicenseKindInfo-label"></a>label | Label: The full path to the license kind definition. |
| <a id="LicenseKindInfo-long_name"></a>long_name | string: Human readable license name |
| <a id="LicenseKindInfo-name"></a>name | string: Canonical license name |
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
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.
<a id="PackageInfo"></a>
## PackageInfo
<pre>
PackageInfo(<a href="#PackageInfo-type">type</a>, <a href="#PackageInfo-label">label</a>, <a href="#PackageInfo-package_name">package_name</a>, <a href="#PackageInfo-package_url">package_url</a>, <a href="#PackageInfo-package_version">package_version</a>)
</pre>
Provides information about a package.
**FIELDS**
| Name | Description |
| :------------- | :------------- |
| <a id="PackageInfo-type"></a>type | string: How to interpret data |
| <a id="PackageInfo-label"></a>label | Label: label of the package_info rule |
| <a id="PackageInfo-package_name"></a>package_name | string: Human readable package name |
| <a id="PackageInfo-package_url"></a>package_url | string: URL from which this package was downloaded. |
| <a id="PackageInfo-package_version"></a>package_version | string: Human readable version string |
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
Rules and macros for collecting LicenseInfo providers.
<a id="gather_metadata_info"></a>
## gather_metadata_info
<pre>
gather_metadata_info(<a href="#gather_metadata_info-name">name</a>)
</pre>
Collects LicenseInfo providers into a single TransitiveMetadataInfo provider.
**ASPECT ATTRIBUTES**
| Name | Type |
| :------------- | :------------- |
| *| String |
**ATTRIBUTES**
| Name | Description | Type | Mandatory | Default |
| :------------- | :------------- | :------------- | :------------- | :------------- |
| <a id="gather_metadata_info-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
Rules and macros for collecting LicenseInfo providers.
<a id="gather_metadata_info_and_write"></a>
## gather_metadata_info_and_write
<pre>
gather_metadata_info_and_write(<a href="#gather_metadata_info_and_write-name">name</a>)
</pre>
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 |
| :------------- | :------------- | :------------- | :------------- | :------------- |
| <a id="gather_metadata_info_and_write-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
Rules and macros for collecting package metdata providers.
<a id="trace"></a>
## trace
<pre>
trace(<a href="#trace-name">name</a>)
</pre>
Used to allow the specification of a target to trace while collecting license dependencies.
**ATTRIBUTES**
| Name | Description | Type | Mandatory | Default |
| :------------- | :------------- | :------------- | :------------- | :------------- |
| <a id="trace-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |