Rules for declaring the compliance licenses used by a package.

license

ATTRIBUTES

NameDescriptionTypeMandatoryDefault
nameA unique name for this target.Namerequired
copyright_noticeCopyright notice.Stringoptional""
license_kindsLicense 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 labelsoptional[]
license_textThe license file.LabeloptionalLICENSE
namespaceA human readable name used to organize licenses into categories. This is used in google3 to differentiate third party licenses used for compliance versus internal licenses used by SLAsan for internal teams' SLAs.Stringoptional""
package_nameA human readable name identifying this package. This may be used to produce an index of OSS packages used by an applicatation.Stringoptional""
package_urlThe URL this instance of the package was download from. This may be used to produce an index of OSS packages used by an applicatation.Stringoptional""
package_versionA 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.Stringoptional""

Proof of concept. License restriction.

license_kind

ATTRIBUTES

NameDescriptionTypeMandatoryDefault
nameA unique name for this target.Namerequired
canonical_textFile containing the canonical text for this license. Must be UTF-8 encoded.LabeloptionalNone
conditionsConditions to be met when using software under this license. Conditions are defined by the organization using this license.List of stringsrequired
long_nameHuman readable long name of license.Stringoptional""
urlURL pointing to canonical license definitionStringoptional""

Rules for declaring metadata about a package.

package_info

ATTRIBUTES

NameDescriptionTypeMandatoryDefault
nameA unique name for this target.Namerequired
package_nameA human readable name identifying this package. This may be used to produce an index of OSS packages used by an applicatation.Stringoptional""
package_urlThe URL this instance of the package was download from. This may be used to produce an index of OSS packages used by an applicatation.Stringoptional""
package_versionA 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.Stringoptional""

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

Provides information about a license instance.

FIELDS

NameDescription
copyright_noticestring: Human readable short copyright notice
labelLabel: label of the license rule
license_kindslist(LicenseKindInfo): License kinds
license_textstring: The license file path
namespacestring: namespace of the license rule
package_namestring: Human readable package name
package_urlURL from which this package was downloaded.
package_versionHuman readable version string

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

Provides information about a license_kind instance.

FIELDS

NameDescription
conditionslist(string): List of conditions to be met when using this packages under this license.
labelLabel: The full path to the license kind definition.
long_namestring: Human readable license name
namestring: Canonical license name

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

Provides information about a package.

FIELDS

NameDescription
typestring: How to interpret data
labelLabel: label of the package_info rule
package_namestring: Human readable package name
package_urlstring: URL from which this package was downloaded.
package_versionstring: Human readable version string

Rules and macros for collecting package metdata providers.

trace

Used to allow the specification of a target to trace while collecting license dependencies.

ATTRIBUTES

NameDescriptionTypeMandatoryDefault
nameA unique name for this target.Namerequired