Skip to content

Commit ed267eb

Browse files
committed
Add license_file_references field for NuGet file-type licenses
Signed-off-by: Jayant Saxena <jayantmcom@gmail.com>
1 parent 24c47b2 commit ed267eb

3 files changed

Lines changed: 23 additions & 0 deletions

File tree

src/packagedcode/models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,12 @@ class PackageData(IdentifiablePackageData):
672672
'package manifest and extracted. This can be a string, a list or dict of '
673673
'strings possibly nested, as found originally in the manifest.')
674674

675+
license_file_references = List(
676+
item_type=str,
677+
label='license file references',
678+
help='List of file paths referenced in the license statement.')
679+
680+
675681
notice_text = String(
676682
label='notice text',
677683
help='A notice text for this package.')
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
3+
<metadata>
4+
<id>TestPackage</id>
5+
<version>1.0.0</version>
6+
<license type="file">LICENSE.txt</license>
7+
<authors>Test Author</authors>
8+
<description>Test package with file-type license</description>
9+
</metadata>
10+
</package>

tests/packagedcode/test_nuget.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,10 @@ def test_parse_creates_package_with_license_file(self):
8080
package = list(package)[0]
8181
assert package.extracted_license_statement == 'LICENSE.txt'
8282
assert package.license_file_references == ['LICENSE.txt']
83+
84+
def test_parse_nuget_file_type_license(self):
85+
test_file = self.get_test_loc('nuget/file-license.nuspec')
86+
package = nuget.NugetNuspecHandler.parse(test_file)
87+
package = list(package)[0]
88+
assert package.license_file_references == ['LICENSE.txt']
89+
assert package.extracted_license_statement == 'LICENSE.txt'

0 commit comments

Comments
 (0)