From b42a49da9e5e3e544fb34af160f833e93777009c Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Mon, 24 Jun 2024 20:45:59 +0530 Subject: [PATCH] Update cocoapods podfile.lock parser #1279 Reference: https://github.com/nexB/scancode.io/issues/1279 Signed-off-by: Ayan Sinha Mahapatra --- src/packagedcode/cocoapods.py | 136 ++- .../assemble/many-podspecs-expected.json | 841 +++++++++++++++++- .../many-podspecs-with-license-expected.json | 841 +++++++++++++++++- .../assemble/multiple-podspec-expected.json | 301 ++++++- .../assemble/single-podspec-expected.json | 301 ++++++- .../assemble/solo/Podfile.lock-expected.json | 301 ++++++- .../braintree_ios_Podfile.lock.expected.json | 592 +++++++++++- 7 files changed, 3212 insertions(+), 101 deletions(-) diff --git a/src/packagedcode/cocoapods.py b/src/packagedcode/cocoapods.py index 8ca3617800b..dcc1437756c 100644 --- a/src/packagedcode/cocoapods.py +++ b/src/packagedcode/cocoapods.py @@ -19,7 +19,8 @@ from packagedcode import models from packagedcode import spec -from packagedcode import utils +from packagedcode.utils import get_base_purl +from packagedcode.utils import build_description """ Handle cocoapods packages manifests for macOS and iOS @@ -232,7 +233,7 @@ def parse(cls, location, package_only=False): extracted_license_statement = podspec.get('license') summary = podspec.get('summary') description = podspec.get('description') - description = utils.build_description( + description = build_description( summary=summary, description=description, ) @@ -292,6 +293,7 @@ class PodfileLockHandler(BasePodHandler): default_primary_language = 'Objective-C' description = 'Cocoapods Podfile.lock' documentation_url = 'https://guides.cocoapods.org/using/the-podfile.html' + is_lockfile = True @classmethod def parse(cls, location, package_only=False): @@ -301,48 +303,168 @@ def parse(cls, location, package_only=False): with open(location) as pfl: data = saneyaml.load(pfl) - pods = data['PODS'] - dependencies = [] + pods = data.get('PODS') + # collect versions of all dependencies + versions_by_base_purl = {} for pod in pods: if isinstance(pod, dict): for main_pod, _dep_pods in pod.items(): + purl, xreq = parse_dep_requirements(main_pod) + base_purl = get_base_purl(purl.to_string()) + versions_by_base_purl[base_purl] = xreq + + elif isinstance(pod, str): + purl, xreq = parse_dep_requirements(pod) + base_purl = get_base_purl(purl.to_string()) + versions_by_base_purl[base_purl] = xreq + + direct_dependencies = data.get('DEPENDENCIES') + direct_dependency_purls = [] + for direct_dep in direct_dependencies: + purl, _xreq = parse_dep_requirements(direct_dep) + base_purl = get_base_purl(purl.to_string()) + direct_dependency_purls.append(base_purl) + + spec_repos = data.get('SPEC REPOS') + spec_by_base_purl = {} + for spec_repo, packages in spec_repos.items(): + for package in packages: + purl, _xreq = parse_dep_requirements(package) + base_purl = get_base_purl(purl.to_string()) + spec_by_base_purl[base_purl] = spec_repo + + checksums = data.get('SPEC CHECKSUMS') + checksum_by_base_purl = {} + for name, checksum in checksums.items(): + purl, _xreq = parse_dep_requirements(name) + base_purl = get_base_purl(purl.to_string()) + checksum_by_base_purl[base_purl] = checksum + + dependencies = [] + for pod in pods: + # dependencies with mappings have direct dependencies + if isinstance(pod, dict): + for main_pod, dep_pods in pod.items(): purl, xreq = parse_dep_requirements(main_pod) + base_purl = get_base_purl(purl.to_string()) + + dependencies_for_resolved = [] + for dep_pod in dep_pods: + dep_purl, _dep_xreq = parse_dep_requirements(dep_pod) + base_dep_purl = get_base_purl(dep_purl.to_string()) + + dep_version = versions_by_base_purl.get(base_dep_purl) + if not dep_purl.version: + purl_mapping = dep_purl.to_dict() + purl_mapping["version"] = dep_version + dep_purl = PackageURL(**purl_mapping) + + dependency_for_resolved = models.DependentPackage( + purl=dep_purl.to_string(), + # FIXME: why dev? + scope='requires', + extracted_requirement=xreq, + is_runtime=False, + is_optional=True, + is_resolved=True, + is_direct=True, + ).to_dict() + dependencies_for_resolved.append(dependency_for_resolved) + + resolved_package_mapping = dict( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + namespace=purl.namespace, + name=purl.name, + version=purl.version, + dependencies=dependencies_for_resolved, + is_virtual=True, + ) + resolved_package = models.PackageData.from_data(resolved_package_mapping) + + checksum = checksum_by_base_purl.get(base_purl) + if checksum: + resolved_package.sha1 = checksum + + is_direct = False + if base_purl in direct_dependency_purls: + is_direct = True + + spec_repo = spec_by_base_purl.get(base_purl) + if spec_repo: + resolved_package.extra_data["spec_repo"] = spec_repo dependencies.append( models.DependentPackage( - purl=str(purl), + purl=purl.to_string(), # FIXME: why dev? scope='requires', extracted_requirement=xreq, is_runtime=False, is_optional=True, is_resolved=True, + is_direct=is_direct, + resolved_package=resolved_package, ) ) + # These packages have no direct dependencies elif isinstance(pod, str): - purl, xreq = parse_dep_requirements(pod) + base_purl = get_base_purl(purl.to_string()) + resolved_package_mapping = dict( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + namespace=purl.namespace, + name=purl.name, + version=purl.version, + is_virtual=True, + ) + resolved_package = models.PackageData.from_data(resolved_package_mapping) + + checksum = checksum_by_base_purl.get(base_purl) + if checksum: + resolved_package.sha1 = checksum + + is_direct = False + if base_purl in direct_dependency_purls: + is_direct = True + + spec_repo = spec_by_base_purl.get(base_purl) + if spec_repo: + resolved_package.extra_data["spec_repo"] = spec_repo dependencies.append( models.DependentPackage( - purl=str(purl), + purl=purl.to_string(), # FIXME: why dev? scope='requires', extracted_requirement=xreq, is_runtime=False, is_optional=True, is_resolved=True, + is_direct=is_direct, + resolved_package=resolved_package, ) ) + podfile_checksum = data.get('PODFILE CHECKSUM') + cocoapods_version = data.get('COCOAPODS') + extra_data = { + 'cocoapods': cocoapods_version, + 'podfile_checksum': podfile_checksum, + } + package_data = dict( datasource_id=cls.datasource_id, type=cls.default_package_type, primary_language=cls.default_primary_language, dependencies=dependencies, + extra_data=extra_data, ) yield models.PackageData.from_data(package_data, package_only) diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json index aec5430ad7a..7510f70e708 100644 --- a/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json @@ -484,7 +484,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "AWSCore", + "version": "2.27.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "d605449939e5b40704f11ff9f91f905f7d978589", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/AWSCore@2.27.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -498,8 +542,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlCatchException", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "86760545af2a490a23e964d76d7c77442dbce79b", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/CwlCatchExceptionSupport@~%3E%202.1.1", + "extracted_requirement": "2.1.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlCatchException@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -513,8 +613,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlCatchExceptionSupport", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a004322095d7101b945442c86adc7cec0650f676", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlCatchExceptionSupport@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -528,8 +672,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlMachBadInstructionHandler", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "aa1fe9f2d08b29507c150d099434b2890247e7f8", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlMachBadInstructionHandler@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -543,8 +731,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlPosixPreconditionTesting", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "1ba4471964405941f79b3f06bbcf3c2be782950c", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlPosixPreconditionTesting@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -559,7 +791,83 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlPreconditionTesting", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "73ae5de517a8761e5e40fb4136c6a26365af0440", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cocoapods/CwlCatchException@~%3E%202.1.1", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/CwlMachBadInstructionHandler@~%3E%202.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/CwlPosixPreconditionTesting@~%3E%202.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlPreconditionTesting@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -574,7 +882,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": "SwiftFormat", + "name": "CLI", + "version": "0.44.17", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/SwiftFormat/CLI@0.44.17?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -589,7 +939,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "SwiftLint", + "version": "0.46.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "6bc52a21f0fd44cab9aa2dc8e534fb9f5e3ec507", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/SwiftLint@0.46.2?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -1209,7 +1603,10 @@ "file_references": [], "is_private": false, "is_virtual": false, - "extra_data": {}, + "extra_data": { + "cocoapods": "1.11.3", + "podfile_checksum": "5e20e56b8ef40444b018a3736b7b726ff9772f00" + }, "dependencies": [ { "purl": "pkg:cocoapods/AWSCore@2.27.0", @@ -1219,7 +1616,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "AWSCore", + "version": "2.27.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "d605449939e5b40704f11ff9f91f905f7d978589", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1229,8 +1670,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlCatchException", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "86760545af2a490a23e964d76d7c77442dbce79b", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/CwlCatchExceptionSupport@~%3E%202.1.1", + "extracted_requirement": "2.1.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1240,8 +1737,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlCatchExceptionSupport", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a004322095d7101b945442c86adc7cec0650f676", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1251,8 +1792,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlMachBadInstructionHandler", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "aa1fe9f2d08b29507c150d099434b2890247e7f8", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1262,8 +1847,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlPosixPreconditionTesting", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "1ba4471964405941f79b3f06bbcf3c2be782950c", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1274,7 +1903,83 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlPreconditionTesting", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "73ae5de517a8761e5e40fb4136c6a26365af0440", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cocoapods/CwlCatchException@~%3E%202.1.1", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/CwlMachBadInstructionHandler@~%3E%202.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/CwlPosixPreconditionTesting@~%3E%202.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1285,7 +1990,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": "SwiftFormat", + "name": "CLI", + "version": "0.44.17", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1296,7 +2043,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "SwiftLint", + "version": "0.46.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "6bc52a21f0fd44cab9aa2dc8e534fb9f5e3ec507", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} } ], diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs-with-license-expected.json b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-with-license-expected.json index 69ed0d5f031..8874272fe9c 100644 --- a/tests/packagedcode/data/cocoapods/assemble/many-podspecs-with-license-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-with-license-expected.json @@ -484,7 +484,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "AWSCore", + "version": "2.27.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "d605449939e5b40704f11ff9f91f905f7d978589", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/AWSCore@2.27.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -498,8 +542,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlCatchException", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "86760545af2a490a23e964d76d7c77442dbce79b", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/CwlCatchExceptionSupport@~%3E%202.1.1", + "extracted_requirement": "2.1.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlCatchException@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -513,8 +613,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlCatchExceptionSupport", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a004322095d7101b945442c86adc7cec0650f676", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlCatchExceptionSupport@2.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -528,8 +672,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlMachBadInstructionHandler", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "aa1fe9f2d08b29507c150d099434b2890247e7f8", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlMachBadInstructionHandler@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -543,8 +731,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlPosixPreconditionTesting", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "1ba4471964405941f79b3f06bbcf3c2be782950c", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlPosixPreconditionTesting@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -559,7 +791,83 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlPreconditionTesting", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "73ae5de517a8761e5e40fb4136c6a26365af0440", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cocoapods/CwlCatchException@~%3E%202.1.1", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/CwlMachBadInstructionHandler@~%3E%202.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/CwlPosixPreconditionTesting@~%3E%202.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/CwlPreconditionTesting@2.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -574,7 +882,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": "SwiftFormat", + "name": "CLI", + "version": "0.44.17", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/SwiftFormat/CLI@0.44.17?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -589,7 +939,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "SwiftLint", + "version": "0.46.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "6bc52a21f0fd44cab9aa2dc8e534fb9f5e3ec507", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/SwiftLint@0.46.2?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/CoreMLPredictionsPlugin@%24AMPLIFY_VERSION?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -1493,7 +1887,10 @@ "file_references": [], "is_private": false, "is_virtual": false, - "extra_data": {}, + "extra_data": { + "cocoapods": "1.11.3", + "podfile_checksum": "5e20e56b8ef40444b018a3736b7b726ff9772f00" + }, "dependencies": [ { "purl": "pkg:cocoapods/AWSCore@2.27.0", @@ -1503,7 +1900,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "AWSCore", + "version": "2.27.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "d605449939e5b40704f11ff9f91f905f7d978589", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1513,8 +1954,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlCatchException", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "86760545af2a490a23e964d76d7c77442dbce79b", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/CwlCatchExceptionSupport@~%3E%202.1.1", + "extracted_requirement": "2.1.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1524,8 +2021,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlCatchExceptionSupport", + "version": "2.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a004322095d7101b945442c86adc7cec0650f676", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1535,8 +2076,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlMachBadInstructionHandler", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "aa1fe9f2d08b29507c150d099434b2890247e7f8", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1546,8 +2131,52 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlPosixPreconditionTesting", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "1ba4471964405941f79b3f06bbcf3c2be782950c", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1558,7 +2187,83 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "CwlPreconditionTesting", + "version": "2.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "73ae5de517a8761e5e40fb4136c6a26365af0440", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cocoapods/CwlCatchException@~%3E%202.1.1", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/CwlMachBadInstructionHandler@~%3E%202.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/CwlPosixPreconditionTesting@~%3E%202.1.0", + "extracted_requirement": "2.1.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1569,7 +2274,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": "SwiftFormat", + "name": "CLI", + "version": "0.44.17", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -1580,7 +2327,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "SwiftLint", + "version": "0.46.2", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "6bc52a21f0fd44cab9aa2dc8e534fb9f5e3ec507", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} } ], diff --git a/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json index 2e4b3c08d60..2c936fa07e6 100644 --- a/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json @@ -168,7 +168,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "boost", + "version": "1.76.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a7c83b31436843459a1961bfd74b96033dc77234", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/boost@1.76.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -183,7 +225,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "Yoga", + "version": "1.14.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/Yoga@1.14.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -197,8 +281,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "YogaKit", + "version": "1.18.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "f782866e155069a2cca2517aafea43200b01fd5a", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/Yoga@~%3E%201.14", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/YogaKit@1.18.1?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -393,7 +533,10 @@ "file_references": [], "is_private": false, "is_virtual": false, - "extra_data": {}, + "extra_data": { + "cocoapods": "1.11.2", + "podfile_checksum": "54cfb5be72a5a243eacfea1f4dd52754968dbdac" + }, "dependencies": [ { "purl": "pkg:cocoapods/boost@1.76.0", @@ -403,7 +546,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "boost", + "version": "1.76.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a7c83b31436843459a1961bfd74b96033dc77234", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -414,7 +599,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "Yoga", + "version": "1.14.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -424,8 +651,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "YogaKit", + "version": "1.18.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "f782866e155069a2cca2517aafea43200b01fd5a", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/Yoga@~%3E%201.14", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} } ], diff --git a/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json b/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json index a380431565e..de95cd48c6d 100644 --- a/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json @@ -89,7 +89,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "boost", + "version": "1.76.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a7c83b31436843459a1961bfd74b96033dc77234", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/boost@1.76.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -104,7 +146,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "Yoga", + "version": "1.14.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/Yoga@1.14.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -118,8 +202,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "YogaKit", + "version": "1.18.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "f782866e155069a2cca2517aafea43200b01fd5a", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/Yoga@~%3E%201.14", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/YogaKit@1.18.1?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:cocoapods/RxDataSources@4.0.1?uuid=fixed-uid-done-for-testing-5642512d1758", @@ -229,7 +369,10 @@ "file_references": [], "is_private": false, "is_virtual": false, - "extra_data": {}, + "extra_data": { + "cocoapods": "1.11.2", + "podfile_checksum": "54cfb5be72a5a243eacfea1f4dd52754968dbdac" + }, "dependencies": [ { "purl": "pkg:cocoapods/boost@1.76.0", @@ -239,7 +382,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "boost", + "version": "1.76.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a7c83b31436843459a1961bfd74b96033dc77234", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -250,7 +435,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "Yoga", + "version": "1.14.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -260,8 +487,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "YogaKit", + "version": "1.18.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "f782866e155069a2cca2517aafea43200b01fd5a", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/Yoga@~%3E%201.14", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} } ], diff --git a/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock-expected.json b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock-expected.json index 2d1933db0c8..1ea7f75ca60 100644 --- a/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/solo/Podfile.lock-expected.json @@ -9,7 +9,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "boost", + "version": "1.76.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a7c83b31436843459a1961bfd74b96033dc77234", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/boost@1.76.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": null, @@ -24,7 +66,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "Yoga", + "version": "1.14.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/Yoga@1.14.0?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": null, @@ -38,8 +122,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "YogaKit", + "version": "1.18.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "f782866e155069a2cca2517aafea43200b01fd5a", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/Yoga@~%3E%201.14", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {}, "dependency_uid": "pkg:cocoapods/YogaKit@1.18.1?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": null, @@ -88,7 +228,10 @@ "file_references": [], "is_private": false, "is_virtual": false, - "extra_data": {}, + "extra_data": { + "cocoapods": "1.11.2", + "podfile_checksum": "54cfb5be72a5a243eacfea1f4dd52754968dbdac" + }, "dependencies": [ { "purl": "pkg:cocoapods/boost@1.76.0", @@ -98,7 +241,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "boost", + "version": "1.76.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a7c83b31436843459a1961bfd74b96033dc77234", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -109,7 +294,49 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "Yoga", + "version": "1.14.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -119,8 +346,64 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "YogaKit", + "version": "1.18.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "f782866e155069a2cca2517aafea43200b01fd5a", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/Yoga@~%3E%201.14", + "extracted_requirement": "1.18.1", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} } ], diff --git a/tests/packagedcode/data/cocoapods/podfile.lock/braintree_ios_Podfile.lock.expected.json b/tests/packagedcode/data/cocoapods/podfile.lock/braintree_ios_Podfile.lock.expected.json index c47f68e24b8..b2205b990bd 100644 --- a/tests/packagedcode/data/cocoapods/podfile.lock/braintree_ios_Podfile.lock.expected.json +++ b/tests/packagedcode/data/cocoapods/podfile.lock/braintree_ios_Podfile.lock.expected.json @@ -35,7 +35,10 @@ "file_references": [], "is_private": false, "is_virtual": false, - "extra_data": {}, + "extra_data": { + "cocoapods": "1.10.1", + "podfile_checksum": "75163f16229528991a9364c7c1a44cd57a30cac6" + }, "dependencies": [ { "purl": "pkg:cocoapods/Expecta@1.0.6", @@ -45,7 +48,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "Expecta", + "version": "1.0.6", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -56,7 +103,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "InAppSettingsKit", + "version": "3.1.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "01fb9774c74a11fefc521f29cb2338909e1c2b61", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -67,7 +158,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "OCMock", + "version": "3.7.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "75fbeaa46a9b11f8c182bbb1d1f7e9a35ccc9955", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -78,7 +213,63 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "OHHTTPStubs", + "version": "9.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "cb29d2a9d09a828ecb93349a2b0c64f99e0db89f", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [ + { + "purl": "pkg:cocoapods/OHHTTPStubs/Default@9.0.0", + "extracted_requirement": "9.0.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -88,8 +279,50 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": "OHHTTPStubs", + "name": "Core", + "version": "9.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -99,8 +332,95 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": "OHHTTPStubs", + "name": "Default", + "version": "9.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cocoapods/OHHTTPStubs/Core@9.0.0", + "extracted_requirement": "9.0.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/OHHTTPStubs/JSON@9.0.0", + "extracted_requirement": "9.0.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/OHHTTPStubs/NSURLSession@9.0.0", + "extracted_requirement": "9.0.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cocoapods/OHHTTPStubs/OHPathHelpers@9.0.0", + "extracted_requirement": "9.0.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -110,8 +430,62 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": "OHHTTPStubs", + "name": "JSON", + "version": "9.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cocoapods/OHHTTPStubs/Core@9.0.0", + "extracted_requirement": "9.0.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -121,8 +495,62 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": "OHHTTPStubs", + "name": "NSURLSession", + "version": "9.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cocoapods/OHHTTPStubs/Core@9.0.0", + "extracted_requirement": "9.0.0", + "scope": "requires", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "is_direct": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -132,8 +560,50 @@ "is_runtime": false, "is_optional": true, "is_resolved": true, - "is_direct": true, - "resolved_package": {}, + "is_direct": false, + "resolved_package": { + "type": "cocoapods", + "namespace": "OHHTTPStubs", + "name": "OHPathHelpers", + "version": "9.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -144,7 +614,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "Specta", + "version": "1.0.7", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "3e1bd89c3517421982dc4d1c992503e48bd5fe66", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} }, { @@ -155,7 +669,51 @@ "is_optional": true, "is_resolved": true, "is_direct": true, - "resolved_package": {}, + "resolved_package": { + "type": "cocoapods", + "namespace": null, + "name": "xcbeautify", + "version": "0.8.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": "a3b03e4a38eb1a5766a83a7a3c53915a233572e3", + "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": [], + "is_private": false, + "is_virtual": true, + "extra_data": { + "spec_repo": "trunk" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cocoapods_podfile_lock" + }, "extra_data": {} } ],