Skip to content

Commit

Permalink
Add version in resolved package
Browse files Browse the repository at this point in the history
Signed-off-by: Tushar Goel <[email protected]>
  • Loading branch information
TG1999 committed Jun 25, 2024
1 parent c3d4449 commit f368bd4
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 39 deletions.
26 changes: 21 additions & 5 deletions src/packagedcode/nuget.py
Original file line number Diff line number Diff line change
Expand Up @@ -218,23 +218,39 @@ def parse(cls, location, package_only=False):
version=package_info.get('resolved'),
)
resolved_package = models.PackageData.from_data(resolved_package_mapping)
package_type = package_info.get('type')
if package_type == "Direct":
is_direct = True
elif package_type == "Transitive":
is_direct = False
else:
raise Exception(f"Unknown package type: {package_type}")


version = package_info.get('resolved')
requested = package_info.get('requested')
dependency = models.DependentPackage(
purl=str(PackageURL(type='nuget', name=package_name, version=package_info.get('resolved'))),
extracted_requirement=package_info.get('requested') or package_info.get('resolved'),
purl=str(PackageURL(type='nuget', name=package_name, version=version)),
extracted_requirement=requested or version,
is_resolved=True,
resolved_package=resolved_package.to_dict(),
scope=package_info.get('type'),
# We use the target framework as scope since there is no concept of scope in .NET
# and we may have different resolutions for different target frameworks
scope=target_framework,
is_optional=False,
is_runtime=True,
is_direct=True if package_info.get('type') == 'Direct' else False,
is_direct=is_direct,
)
top_dependencies.append(dependency.to_dict())
package_data = dict(
datasource_id=cls.datasource_id,
type=cls.default_package_type,
primary_language=cls.default_primary_language,
extra_data=extra_data,
dependencies=top_dependencies,
dependencies=top_dependencies,
# TODO: Check if we to put virtual or private for packages without a name and version
# is_virtual=True,
# is_private=True,
)
yield models.PackageData.from_data(package_data, package_only)

Expand Down
68 changes: 34 additions & 34 deletions tests/packagedcode/data/nuget/packages.lock.json.expected
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "[4.0.1, )",
"scope": "Direct",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -130,7 +130,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "[6.0.1, )",
"scope": "Direct",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -416,7 +416,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "[6.0.0, )",
"scope": "Direct",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -504,7 +504,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "4.0.1",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -570,7 +570,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -647,7 +647,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -713,7 +713,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -779,7 +779,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -856,7 +856,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.1",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -933,7 +933,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1043,7 +1043,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1153,7 +1153,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.1",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1252,7 +1252,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1329,7 +1329,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1383,7 +1383,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1449,7 +1449,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1537,7 +1537,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1591,7 +1591,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1679,7 +1679,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1789,7 +1789,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1843,7 +1843,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -1986,7 +1986,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2107,7 +2107,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2195,7 +2195,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2305,7 +2305,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2437,7 +2437,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2514,7 +2514,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2624,7 +2624,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2690,7 +2690,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "5.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2744,7 +2744,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2810,7 +2810,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2864,7 +2864,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2918,7 +2918,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down Expand Up @@ -2984,7 +2984,7 @@
{
"purl": "pkg:nuget/[email protected]",
"extracted_requirement": "6.0.0",
"scope": "Transitive",
"scope": "net6.0",
"is_runtime": true,
"is_optional": false,
"is_resolved": true,
Expand Down

0 comments on commit f368bd4

Please sign in to comment.