https://github.com/michal-josef-spacek/license-spdx
Object for SPDX licenses handling.
https://github.com/michal-josef-spacek/license-spdx
spdx-license
Last synced: 2 months ago
JSON representation
Object for SPDX licenses handling.
- Host: GitHub
- URL: https://github.com/michal-josef-spacek/license-spdx
- Owner: michal-josef-spacek
- License: bsd-2-clause
- Created: 2023-01-26T11:06:20.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-02T12:01:15.000Z (over 1 year ago)
- Last Synced: 2025-01-01T04:45:49.210Z (4 months ago)
- Topics: spdx-license
- Language: Perl
- Homepage:
- Size: 134 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: Changes
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
NAME
License::SPDX - Object for SPDX licenses handling.SYNOPSIS
use License::SPDX;my $obj = License::SPDX->new;
my $checked = $obj->check_exception($check_string, $opts_hr);
my $checked = $obj->check_license($check_string, $opts_hr);
my $exception_hr = $obj->exception($exception_id);
my @exceptions = $obj->exceptions;
my $license_hr = $obj->license($license_id);
my @licenses = $obj->licenses;
my $spdx_release_date = $obj->spdx_release_date;
my $spdx_version = $obj->spdx_version;DESCRIPTION
Object for SPDX licenses handling is using license data from
repository. Actual version
is 3.20.METHODS
"new"
my $obj = License::SPDX->new;Constructor.
Returns instance of object.
"check_exception"
my $checked = $obj->check_exception($check_string, $opts_hr);Check if license exception exists. Argument $opts_hr is reference to
hash with parameter 'check_type' for definition of "check_exception()"
type.Possible 'check_type' values:
'id' - Check license exception id.
'name' - Check license exception name.Default value of 'check_type' is 'id'. If 'check_type' is bad, fail with
error.Returns 1 (license exist) or 0 (license doesn't exist).
"check_license"
my $checked = $obj->check_license($check_string, $opts_hr);Check if license exists. Argument $opts_hr is reference to hash with
parameter 'check_type' for definition of "check_license()" type.Possible 'check_type' values:
'id' - Check license id.
'name' - Check license name.Default value of 'check_type' is 'id'. If 'check_type' is bad, fail with
error.Returns 1 (license exist) or 0 (license doesn't exist).
"exception"
my $exception_hr = $obj->exception($exception_id);Get license exception structure.
Returns reference to hash.
"exceptions"
my @exceptions = $obj->exceptions;Get all license exception structures.
Returns array of references to hash.
"license"
my $license_hr = $obj->license($license_id);Get license structure.
Returns reference to hash.
"licenses"
my @licenses = $obj->licenses;Get all license structures.
Returns array of references to hash.
"spdx_release_date"
my $spdx_release_date = $obj->spdx_release_date;Get release date of data structure with SPDX license.
Returns string.
"spdx_version"
my $spdx_version = $obj->spdx_version;Get version of data structure with SPDX license.
Returns string.
ERRORS
new():
From Class::Utils::set_params():
Unknown parameter '%s'.check_exception():
Check type '%s' doesn't supported.check_license():
Check type '%s' doesn't supported.EXAMPLE1
use strict;
use warnings;use License::SPDX;
if (@ARGV < 1) {
print STDERR "Usage: $0 license_id\n";
exit 1;
}
my $license_id = $ARGV[0];# Object.
my $obj = License::SPDX->new;print 'License with id \''.$license_id.'\' is ';
if ($obj->check_license($license_id)) {
print "supported.\n";
} else {
print "not supported.\n";
}# Output for 'MIT':
# License with id 'MIT' is supported.# Output for 'BAD':
# License with id 'BAD' is not supported.EXAMPLE2
use strict;
use warnings;use License::SPDX;
if (@ARGV < 1) {
print STDERR "Usage: $0 license_exception_id\n";
exit 1;
}
my $license_exception_id = $ARGV[0];# Object.
my $obj = License::SPDX->new;print 'License exception with id \''.$license_exception_id.'\' is ';
if ($obj->check_exception($license_exception_id)) {
print "supported.\n";
} else {
print "not supported.\n";
}# Output for 'LGPL-3.0-linking-exception':
# License exception with id 'LGPL-3.0-linking-exception' is supported.# Output for 'BAD':
# License exception with id 'BAD' is not supported.DEPENDENCIES
Class::Utils, Cpanel::JSON::XS, Error::Pure. File::Share, List::Util,
Perl6::Slurp.SEE ALSO
rpm-spec-license
Tool for working with RPM spec file licenses.REPOSITORY
AUTHOR
Michal Josef Špaček
LICENSE AND COPYRIGHT
© 2023 Michal Josef ŠpačekBSD 2-Clause License
VERSION
0.07