diff --git a/docs/source/reference/available_package_parsers.rst b/docs/source/reference/available_package_parsers.rst index 833dd99462c..45a3a4c15ee 100644 --- a/docs/source/reference/available_package_parsers.rst +++ b/docs/source/reference/available_package_parsers.rst @@ -748,14 +748,15 @@ parsers in scancode-toolkit during documentation builds. - ``squashfs_disk_image`` - None - https://en.wikipedia.org/wiki/SquashFS - * - json dump of swift manifest + * - JSON dump of Package.swift created with ``swift package dump-package > Package.swift.json`` - ``*/Package.swift.json`` - ``swift`` - ``swift_package_manifest_json`` - - swift + - Swift - https://docs.swift.org/package-manager/PackageDescription/PackageDescription.html - * - resolved dependency for swift package + * - Resolved full dependency lockfile for Package.swift created with ``swift package resolve`` - ``*/Package.resolved`` + ``*/.package.resolved`` - ``swift`` - ``swift_package_resolved`` - swift diff --git a/src/packagedcode/swift.py b/src/packagedcode/swift.py index 07da1ac731a..b7ada928fdf 100644 --- a/src/packagedcode/swift.py +++ b/src/packagedcode/swift.py @@ -166,7 +166,7 @@ def assemble( class SwiftPackageResolvedHandler(models.DatafileHandler): datasource_id = "swift_package_resolved" - path_patterns = ("*/Package.resolved",) + path_patterns = ("*/Package.resolved", "*/.package.resolved") default_package_type = "swift" default_primary_language = "swift" description = "Resolved full dependency lockfile for Package.swift created with ``swift package resolve``" @@ -179,35 +179,18 @@ class SwiftPackageResolvedHandler(models.DatafileHandler): def parse(cls, location, package_only=False): with io.open(location, encoding="utf-8") as loc: package_resolved = json.load(loc) + + resolved_doc_version = package_resolved.get("version") - pinned = package_resolved.get("pins", []) + if resolved_doc_version in [2, 3]: + yield from packages_from_resolved_v2_and_v3(package_resolved) + + if resolved_doc_version == 1: + yield from packages_from_resolved_v1(package_resolved) - for dependency in pinned: - name = dependency.get("identity") - kind = dependency.get("kind") - location = dependency.get("location") - state = dependency.get("state", {}) - version = None - namespace = None - if location and kind == "remoteSourceControl": - namespace, name = get_namespace_and_name(location) - - version = state.get("version") - - if not version: - version = state.get("revision") - - package_data = dict( - datasource_id=cls.datasource_id, - type=cls.default_package_type, - primary_language=cls.default_primary_language, - namespace=namespace, - name=name, - version=version, - ) - yield models.PackageData.from_data(package_data, package_only) + @classmethod def assemble( cls, package_data, resource, codebase, package_adder=models.add_to_package @@ -229,6 +212,66 @@ def assemble( codebase=codebase, package_adder=package_adder, ) + +def packages_from_resolved_v2_and_v3(package_resolved): + pinned = package_resolved.get("pins", []) + + for dependency in pinned: + name = dependency.get("identity") + kind = dependency.get("kind") + location = dependency.get("location") + state = dependency.get("state", {}) + version = None + namespace = None + + if location and kind == "remoteSourceControl": + namespace, name = get_namespace_and_name(location) + + version = state.get("version") + + if not version: + version = state.get("revision") + + package_data = dict( + datasource_id=SwiftPackageResolvedHandler.datasource_id, + type=SwiftPackageResolvedHandler.default_package_type, + primary_language=SwiftPackageResolvedHandler.default_primary_language, + namespace=namespace, + name=name, + version=version, + ) + yield models.PackageData.from_data(package_data, False) + +def packages_from_resolved_v1(package_resolved): + object = package_resolved.get("object", {}) + pinned = object.get("pins", []) + + for dependency in pinned: + name = dependency.get("package") + + repository_url = dependency.get("repositoryURL") + state = dependency.get("state", {}) + version = None + namespace = None + + if repository_url: + namespace, name = get_namespace_and_name(repository_url) + + version = state.get("version") + + if not version: + version = state.get("revision") + + package_data = dict( + datasource_id=SwiftPackageResolvedHandler.datasource_id, + type=SwiftPackageResolvedHandler.default_package_type, + primary_language=SwiftPackageResolvedHandler.default_primary_language, + namespace=namespace, + name=name, + version=version, + ) + yield models.PackageData.from_data(package_data, False) + def get_dependencies(dependencies): diff --git a/tests/packagedcode/data/plugin/help.txt b/tests/packagedcode/data/plugin/help.txt index ff87045349c..7fd5350bace 100755 --- a/tests/packagedcode/data/plugin/help.txt +++ b/tests/packagedcode/data/plugin/help.txt @@ -807,16 +807,16 @@ Package type: squashfs Package type: swift datasource_id: swift_package_manifest_json documentation URL: https://docs.swift.org/package-manager/PackageDescription/PackageDescription.html - primary language: swift - description: json dump of swift manifest + primary language: Swift + description: JSON dump of Package.swift created with ``swift package dump-package > Package.swift.json`` path_patterns: '*/Package.swift.json' -------------------------------------------- Package type: swift datasource_id: swift_package_resolved documentation URL: https://docs.swift.org/package-manager/PackageDescription/PackageDescription.html#package-dependency primary language: swift - description: resolved dependency for swift package - path_patterns: '*/Package.resolved' + description: Resolved full dependency lockfile for Package.swift created with ``swift package resolve`` + path_patterns: '*/Package.resolved', '*/.package.resolved' -------------------------------------------- Package type: war datasource_id: java_war_archive diff --git a/tests/packagedcode/data/swift/packages/fastlane_resolved_v1/Package.resolved b/tests/packagedcode/data/swift/packages/fastlane_resolved_v1/Package.resolved new file mode 100644 index 00000000000..91aa2bec40f --- /dev/null +++ b/tests/packagedcode/data/swift/packages/fastlane_resolved_v1/Package.resolved @@ -0,0 +1,16 @@ +{ + "object": { + "pins": [ + { + "package": "SwiftShell", + "repositoryURL": "https://github.com/kareman/SwiftShell", + "state": { + "branch": null, + "revision": "99680b2efc7c7dbcace1da0b3979d266f02e213c", + "version": "5.1.0" + } + } + ] + }, + "version": 1 +} \ No newline at end of file diff --git a/tests/packagedcode/data/swift/packages/mapboxmaps_resolved/src/mapbox.swift b/tests/packagedcode/data/swift/packages/fastlane_resolved_v1/src/mapbox.swift similarity index 100% rename from tests/packagedcode/data/swift/packages/mapboxmaps_resolved/src/mapbox.swift rename to tests/packagedcode/data/swift/packages/fastlane_resolved_v1/src/mapbox.swift diff --git a/tests/packagedcode/data/swift/packages/mapboxmaps_resolved/Package.resolved b/tests/packagedcode/data/swift/packages/mapboxmaps_resolved/Package.resolved deleted file mode 100644 index 91a82660725..00000000000 --- a/tests/packagedcode/data/swift/packages/mapboxmaps_resolved/Package.resolved +++ /dev/null @@ -1,32 +0,0 @@ -{ - "pins" : [ - { - "identity" : "mapbox-common-ios", - "kind" : "remoteSourceControl", - "location" : "https://github.com/mapbox/mapbox-common-ios.git", - "state" : { - "revision" : "9c04997ed32c5b2506eb704f9f7a16367b5dcc64", - "version" : "24.4.0" - } - }, - { - "identity" : "mapbox-core-maps-ios", - "kind" : "remoteSourceControl", - "location" : "https://github.com/mapbox/mapbox-core-maps-ios.git", - "state" : { - "revision" : "c7897628028afb2c008d50c5d5d4054768c99340", - "version" : "11.4.0" - } - }, - { - "identity" : "turf-swift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/mapbox/turf-swift.git", - "state" : { - "revision" : "213050191cfcb3d5aa76e1fa90c6ff1e182a42ca", - "version" : "2.8.0" - } - } - ], - "version" : 2 -} diff --git a/tests/packagedcode/data/swift/swift-fastlane-resolved-v1-package-expected.json b/tests/packagedcode/data/swift/swift-fastlane-resolved-v1-package-expected.json new file mode 100644 index 00000000000..dac90300299 --- /dev/null +++ b/tests/packagedcode/data/swift/swift-fastlane-resolved-v1-package-expected.json @@ -0,0 +1,119 @@ +{ + "packages": [ + { + "type": "swift", + "namespace": "github.com/kareman", + "name": "SwiftShell", + "version": "5.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "swift", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:swift/github.com/kareman/SwiftShell@5.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "Package.resolved" + ], + "datasource_ids": [ + "swift_package_resolved" + ], + "purl": "pkg:swift/github.com/kareman/SwiftShell@5.1.0" + } + ], + "dependencies": [], + "files": [ + { + "path": "Package.resolved", + "type": "file", + "package_data": [ + { + "type": "swift", + "namespace": "github.com/kareman", + "name": "SwiftShell", + "version": "5.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "swift", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "swift_package_resolved", + "purl": "pkg:swift/github.com/kareman/SwiftShell@5.1.0" + } + ], + "for_packages": [ + "pkg:swift/github.com/kareman/SwiftShell@5.1.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "src", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "src/mapbox.swift", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/swift/swift-maboxmaps-manifest-parse-expected.json b/tests/packagedcode/data/swift/swift-maboxmaps-manifest-parse-expected.json index 2ebf4cd1243..d73cf4d918b 100644 --- a/tests/packagedcode/data/swift/swift-maboxmaps-manifest-parse-expected.json +++ b/tests/packagedcode/data/swift/swift-maboxmaps-manifest-parse-expected.json @@ -6,7 +6,7 @@ "version": null, "qualifiers": {}, "subpath": null, - "primary_language": "swift", + "primary_language": "Swift", "description": null, "release_date": null, "parties": [], @@ -36,9 +36,9 @@ "extra_data": {}, "dependencies": [ { - "purl": "pkg:swift/github.com%252Fmapbox%252Fturf-swift", + "purl": "pkg:swift/github.com/mapbox/turf-swift", "extracted_requirement": "vers:swift/>=2.8.0|<3.0.0", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -46,9 +46,9 @@ "extra_data": {} }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0-rc.2", + "purl": "pkg:swift/github.com/mapbox/mapbox-core-maps-ios@11.4.0-rc.2", "extracted_requirement": "11.4.0-rc.2", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, @@ -56,9 +56,9 @@ "extra_data": {} }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0-rc.2", + "purl": "pkg:swift/github.com/mapbox/mapbox-common-ios@24.4.0-rc.2", "extracted_requirement": "24.4.0-rc.2", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, diff --git a/tests/packagedcode/data/swift/swift-maboxmaps-resolved-parse-expected.json b/tests/packagedcode/data/swift/swift-maboxmaps-resolved-parse-expected.json index e6837705999..71bf3ebc80f 100644 --- a/tests/packagedcode/data/swift/swift-maboxmaps-resolved-parse-expected.json +++ b/tests/packagedcode/data/swift/swift-maboxmaps-resolved-parse-expected.json @@ -1,8 +1,8 @@ [ { "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fmapbox-common-ios", + "namespace": "github.com/mapbox", + "name": "mapbox-common-ios", "version": "24.4.0", "qualifiers": {}, "subpath": null, @@ -39,12 +39,12 @@ "repository_download_url": null, "api_data_url": null, "datasource_id": "swift_package_resolved", - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0" + "purl": "pkg:swift/github.com/mapbox/mapbox-common-ios@24.4.0" }, { "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fmapbox-core-maps-ios", + "namespace": "github.com/mapbox", + "name": "mapbox-core-maps-ios", "version": "11.4.0", "qualifiers": {}, "subpath": null, @@ -81,12 +81,12 @@ "repository_download_url": null, "api_data_url": null, "datasource_id": "swift_package_resolved", - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0" + "purl": "pkg:swift/github.com/mapbox/mapbox-core-maps-ios@11.4.0" }, { "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fturf-swift", + "namespace": "github.com/mapbox", + "name": "turf-swift", "version": "2.8.0", "qualifiers": {}, "subpath": null, @@ -123,6 +123,6 @@ "repository_download_url": null, "api_data_url": null, "datasource_id": "swift_package_resolved", - "purl": "pkg:swift/github.com%252Fmapbox%252Fturf-swift@2.8.0" + "purl": "pkg:swift/github.com/mapbox/turf-swift@2.8.0" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/swift/swift-mapboxmaps-manifest-and-resolved-package-expected.json b/tests/packagedcode/data/swift/swift-mapboxmaps-manifest-and-resolved-package-expected.json index 3f9b5d67d33..5a19fbd4472 100644 --- a/tests/packagedcode/data/swift/swift-mapboxmaps-manifest-and-resolved-package-expected.json +++ b/tests/packagedcode/data/swift/swift-mapboxmaps-manifest-and-resolved-package-expected.json @@ -7,7 +7,7 @@ "version": null, "qualifiers": {}, "subpath": null, - "primary_language": "swift", + "primary_language": "Swift", "description": null, "release_date": null, "parties": [], @@ -51,43 +51,43 @@ ], "dependencies": [ { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0", + "purl": "pkg:swift/mapbox-common-ios@24.4.0", "extracted_requirement": "24.4.0", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {}, "extra_data": {}, - "dependency_uid": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "dependency_uid": "pkg:swift/mapbox-common-ios@24.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:swift/MapboxMaps?uuid=fixed-uid-done-for-testing-5642512d1758", "datafile_path": "Package.swift.json", "datasource_id": "swift_package_manifest_json" }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0", + "purl": "pkg:swift/mapbox-core-maps-ios@11.4.0", "extracted_requirement": "11.4.0", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {}, "extra_data": {}, - "dependency_uid": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "dependency_uid": "pkg:swift/mapbox-core-maps-ios@11.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:swift/MapboxMaps?uuid=fixed-uid-done-for-testing-5642512d1758", "datafile_path": "Package.swift.json", "datasource_id": "swift_package_manifest_json" }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fturf-swift@2.8.0", + "purl": "pkg:swift/turf-swift@2.8.0", "extracted_requirement": "2.8.0", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {}, "extra_data": {}, - "dependency_uid": "pkg:swift/github.com%252Fmapbox%252Fturf-swift@2.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "dependency_uid": "pkg:swift/turf-swift@2.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:swift/MapboxMaps?uuid=fixed-uid-done-for-testing-5642512d1758", "datafile_path": "Package.swift.json", "datasource_id": "swift_package_manifest_json" @@ -100,8 +100,8 @@ "package_data": [ { "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fmapbox-common-ios", + "namespace": "github.com/mapbox", + "name": "mapbox-common-ios", "version": "24.4.0", "qualifiers": {}, "subpath": null, @@ -138,12 +138,12 @@ "repository_download_url": null, "api_data_url": null, "datasource_id": "swift_package_resolved", - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0" + "purl": "pkg:swift/github.com/mapbox/mapbox-common-ios@24.4.0" }, { "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fmapbox-core-maps-ios", + "namespace": "github.com/mapbox", + "name": "mapbox-core-maps-ios", "version": "11.4.0", "qualifiers": {}, "subpath": null, @@ -180,12 +180,12 @@ "repository_download_url": null, "api_data_url": null, "datasource_id": "swift_package_resolved", - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0" + "purl": "pkg:swift/github.com/mapbox/mapbox-core-maps-ios@11.4.0" }, { "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fturf-swift", + "namespace": "github.com/mapbox", + "name": "turf-swift", "version": "2.8.0", "qualifiers": {}, "subpath": null, @@ -222,7 +222,7 @@ "repository_download_url": null, "api_data_url": null, "datasource_id": "swift_package_resolved", - "purl": "pkg:swift/github.com%252Fmapbox%252Fturf-swift@2.8.0" + "purl": "pkg:swift/github.com/mapbox/turf-swift@2.8.0" } ], "for_packages": [ @@ -241,7 +241,7 @@ "version": null, "qualifiers": {}, "subpath": null, - "primary_language": "swift", + "primary_language": "Swift", "description": null, "release_date": null, "parties": [], @@ -271,9 +271,9 @@ "extra_data": {}, "dependencies": [ { - "purl": "pkg:swift/github.com%252Fmapbox%252Fturf-swift", + "purl": "pkg:swift/github.com/mapbox/turf-swift", "extracted_requirement": "vers:swift/>=2.8.0|<3.0.0", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -281,9 +281,9 @@ "extra_data": {} }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0-rc.2", + "purl": "pkg:swift/github.com/mapbox/mapbox-core-maps-ios@11.4.0-rc.2", "extracted_requirement": "11.4.0-rc.2", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, @@ -291,9 +291,9 @@ "extra_data": {} }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0-rc.2", + "purl": "pkg:swift/github.com/mapbox/mapbox-common-ios@24.4.0-rc.2", "extracted_requirement": "24.4.0-rc.2", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, diff --git a/tests/packagedcode/data/swift/swift-mapboxmaps-manifest-package-expected.json b/tests/packagedcode/data/swift/swift-mapboxmaps-manifest-package-expected.json index a222719a3c7..83b16f420af 100644 --- a/tests/packagedcode/data/swift/swift-mapboxmaps-manifest-package-expected.json +++ b/tests/packagedcode/data/swift/swift-mapboxmaps-manifest-package-expected.json @@ -7,7 +7,7 @@ "version": null, "qualifiers": {}, "subpath": null, - "primary_language": "swift", + "primary_language": "Swift", "description": null, "release_date": null, "parties": [], @@ -49,43 +49,43 @@ ], "dependencies": [ { - "purl": "pkg:swift/github.com%252Fmapbox%252Fturf-swift", + "purl": "pkg:swift/github.com/mapbox/turf-swift", "extracted_requirement": "vers:swift/>=2.8.0|<3.0.0", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": false, "resolved_package": {}, "extra_data": {}, - "dependency_uid": "pkg:swift/github.com%252Fmapbox%252Fturf-swift?uuid=fixed-uid-done-for-testing-5642512d1758", + "dependency_uid": "pkg:swift/github.com/mapbox/turf-swift?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:swift/MapboxMaps?uuid=fixed-uid-done-for-testing-5642512d1758", "datafile_path": "Package.swift.json", "datasource_id": "swift_package_manifest_json" }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0-rc.2", + "purl": "pkg:swift/github.com/mapbox/mapbox-core-maps-ios@11.4.0-rc.2", "extracted_requirement": "11.4.0-rc.2", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {}, "extra_data": {}, - "dependency_uid": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0-rc.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "dependency_uid": "pkg:swift/github.com/mapbox/mapbox-core-maps-ios@11.4.0-rc.2?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:swift/MapboxMaps?uuid=fixed-uid-done-for-testing-5642512d1758", "datafile_path": "Package.swift.json", "datasource_id": "swift_package_manifest_json" }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0-rc.2", + "purl": "pkg:swift/github.com/mapbox/mapbox-common-ios@24.4.0-rc.2", "extracted_requirement": "24.4.0-rc.2", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, "resolved_package": {}, "extra_data": {}, - "dependency_uid": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0-rc.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "dependency_uid": "pkg:swift/github.com/mapbox/mapbox-common-ios@24.4.0-rc.2?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:swift/MapboxMaps?uuid=fixed-uid-done-for-testing-5642512d1758", "datafile_path": "Package.swift.json", "datasource_id": "swift_package_manifest_json" @@ -103,7 +103,7 @@ "version": null, "qualifiers": {}, "subpath": null, - "primary_language": "swift", + "primary_language": "Swift", "description": null, "release_date": null, "parties": [], @@ -133,9 +133,9 @@ "extra_data": {}, "dependencies": [ { - "purl": "pkg:swift/github.com%252Fmapbox%252Fturf-swift", + "purl": "pkg:swift/github.com/mapbox/turf-swift", "extracted_requirement": "vers:swift/>=2.8.0|<3.0.0", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": false, @@ -143,9 +143,9 @@ "extra_data": {} }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0-rc.2", + "purl": "pkg:swift/github.com/mapbox/mapbox-core-maps-ios@11.4.0-rc.2", "extracted_requirement": "11.4.0-rc.2", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, @@ -153,9 +153,9 @@ "extra_data": {} }, { - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0-rc.2", + "purl": "pkg:swift/github.com/mapbox/mapbox-common-ios@24.4.0-rc.2", "extracted_requirement": "24.4.0-rc.2", - "scope": "install", + "scope": "dependencies", "is_runtime": true, "is_optional": false, "is_resolved": true, diff --git a/tests/packagedcode/data/swift/swift-mapboxmaps-resolved-package-expected.json b/tests/packagedcode/data/swift/swift-mapboxmaps-resolved-package-expected.json deleted file mode 100644 index bf851a0a30d..00000000000 --- a/tests/packagedcode/data/swift/swift-mapboxmaps-resolved-package-expected.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "packages": [ - { - "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fmapbox-common-ios", - "version": "24.4.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "swift", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "holder": null, - "declared_license_expression": null, - "declared_license_expression_spdx": null, - "license_detections": [], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": null, - "notice_text": null, - "source_packages": [], - "extra_data": {}, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "package_uid": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_paths": [ - "Package.resolved" - ], - "datasource_ids": [ - "swift_package_resolved" - ], - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0" - }, - { - "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fmapbox-core-maps-ios", - "version": "11.4.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "swift", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "holder": null, - "declared_license_expression": null, - "declared_license_expression_spdx": null, - "license_detections": [], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": null, - "notice_text": null, - "source_packages": [], - "extra_data": {}, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "package_uid": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_paths": [ - "Package.resolved" - ], - "datasource_ids": [ - "swift_package_resolved" - ], - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0" - }, - { - "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fturf-swift", - "version": "2.8.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "swift", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "holder": null, - "declared_license_expression": null, - "declared_license_expression_spdx": null, - "license_detections": [], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": null, - "notice_text": null, - "source_packages": [], - "extra_data": {}, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "package_uid": "pkg:swift/github.com%252Fmapbox%252Fturf-swift@2.8.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_paths": [ - "Package.resolved" - ], - "datasource_ids": [ - "swift_package_resolved" - ], - "purl": "pkg:swift/github.com%252Fmapbox%252Fturf-swift@2.8.0" - } - ], - "dependencies": [], - "files": [ - { - "path": "Package.resolved", - "type": "file", - "package_data": [ - { - "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fmapbox-common-ios", - "version": "24.4.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "swift", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "holder": null, - "declared_license_expression": null, - "declared_license_expression_spdx": null, - "license_detections": [], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": null, - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [], - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "datasource_id": "swift_package_resolved", - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0" - }, - { - "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fmapbox-core-maps-ios", - "version": "11.4.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "swift", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "holder": null, - "declared_license_expression": null, - "declared_license_expression_spdx": null, - "license_detections": [], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": null, - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [], - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "datasource_id": "swift_package_resolved", - "purl": "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0" - }, - { - "type": "swift", - "namespace": null, - "name": "github.com%2Fmapbox%2Fturf-swift", - "version": "2.8.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "swift", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "holder": null, - "declared_license_expression": null, - "declared_license_expression_spdx": null, - "license_detections": [], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": null, - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [], - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "datasource_id": "swift_package_resolved", - "purl": "pkg:swift/github.com%252Fmapbox%252Fturf-swift@2.8.0" - } - ], - "for_packages": [ - "pkg:swift/github.com%252Fmapbox%252Fmapbox-common-ios@24.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "pkg:swift/github.com%252Fmapbox%252Fmapbox-core-maps-ios@11.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "pkg:swift/github.com%252Fmapbox%252Fturf-swift@2.8.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "scan_errors": [] - }, - { - "path": "src", - "type": "directory", - "package_data": [], - "for_packages": [], - "scan_errors": [] - }, - { - "path": "src/mapbox.swift", - "type": "file", - "package_data": [], - "for_packages": [], - "scan_errors": [] - } - ] -} \ No newline at end of file diff --git a/tests/packagedcode/test_swift.py b/tests/packagedcode/test_swift.py index 9dcfef78ba8..0318c514489 100644 --- a/tests/packagedcode/test_swift.py +++ b/tests/packagedcode/test_swift.py @@ -82,10 +82,10 @@ def test_package_scan_swift_end_to_end_full_mapboxmaps_manifest_and_resolved(sel ) def test_package_scan_swift_end_to_end_full_mapboxmaps_resolved_only(self): - test_dir = self.get_test_loc("packages/mapboxmaps_resolved") + test_dir = self.get_test_loc("packages/fastlane_resolved_v1") result_file = self.get_temp_file("json") expected_file = self.get_test_loc( - "swift-mapboxmaps-resolved-package-expected.json" + "swift-fastlane-resolved-v1-package-expected.json" ) run_scan_click( [