diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 39fb7e8a3e..e11ca9714b 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -34,14 +34,23 @@ v33.0.0 (next next, roadmap) of these in other summary plugins. See https://github.com/nexB/scancode-toolkit/issues/1745 +- Improve cargo package detection support with various improvements + and bugfixes: + - Fix for parser crashing on cargo workspaces + - Fix a bug in dependency parsing (we were not returning any dependencies) + - Also support getting dependency versions from workspace + - Support more attributes from cargo + - Better handle workspace data thorugh extra_data attribute + See https://github.com/nexB/scancode-toolkit/pull/3783 + - We now support parsing the Swift manifest JSON dump and the ``Package.resolved`` file https://github.com/nexB/scancode-toolkit/issues/2657. -- Run the commands below on your local Swift project before running the scan. - - :: + - Run the commands below on your local Swift project before running the scan. + - :: - swift package dump-package > Package.swift.json - - :: + swift package dump-package > Package.swift.json + - :: - swift package resolve + swift package resolve v32.1.0 (next, roadmap) ---------------------------- diff --git a/src/packagedcode/cargo.py b/src/packagedcode/cargo.py index 9113a9040b..198ef1c744 100644 --- a/src/packagedcode/cargo.py +++ b/src/packagedcode/cargo.py @@ -7,10 +7,11 @@ # See https://aboutcode.org for more information about nexB OSS projects. # +import logging import os import re +import sys -import saneyaml import toml from packageurl import PackageURL @@ -20,6 +21,22 @@ Handle Rust cargo crates """ +TRACE = os.environ.get('SCANCODE_DEBUG_PACKAGE_CARGO', False) + + +def logger_debug(*args): + pass + + +logger = logging.getLogger(__name__) + +if TRACE: + logging.basicConfig(stream=sys.stdout) + logger.setLevel(logging.DEBUG) + + def logger_debug(*args): + return logger.debug(' '.join(isinstance(a, str) and a or repr(a) for a in args)) + class CargoBaseHandler(models.DatafileHandler): @classmethod @@ -29,7 +46,7 @@ def assemble(cls, package_data, resource, codebase, package_adder): support cargo workspaces where we have multiple packages from a repository and some shared information present at top-level. """ - workspace = package_data.extra_data.get("workspace", {}) + workspace = package_data.extra_data.get('workspace', {}) workspace_members = workspace.get("members", []) workspace_package_data = workspace.get("package", {}) attributes_to_copy = [ @@ -39,10 +56,13 @@ def assemble(cls, package_data, resource, codebase, package_adder): ] if "license" in workspace_package_data: for attribute in attributes_to_copy: + package_data.extra_data[attribute] = 'workspace' workspace_package_data[attribute] = getattr(package_data, attribute) workspace_root_path = resource.parent(codebase).path if workspace_package_data and workspace_members: + + # TODO: support glob patterns found in cargo workspaces for workspace_member_path in workspace_members: workspace_directory_path = os.path.join(workspace_root_path, workspace_member_path) workspace_directory = codebase.get_resource(path=workspace_directory_path) @@ -56,9 +76,13 @@ def assemble(cls, package_data, resource, codebase, package_adder): if not resource.package_data: continue + if TRACE: + logger_debug(f"Resource manifest to update: {resource.path}") + updated_package_data = cls.update_resource_package_data( - package_data=workspace_package_data, - old_package_data=resource.package_data.pop(), + workspace=workspace, + workspace_package_data=workspace_package_data, + resource_package_data=resource.package_data.pop(), mapping=CARGO_ATTRIBUTE_MAPPING, ) resource.package_data.append(updated_package_data) @@ -79,20 +103,61 @@ def assemble(cls, package_data, resource, codebase, package_adder): ) @classmethod - def update_resource_package_data(cls, package_data, old_package_data, mapping=None): + def update_resource_package_data(cls, workspace, workspace_package_data, resource_package_data, mapping=None): - for attribute in old_package_data.keys(): + extra_data = resource_package_data["extra_data"] + for attribute in resource_package_data.keys(): if attribute in mapping: replace_by_attribute = mapping.get(attribute) - old_package_data[attribute] = package_data.get(replace_by_attribute) + if not replace_by_attribute in extra_data: + continue + + extra_data.pop(replace_by_attribute) + replace_by_value = workspace_package_data.get(replace_by_attribute) + if replace_by_value: + resource_package_data[attribute] = replace_by_value elif attribute == "parties": - old_package_data[attribute] = list(get_parties( - person_names=package_data.get("authors"), + resource_package_data[attribute] = list(get_parties( + person_names=workspace_package_data.get("authors", []), party_role='author', )) - - return old_package_data - + if "authors" in extra_data: + extra_data.pop("authors") + + extra_data_copy = extra_data.copy() + for key, value in extra_data_copy.items(): + if value == 'workspace': + extra_data.pop(key) + + if key in workspace_package_data: + workspace_value = workspace_package_data.get(key) + if workspace_value and key in mapping: + replace_by_attribute = mapping.get(key) + extra_data[replace_by_attribute] = workspace_value + + # refresh purl if version updated from workspace + if "version" in workspace_package_data: + resource_package_data["purl"] = PackageURL( + type=cls.default_package_type, + name=resource_package_data["name"], + namespace=resource_package_data["namespace"], + version=resource_package_data["version"], + ).to_string() + + workspace_dependencies = dependency_mapper(dependencies=workspace.get('dependencies', {})) + deps_by_purl = {} + for dependency in workspace_dependencies: + deps_by_purl[dependency.purl] = dependency + + for dep_mapping in resource_package_data['dependencies']: + workspace_dependency = deps_by_purl.get(dep_mapping['purl'], None) + if workspace_dependency and workspace_dependency.extracted_requirement: + dep_mapping['extracted_requirement'] = workspace_dependency.extracted_requirement + + if 'workspace' in dep_mapping["extra_data"]: + dep_mapping['extra_data'].pop('workspace') + + return resource_package_data class CargoTomlHandler(CargoBaseHandler): @@ -105,16 +170,21 @@ class CargoTomlHandler(CargoBaseHandler): @classmethod def parse(cls, location, package_only=False): - package_data = toml.load(location, _dict=dict) - core_package_data = package_data.get('package', {}) - workspace = package_data.get('workspace', {}) + package_data_toml = toml.load(location, _dict=dict) + workspace = package_data_toml.get('workspace', {}) + core_package_data = package_data_toml.get('package', {}) extra_data = {} + if workspace: + extra_data['workspace'] = workspace + + package_data = core_package_data.copy() + for key, value in package_data.items(): + if isinstance(value, dict) and 'workspace' in value: + core_package_data.pop(key) + extra_data[key] = 'workspace' name = core_package_data.get('name') version = core_package_data.get('version') - if isinstance(version, dict) and "workspace" in version: - version = None - extra_data["version"] = "workspace" description = core_package_data.get('description') or '' description = description.strip() @@ -132,22 +202,28 @@ def parse(cls, location, package_only=False): # cargo dependencies are complex and can be overriden at multiple levels dependencies = [] - for key, value in core_package_data.items(): + for key, value in package_data_toml.items(): if key.endswith('dependencies'): dependencies.extend(dependency_mapper(dependencies=value, scope=key)) # TODO: add file refs: # - readme, include and exclude - # TODO: other URLs - # - documentation vcs_url = core_package_data.get('repository') homepage_url = core_package_data.get('homepage') repository_homepage_url = name and f'https://crates.io/crates/{name}' repository_download_url = name and version and f'https://crates.io/api/v1/crates/{name}/{version}/download' api_data_url = name and f'https://crates.io/api/v1/crates/{name}' - if workspace: - extra_data["workspace"] = workspace + + extra_data_mappings = { + "documentation": "documentation_url", + "rust-version": "rust_version", + "edition": "rust_edition", + } + for cargo_attribute, extra_attribute in extra_data_mappings.items(): + value = core_package_data.get(cargo_attribute) + if value: + extra_data[extra_attribute] = value package_data = dict( datasource_id=cls.datasource_id, @@ -156,6 +232,7 @@ def parse(cls, location, package_only=False): version=version, primary_language=cls.default_primary_language, description=description, + keywords=keywords, parties=parties, extracted_license_statement=extracted_license_statement, vcs_url=vcs_url, @@ -171,6 +248,7 @@ def parse(cls, location, package_only=False): CARGO_ATTRIBUTE_MAPPING = { # Fields in PackageData model: Fields in cargo + "version": "version", "homepage_url": "homepage", "vcs_url": "repository", "keywords": "categories", @@ -179,6 +257,9 @@ def parse(cls, location, package_only=False): "license_detections": "license_detections", "declared_license_expression": "declared_license_expression", "declared_license_expression_spdx": "declared_license_expression_spdx", + # extra data fields (reverse mapping) + "edition": "rust_edition", + "rust-version": "rust_version", } @@ -237,25 +318,36 @@ def dependency_mapper(dependencies, scope='dependencies'): """ is_runtime = not scope.endswith(('dev-dependencies', 'build-dependencies')) for name, requirement in dependencies.items(): + extra_data = {} + extracted_requirement = None if isinstance(requirement, str): # plain version requirement is_optional = False + extracted_requirement = requirement + elif isinstance(requirement, dict): - # complex requirement, with more than version are harder to handle - # so we just dump + # complex requirement, we extract version if available + # everything else is just dumped in extra data + # here {workspace = true} means dependency version + # should be inherited is_optional = requirement.pop('optional', False) - requirement = saneyaml.dump(requirement) + if 'version' in requirement: + extracted_requirement = requirement.get('version') + + if requirement: + extra_data = requirement yield models.DependentPackage( purl=PackageURL( type='cargo', name=name, ).to_string(), - extracted_requirement=requirement, + extracted_requirement=extracted_requirement, scope=scope, is_runtime=is_runtime, is_optional=is_optional, is_resolved=False, + extra_data=extra_data, ) diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace.expected.json b/tests/packagedcode/data/cargo/cargo-with-workspace.expected.json deleted file mode 100644 index cdf4644256..0000000000 --- a/tests/packagedcode/data/cargo/cargo-with-workspace.expected.json +++ /dev/null @@ -1,1969 +0,0 @@ -{ - "packages": [ - { - "type": "cargo", - "namespace": null, - "name": "tauri", - "version": "2.0.0-alpha.17", - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": "Make tiny, secure apps for all desktop platforms with Tauri", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [ - "gui", - "web-programming" - ], - "homepage_url": "https://tauri.app/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "https://github.com/tauri-apps/tauri", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/core/tauri/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "Apache-2.0 OR MIT", - "notice_text": null, - "source_packages": [], - "extra_data": {}, - "repository_homepage_url": "https://crates.io/crates/tauri", - "repository_download_url": "https://crates.io/api/v1/crates/tauri/2.0.0-alpha.17/download", - "api_data_url": "https://crates.io/api/v1/crates/tauri", - "package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_paths": [ - "cargo-with-workspace/core/tauri/Cargo.toml" - ], - "datasource_ids": [ - "cargo_toml" - ], - "purl": "pkg:cargo/tauri@2.0.0-alpha.17" - }, - { - "type": "cargo", - "namespace": null, - "name": "tauri-runtime", - "version": "1.0.0-alpha.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": "Runtime for Tauri applications", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [ - "gui", - "web-programming" - ], - "homepage_url": "https://tauri.app/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "https://github.com/tauri-apps/tauri", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/core/tauri-runtime/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "Apache-2.0 OR MIT", - "notice_text": null, - "source_packages": [], - "extra_data": {}, - "repository_homepage_url": "https://crates.io/crates/tauri-runtime", - "repository_download_url": "https://crates.io/api/v1/crates/tauri-runtime/1.0.0-alpha.4/download", - "api_data_url": "https://crates.io/api/v1/crates/tauri-runtime", - "package_uid": "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_paths": [ - "cargo-with-workspace/core/tauri-runtime/Cargo.toml" - ], - "datasource_ids": [ - "cargo_toml" - ], - "purl": "pkg:cargo/tauri-runtime@1.0.0-alpha.4" - }, - { - "type": "cargo", - "namespace": null, - "name": "tauri-build", - "version": "2.0.0-alpha.11", - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": "build time code to pair with https://crates.io/crates/tauri", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [ - "gui", - "web-programming" - ], - "homepage_url": "https://tauri.app/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "https://github.com/tauri-apps/tauri", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/core/tauri-build/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "Apache-2.0 OR MIT", - "notice_text": null, - "source_packages": [], - "extra_data": {}, - "repository_homepage_url": "https://crates.io/crates/tauri-build", - "repository_download_url": "https://crates.io/api/v1/crates/tauri-build/2.0.0-alpha.11/download", - "api_data_url": "https://crates.io/api/v1/crates/tauri-build", - "package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_paths": [ - "cargo-with-workspace/core/tauri-build/Cargo.toml" - ], - "datasource_ids": [ - "cargo_toml" - ], - "purl": "pkg:cargo/tauri-build@2.0.0-alpha.11" - }, - { - "type": "cargo", - "namespace": null, - "name": "restart", - "version": "0.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": null, - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [ - "gui", - "web-programming" - ], - "homepage_url": "https://tauri.app/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "https://github.com/tauri-apps/tauri", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/core/tests/restart/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "Apache-2.0 OR MIT", - "notice_text": null, - "source_packages": [], - "extra_data": {}, - "repository_homepage_url": "https://crates.io/crates/restart", - "repository_download_url": "https://crates.io/api/v1/crates/restart/0.1.0/download", - "api_data_url": "https://crates.io/api/v1/crates/restart", - "package_uid": "pkg:cargo/restart@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_paths": [ - "cargo-with-workspace/core/tests/restart/Cargo.toml" - ], - "datasource_ids": [ - "cargo_toml" - ], - "purl": "pkg:cargo/restart@0.1.0" - }, - { - "type": "npm", - "namespace": null, - "name": "tauri-workspace", - "version": "0.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [ - { - "type": "person", - "role": "contributor", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/tauri-workspace/-/tauri-workspace-0.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "git+https://github.com/tauri-apps/tauri.git", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/package.json", - "start_line": 1, - "end_line": 1, - "matcher": "1-hash", - "score": 100.0, - "matched_length": 5, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_36.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", - "matched_text": "Apache-2.0 OR MIT" - } - ], - "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "- Apache-2.0 OR MIT\n", - "notice_text": null, - "source_packages": [], - "extra_data": {}, - "repository_homepage_url": "https://www.npmjs.com/package/tauri-workspace", - "repository_download_url": "https://registry.npmjs.org/tauri-workspace/-/tauri-workspace-0.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/tauri-workspace/0.0.0", - "package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_paths": [ - "cargo-with-workspace/package.json" - ], - "datasource_ids": [ - "npm_package_json" - ], - "purl": "pkg:npm/tauri-workspace@0.0.0" - } - ], - "dependencies": [ - { - "purl": "pkg:npm/typescript", - "extracted_requirement": "^4.5.4", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {}, - "dependency_uid": "pkg:npm/typescript?uuid=fixed-uid-done-for-testing-5642512d1758", - "for_package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "cargo-with-workspace/package.json", - "datasource_id": "npm_package_json" - }, - { - "purl": "pkg:npm/covector", - "extracted_requirement": "^0.9.0", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {}, - "dependency_uid": "pkg:npm/covector?uuid=fixed-uid-done-for-testing-5642512d1758", - "for_package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "cargo-with-workspace/package.json", - "datasource_id": "npm_package_json" - }, - { - "purl": "pkg:npm/husky", - "extracted_requirement": "^6.0.0", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {}, - "dependency_uid": "pkg:npm/husky?uuid=fixed-uid-done-for-testing-5642512d1758", - "for_package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "cargo-with-workspace/package.json", - "datasource_id": "npm_package_json" - }, - { - "purl": "pkg:npm/prettier", - "extracted_requirement": "^2.5.1", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {}, - "dependency_uid": "pkg:npm/prettier?uuid=fixed-uid-done-for-testing-5642512d1758", - "for_package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "cargo-with-workspace/package.json", - "datasource_id": "npm_package_json" - } - ], - "license_detections": [ - { - "identifier": "mit_or__mit_or_apache_2_0___and_cc_by_nc_nd_4_0-59169298-1b74-1a33-b363-79a8d5b62d2d", - "license_expression": "(mit OR (mit OR apache-2.0)) AND cc-by-nc-nd-4.0", - "license_expression_spdx": "(MIT OR (MIT OR Apache-2.0)) AND CC-BY-NC-ND-4.0", - "detection_count": 1, - "reference_matches": [ - { - "license_expression": "mit OR (mit OR apache-2.0)", - "license_expression_spdx": "MIT OR (MIT OR Apache-2.0)", - "from_file": "cargo-with-workspace/README.md", - "start_line": 19, - "end_line": 19, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 8, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "mit_or_mit_or_apache-2.0_1.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_mit_or_apache-2.0_1.RULE" - }, - { - "license_expression": "cc-by-nc-nd-4.0", - "license_expression_spdx": "CC-BY-NC-ND-4.0", - "from_file": "cargo-with-workspace/README.md", - "start_line": 21, - "end_line": 21, - "matcher": "2-aho", - "score": 95.0, - "matched_length": 5, - "match_coverage": 100.0, - "rule_relevance": 95, - "rule_identifier": "cc-by-nc-nd-4.0_64.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-nc-nd-4.0_64.RULE" - } - ] - }, - { - "identifier": "apache_2_0-62ae3761-33a2-9012-c9ab-0dd8e74dae85", - "license_expression": "apache-2.0", - "license_expression_spdx": "Apache-2.0", - "detection_count": 1, - "reference_matches": [ - { - "license_expression": "apache-2.0", - "license_expression_spdx": "Apache-2.0", - "from_file": "cargo-with-workspace/LICENSE_APACHE-2.0", - "start_line": 1, - "end_line": 1, - "matcher": "1-hash", - "score": 75.0, - "matched_length": 4, - "match_coverage": 100.0, - "rule_relevance": 75, - "rule_identifier": "apache-2.0_3.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_3.RULE" - } - ] - }, - { - "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", - "license_expression": "apache-2.0", - "license_expression_spdx": "Apache-2.0", - "detection_count": 1, - "reference_matches": [ - { - "license_expression": "apache-2.0", - "license_expression_spdx": "Apache-2.0", - "from_file": "cargo-with-workspace/LICENSE.spdx", - "start_line": 7, - "end_line": 7, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 3, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" - } - ] - }, - { - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9", - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "detection_count": 9, - "reference_matches": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ] - }, - { - "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef", - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "detection_count": 2, - "reference_matches": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/package.json", - "start_line": 1, - "end_line": 1, - "matcher": "1-hash", - "score": 100.0, - "matched_length": 5, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_36.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" - } - ] - }, - { - "identifier": "cc0_1_0-54f26353-a976-a403-90e0-c468b1a57236", - "license_expression": "cc0-1.0", - "license_expression_spdx": "CC0-1.0", - "detection_count": 1, - "reference_matches": [ - { - "license_expression": "cc0-1.0", - "license_expression_spdx": "CC0-1.0", - "from_file": "cargo-with-workspace/LICENSE.spdx", - "start_line": 2, - "end_line": 2, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 4, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "cc0-1.0_208.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_208.RULE" - } - ] - }, - { - "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929", - "license_expression": "mit", - "license_expression_spdx": "MIT", - "detection_count": 1, - "reference_matches": [ - { - "license_expression": "mit", - "license_expression_spdx": "MIT", - "from_file": "cargo-with-workspace/LICENSE_MIT", - "start_line": 1, - "end_line": 1, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 2, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "mit_14.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE" - } - ] - } - ], - "files": [ - { - "path": "cargo-with-workspace", - "type": "directory", - "package_data": [], - "for_packages": [], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/Cargo.toml", - "type": "file", - "package_data": [ - { - "type": "cargo", - "namespace": null, - "name": null, - "version": null, - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": "", - "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": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": null, - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": { - "workspace": { - "resolver": "2", - "members": [ - "core/tauri", - "core/tauri-runtime", - "core/tauri-build", - "core/tests/restart" - ], - "package": { - "authors": [ - "Tauri Programme within The Commons Conservancy" - ], - "homepage": "https://tauri.app/", - "repository": "https://github.com/tauri-apps/tauri", - "categories": [ - "gui", - "web-programming" - ], - "license": "Apache-2.0 OR MIT", - "edition": "2021", - "rust-version": "1.70", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT" - } - } - }, - "dependencies": [], - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "datasource_id": "cargo_toml", - "purl": null - } - ], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": "apache-2.0 OR mit", - "detected_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "license_clues": [], - "percentage_of_license_text": 8.0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/LICENSE.spdx", - "type": "file", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": "cc0-1.0 AND apache-2.0", - "detected_license_expression_spdx": "CC0-1.0 AND Apache-2.0", - "license_detections": [ - { - "license_expression": "cc0-1.0", - "license_expression_spdx": "CC0-1.0", - "matches": [ - { - "license_expression": "cc0-1.0", - "spdx_license_expression": "CC0-1.0", - "from_file": "cargo-with-workspace/LICENSE.spdx", - "start_line": 2, - "end_line": 2, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 4, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "cc0-1.0_208.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_208.RULE" - } - ], - "identifier": "cc0_1_0-54f26353-a976-a403-90e0-c468b1a57236" - }, - { - "license_expression": "apache-2.0", - "license_expression_spdx": "Apache-2.0", - "matches": [ - { - "license_expression": "apache-2.0", - "spdx_license_expression": "Apache-2.0", - "from_file": "cargo-with-workspace/LICENSE.spdx", - "start_line": 7, - "end_line": 7, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 3, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" - } - ], - "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8" - } - ], - "license_clues": [], - "percentage_of_license_text": 6.48, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/LICENSE_APACHE-2.0", - "type": "file", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": "apache-2.0", - "detected_license_expression_spdx": "Apache-2.0", - "license_detections": [ - { - "license_expression": "apache-2.0", - "license_expression_spdx": "Apache-2.0", - "matches": [ - { - "license_expression": "apache-2.0", - "spdx_license_expression": "Apache-2.0", - "from_file": "cargo-with-workspace/LICENSE_APACHE-2.0", - "start_line": 1, - "end_line": 1, - "matcher": "1-hash", - "score": 75.0, - "matched_length": 4, - "match_coverage": 100.0, - "rule_relevance": 75, - "rule_identifier": "apache-2.0_3.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_3.RULE" - } - ], - "identifier": "apache_2_0-62ae3761-33a2-9012-c9ab-0dd8e74dae85" - } - ], - "license_clues": [], - "percentage_of_license_text": 100.0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/LICENSE_MIT", - "type": "file", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": "mit", - "detected_license_expression_spdx": "MIT", - "license_detections": [ - { - "license_expression": "mit", - "license_expression_spdx": "MIT", - "matches": [ - { - "license_expression": "mit", - "spdx_license_expression": "MIT", - "from_file": "cargo-with-workspace/LICENSE_MIT", - "start_line": 1, - "end_line": 1, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 2, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "mit_14.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE" - } - ], - "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929" - } - ], - "license_clues": [], - "percentage_of_license_text": 22.22, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/README.md", - "type": "file", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": "(mit OR (mit OR apache-2.0)) AND cc-by-nc-nd-4.0", - "detected_license_expression_spdx": "(MIT OR (MIT OR Apache-2.0)) AND CC-BY-NC-ND-4.0", - "license_detections": [ - { - "license_expression": "(mit OR (mit OR apache-2.0)) AND cc-by-nc-nd-4.0", - "license_expression_spdx": "(MIT OR (MIT OR Apache-2.0)) AND CC-BY-NC-ND-4.0", - "matches": [ - { - "license_expression": "mit OR (mit OR apache-2.0)", - "spdx_license_expression": "MIT OR (MIT OR Apache-2.0)", - "from_file": "cargo-with-workspace/README.md", - "start_line": 19, - "end_line": 19, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 8, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "mit_or_mit_or_apache-2.0_1.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_mit_or_apache-2.0_1.RULE" - }, - { - "license_expression": "cc-by-nc-nd-4.0", - "spdx_license_expression": "CC-BY-NC-ND-4.0", - "from_file": "cargo-with-workspace/README.md", - "start_line": 21, - "end_line": 21, - "matcher": "2-aho", - "score": 95.0, - "matched_length": 5, - "match_coverage": 100.0, - "rule_relevance": 95, - "rule_identifier": "cc-by-nc-nd-4.0_64.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-nc-nd-4.0_64.RULE" - } - ], - "identifier": "mit_or__mit_or_apache_2_0___and_cc_by_nc_nd_4_0-59169298-1b74-1a33-b363-79a8d5b62d2d" - } - ], - "license_clues": [], - "percentage_of_license_text": 7.34, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core", - "type": "directory", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core/tauri", - "type": "directory", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core/tauri-build", - "type": "directory", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core/tauri-build/Cargo.toml", - "type": "file", - "package_data": [ - { - "type": "cargo", - "namespace": null, - "name": "tauri-build", - "version": "2.0.0-alpha.11", - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": "build time code to pair with https://crates.io/crates/tauri", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [ - "gui", - "web-programming" - ], - "homepage_url": "https://tauri.app/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "https://github.com/tauri-apps/tauri", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "Apache-2.0 OR MIT", - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [], - "repository_homepage_url": "https://crates.io/crates/tauri-build", - "repository_download_url": "https://crates.io/api/v1/crates/tauri-build/2.0.0-alpha.11/download", - "api_data_url": "https://crates.io/api/v1/crates/tauri-build", - "datasource_id": "cargo_toml", - "purl": "pkg:cargo/tauri-build@2.0.0-alpha.11" - } - ], - "for_packages": [ - "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core/tauri-runtime", - "type": "directory", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core/tauri-runtime/Cargo.toml", - "type": "file", - "package_data": [ - { - "type": "cargo", - "namespace": null, - "name": "tauri-runtime", - "version": "1.0.0-alpha.4", - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": "Runtime for Tauri applications", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [ - "gui", - "web-programming" - ], - "homepage_url": "https://tauri.app/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "https://github.com/tauri-apps/tauri", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "Apache-2.0 OR MIT", - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [], - "repository_homepage_url": "https://crates.io/crates/tauri-runtime", - "repository_download_url": "https://crates.io/api/v1/crates/tauri-runtime/1.0.0-alpha.4/download", - "api_data_url": "https://crates.io/api/v1/crates/tauri-runtime", - "datasource_id": "cargo_toml", - "purl": "pkg:cargo/tauri-runtime@1.0.0-alpha.4" - } - ], - "for_packages": [ - "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core/tauri/Cargo.toml", - "type": "file", - "package_data": [ - { - "type": "cargo", - "namespace": null, - "name": "tauri", - "version": "2.0.0-alpha.17", - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": "Make tiny, secure apps for all desktop platforms with Tauri", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [ - "gui", - "web-programming" - ], - "homepage_url": "https://tauri.app/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "https://github.com/tauri-apps/tauri", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "Apache-2.0 OR MIT", - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [], - "repository_homepage_url": "https://crates.io/crates/tauri", - "repository_download_url": "https://crates.io/api/v1/crates/tauri/2.0.0-alpha.17/download", - "api_data_url": "https://crates.io/api/v1/crates/tauri", - "datasource_id": "cargo_toml", - "purl": "pkg:cargo/tauri@2.0.0-alpha.17" - } - ], - "for_packages": [ - "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core/tests", - "type": "directory", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core/tests/restart", - "type": "directory", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/core/tests/restart/Cargo.toml", - "type": "file", - "package_data": [ - { - "type": "cargo", - "namespace": null, - "name": "restart", - "version": "0.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": "", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [ - "gui", - "web-programming" - ], - "homepage_url": "https://tauri.app/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "https://github.com/tauri-apps/tauri", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/Cargo.toml", - "start_line": 17, - "end_line": 17, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "Apache-2.0 OR MIT", - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [], - "repository_homepage_url": "https://crates.io/crates/restart", - "repository_download_url": "https://crates.io/api/v1/crates/restart/0.1.0/download", - "api_data_url": "https://crates.io/api/v1/crates/restart", - "datasource_id": "cargo_toml", - "purl": "pkg:cargo/restart@0.1.0" - } - ], - "for_packages": [ - "pkg:cargo/restart@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": "apache-2.0 OR mit", - "detected_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/core/tests/restart/Cargo.toml", - "start_line": 5, - "end_line": 5, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "license_clues": [], - "percentage_of_license_text": 20.0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/examples", - "type": "directory", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/examples/api", - "type": "directory", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/examples/api/package.json", - "type": "file", - "package_data": [ - { - "type": "npm", - "namespace": null, - "name": "api", - "version": "1.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/api/-/api-1.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "holder": null, - "declared_license_expression": null, - "declared_license_expression_spdx": null, - "license_detections": [], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": null, - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/%40tauri-apps/api", - "extracted_requirement": "../../tooling/api/dist", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/%40zerodevx/svelte-json-view", - "extracted_requirement": "0.2.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/%40iconify-json/codicon", - "extracted_requirement": "^1.1.10", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/%40iconify-json/ph", - "extracted_requirement": "^1.1.1", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/internal-ip", - "extracted_requirement": "^7.0.0", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/unocss", - "extracted_requirement": "^0.39.3", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/%40sveltejs/vite-plugin-svelte", - "extracted_requirement": "^2.4.6", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/svelte", - "extracted_requirement": "^4.2.1", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/vite", - "extracted_requirement": "^4.4.9", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - } - ], - "repository_homepage_url": "https://www.npmjs.com/package/api", - "repository_download_url": "https://registry.npmjs.org/api/-/api-1.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/api/1.0.0", - "datasource_id": "npm_package_json", - "purl": "pkg:npm/api@1.0.0" - } - ], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/examples/api/src-tauri", - "type": "directory", - "package_data": [], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/examples/api/src-tauri/Cargo.lock", - "type": "file", - "package_data": [ - { - "type": "cargo", - "namespace": null, - "name": null, - "version": null, - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "holder": null, - "declared_license_expression": null, - "declared_license_expression_spdx": null, - "license_detections": [], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": null, - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:cargo/addr2line@0.21.0", - "extracted_requirement": "0.21.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:cargo/adler@1.0.2", - "extracted_requirement": "1.0.2", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:cargo/aead@0.5.2", - "extracted_requirement": "0.5.2", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": true, - "resolved_package": {}, - "extra_data": {} - } - ], - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null, - "datasource_id": "cargo_lock", - "purl": null - } - ], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": null, - "detected_license_expression_spdx": null, - "license_detections": [], - "license_clues": [], - "percentage_of_license_text": 0, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/examples/api/src-tauri/Cargo.toml", - "type": "file", - "package_data": [ - { - "type": "cargo", - "namespace": null, - "name": "api", - "version": "0.1.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": "An example Tauri Application showcasing the api", - "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": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/examples/api/src-tauri/Cargo.toml", - "start_line": 1, - "end_line": 1, - "matcher": "1-hash", - "score": 100.0, - "matched_length": 5, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_36.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", - "matched_text": "Apache-2.0 OR MIT" - } - ], - "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "Apache-2.0 OR MIT", - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [], - "repository_homepage_url": "https://crates.io/crates/api", - "repository_download_url": "https://crates.io/api/v1/crates/api/0.1.0/download", - "api_data_url": "https://crates.io/api/v1/crates/api", - "datasource_id": "cargo_toml", - "purl": "pkg:cargo/api@0.1.0" - } - ], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": "apache-2.0 OR mit", - "detected_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/examples/api/src-tauri/Cargo.toml", - "start_line": 7, - "end_line": 7, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "license_clues": [], - "percentage_of_license_text": 3.28, - "scan_errors": [] - }, - { - "path": "cargo-with-workspace/package.json", - "type": "file", - "package_data": [ - { - "type": "npm", - "namespace": null, - "name": "tauri-workspace", - "version": "0.0.0", - "qualifiers": {}, - "subpath": null, - "primary_language": "JavaScript", - "description": null, - "release_date": null, - "parties": [ - { - "type": "person", - "role": "contributor", - "name": "Tauri Programme within The Commons Conservancy", - "email": null, - "url": null - } - ], - "keywords": [], - "homepage_url": null, - "download_url": "https://registry.npmjs.org/tauri-workspace/-/tauri-workspace-0.0.0.tgz", - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": "git+https://github.com/tauri-apps/tauri.git", - "copyright": null, - "holder": null, - "declared_license_expression": "apache-2.0 OR mit", - "declared_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/package.json", - "start_line": 1, - "end_line": 1, - "matcher": "1-hash", - "score": 100.0, - "matched_length": 5, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_36.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", - "matched_text": "Apache-2.0 OR MIT" - } - ], - "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" - } - ], - "other_license_expression": null, - "other_license_expression_spdx": null, - "other_license_detections": [], - "extracted_license_statement": "- Apache-2.0 OR MIT\n", - "notice_text": null, - "source_packages": [], - "file_references": [], - "extra_data": {}, - "dependencies": [ - { - "purl": "pkg:npm/typescript", - "extracted_requirement": "^4.5.4", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/covector", - "extracted_requirement": "^0.9.0", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/husky", - "extracted_requirement": "^6.0.0", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - }, - { - "purl": "pkg:npm/prettier", - "extracted_requirement": "^2.5.1", - "scope": "devDependencies", - "is_runtime": false, - "is_optional": true, - "is_resolved": false, - "resolved_package": {}, - "extra_data": {} - } - ], - "repository_homepage_url": "https://www.npmjs.com/package/tauri-workspace", - "repository_download_url": "https://registry.npmjs.org/tauri-workspace/-/tauri-workspace-0.0.0.tgz", - "api_data_url": "https://registry.npmjs.org/tauri-workspace/0.0.0", - "datasource_id": "npm_package_json", - "purl": "pkg:npm/tauri-workspace@0.0.0" - } - ], - "for_packages": [ - "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" - ], - "detected_license_expression": "apache-2.0 OR mit", - "detected_license_expression_spdx": "Apache-2.0 OR MIT", - "license_detections": [ - { - "license_expression": "apache-2.0 OR mit", - "license_expression_spdx": "Apache-2.0 OR MIT", - "matches": [ - { - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "from_file": "cargo-with-workspace/package.json", - "start_line": 4, - "end_line": 4, - "matcher": "2-aho", - "score": 100.0, - "matched_length": 6, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "apache-2.0_or_mit_37.RULE", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_37.RULE" - } - ], - "identifier": "apache_2_0_or_mit-8028b724-ab19-ab66-3288-312e7edc4fd9" - } - ], - "license_clues": [], - "percentage_of_license_text": 8.33, - "scan_errors": [] - } - ] -} \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/boring.expected.json b/tests/packagedcode/data/cargo/cargo-with-workspace/boring.expected.json new file mode 100644 index 0000000000..326649b875 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/boring.expected.json @@ -0,0 +1,1573 @@ +{ + "packages": [ + { + "type": "cargo", + "namespace": null, + "name": "boring", + "version": "4.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "BoringSSL bindings", + "release_date": null, + "parties": [], + "keywords": [ + "crypto", + "tls", + "ssl", + "dtls", + "cryptography", + "api-bindings" + ], + "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": "https://github.com/cloudflare/boring", + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0", + "declared_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "matches": [ + { + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "boring/boring/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "matched_text": "Apache-2.0" + } + ], + "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "Apache-2.0", + "notice_text": null, + "source_packages": [], + "extra_data": { + "documentation_url": "https://docs.rs/boring", + "rust_edition": "2021" + }, + "repository_homepage_url": "https://crates.io/crates/boring", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/boring", + "package_uid": "pkg:cargo/boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "boring/boring/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/boring@4.6.0" + }, + { + "type": "cargo", + "namespace": null, + "name": "boring-sys", + "version": "4.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "FFI bindings to BoringSSL", + "release_date": null, + "parties": [], + "keywords": [ + "cryptography", + "external-ffi-bindings" + ], + "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": "https://github.com/cloudflare/boring", + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "boring/boring-sys/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "MIT", + "notice_text": null, + "source_packages": [], + "extra_data": { + "documentation_url": "https://docs.rs/boring-sys", + "rust_edition": "2021" + }, + "repository_homepage_url": "https://crates.io/crates/boring-sys", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/boring-sys", + "package_uid": "pkg:cargo/boring-sys@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "boring/boring-sys/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/boring-sys@4.6.0" + }, + { + "type": "cargo", + "namespace": null, + "name": "tokio-boring", + "version": "4.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "An implementation of SSL streams for Tokio backed by BoringSSL", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": "https://github.com/cloudflare/boring", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/cloudflare/boring", + "copyright": null, + "holder": null, + "declared_license_expression": "mit OR apache-2.0", + "declared_license_expression_spdx": "MIT OR Apache-2.0", + "license_detections": [ + { + "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", + "matches": [ + { + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "boring/tokio-boring/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 99.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "mit_or_apache-2.0_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_1.RULE", + "matched_text": "MIT/Apache-2.0" + } + ], + "identifier": "mit_or_apache_2_0-48698550-8e33-0b55-dc83-ac89d00625dd" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "MIT/Apache-2.0", + "notice_text": null, + "source_packages": [], + "extra_data": { + "documentation_url": "https://docs.rs/tokio-boring", + "rust_edition": "2021" + }, + "repository_homepage_url": "https://crates.io/crates/tokio-boring", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/tokio-boring", + "package_uid": "pkg:cargo/tokio-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "boring/tokio-boring/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/tokio-boring@4.6.0" + }, + { + "type": "cargo", + "namespace": null, + "name": "hyper-boring", + "version": "4.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Hyper TLS support via BoringSSL", + "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": "https://github.com/cloudflare/boring", + "copyright": null, + "holder": null, + "declared_license_expression": "mit OR apache-2.0", + "declared_license_expression_spdx": "MIT OR Apache-2.0", + "license_detections": [ + { + "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", + "matches": [ + { + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "boring/hyper-boring/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 99.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "mit_or_apache-2.0_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_1.RULE", + "matched_text": "MIT/Apache-2.0" + } + ], + "identifier": "mit_or_apache_2_0-48698550-8e33-0b55-dc83-ac89d00625dd" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "MIT/Apache-2.0", + "notice_text": null, + "source_packages": [], + "extra_data": { + "documentation_url": "https://docs.rs/hyper-boring", + "rust_edition": "2021" + }, + "repository_homepage_url": "https://crates.io/crates/hyper-boring", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/hyper-boring", + "package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "boring/hyper-boring/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/hyper-boring@4.6.0" + } + ], + "dependencies": [ + { + "purl": "pkg:cargo/bitflags", + "extracted_requirement": "2.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/bitflags?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/foreign-types", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/foreign-types?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/once_cell?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/libc", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/libc?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/boring-sys", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/boring-sys?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/hex", + "extracted_requirement": "0.4", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/hex?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/rusty-hook", + "extracted_requirement": "^0.11", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/rusty-hook?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/bindgen", + "extracted_requirement": "0.68.1", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/bindgen?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring-sys@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring-sys/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/cmake", + "extracted_requirement": "0.1.18", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/cmake?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring-sys@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring-sys/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/fs_extra", + "extracted_requirement": "1.3.0", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/fs_extra?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring-sys@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring-sys/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/fslock", + "extracted_requirement": "0.2", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/fslock?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/boring-sys@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/boring-sys/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/boring", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/boring?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tokio-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/tokio-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/boring-sys", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/boring-sys?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tokio-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/tokio-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/once_cell?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tokio-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/tokio-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/tokio?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tokio-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/tokio-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/futures", + "extracted_requirement": "0.3", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/futures?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tokio-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/tokio-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "full" + ] + }, + "dependency_uid": "pkg:cargo/tokio?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tokio-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/tokio-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/anyhow", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/anyhow?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tokio-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/tokio-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/antidote", + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/antidote?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/http", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/http?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/hyper", + "extracted_requirement": "0.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "client" + ] + }, + "dependency_uid": "pkg:cargo/hyper?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/linked_hash_set", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/linked_hash_set?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/once_cell?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/boring", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/boring?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/tokio?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tokio-boring", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/tokio-boring?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tower-layer", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/tower-layer?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/hyper", + "extracted_requirement": "0.14", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "full" + ] + }, + "dependency_uid": "pkg:cargo/hyper?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "full" + ] + }, + "dependency_uid": "pkg:cargo/tokio?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tower", + "extracted_requirement": "0.4", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "util" + ] + }, + "dependency_uid": "pkg:cargo/tower?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/futures", + "extracted_requirement": "0.3", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/futures?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "boring/hyper-boring/Cargo.toml", + "datasource_id": "cargo_toml" + } + ], + "files": [ + { + "path": "boring", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "boring/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "workspace": { + "members": [ + "boring", + "boring-sys", + "tokio-boring", + "hyper-boring" + ], + "resolver": "2", + "package": { + "version": "4.6.0", + "repository": "https://github.com/cloudflare/boring", + "edition": "2021" + }, + "metadata": { + "release": { + "pre-release-commit-message": "Release {{version}}", + "shared-version": true, + "tag-prefix": "", + "publish": false + } + }, + "dependencies": { + "boring-sys": { + "version": "4.6.0", + "path": "./boring-sys" + }, + "boring": { + "version": "4.6.0", + "path": "./boring" + }, + "tokio-boring": { + "version": "4.6.0", + "path": "./tokio-boring" + }, + "bindgen": { + "version": "0.68.1", + "default-features": false, + "features": [ + "runtime" + ] + }, + "cmake": "0.1.18", + "fs_extra": "1.3.0", + "fslock": "0.2", + "bitflags": "2.4", + "foreign-types": "0.5", + "libc": "0.2", + "hex": "0.4", + "rusty-hook": "^0.11", + "futures": "0.3", + "tokio": "1", + "anyhow": "1", + "antidote": "1.0.0", + "http": "0.2", + "hyper": { + "version": "0.14", + "default-features": false + }, + "linked_hash_set": "0.1", + "once_cell": "1.0", + "tower": "0.4", + "tower-layer": "0.3" + } + } + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cargo_toml", + "purl": null + } + ], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "boring/README.md", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "boring/boring", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "boring/boring-sys", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "boring/boring-sys/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "boring-sys", + "version": "4.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "FFI bindings to BoringSSL", + "release_date": null, + "parties": [], + "keywords": [ + "cryptography", + "external-ffi-bindings" + ], + "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": "https://github.com/cloudflare/boring", + "copyright": null, + "holder": null, + "declared_license_expression": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "boring/boring-sys/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "documentation_url": "https://docs.rs/boring-sys", + "rust_edition": "2021" + }, + "dependencies": [ + { + "purl": "pkg:cargo/bindgen", + "extracted_requirement": "0.68.1", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/cmake", + "extracted_requirement": "0.1.18", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/fs_extra", + "extracted_requirement": "1.3.0", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/fslock", + "extracted_requirement": "0.2", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://crates.io/crates/boring-sys", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/boring-sys", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/boring-sys@4.6.0" + } + ], + "for_packages": [ + "pkg:cargo/boring-sys@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "boring/boring/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "boring", + "version": "4.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "BoringSSL bindings", + "release_date": null, + "parties": [], + "keywords": [ + "crypto", + "tls", + "ssl", + "dtls", + "cryptography", + "api-bindings" + ], + "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": "https://github.com/cloudflare/boring", + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0", + "declared_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "matches": [ + { + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "boring/boring/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "matched_text": "Apache-2.0" + } + ], + "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "Apache-2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "documentation_url": "https://docs.rs/boring", + "rust_edition": "2021" + }, + "dependencies": [ + { + "purl": "pkg:cargo/bitflags", + "extracted_requirement": "2.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/foreign-types", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/libc", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/boring-sys", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/hex", + "extracted_requirement": "0.4", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rusty-hook", + "extracted_requirement": "^0.11", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://crates.io/crates/boring", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/boring", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/boring@4.6.0" + } + ], + "for_packages": [ + "pkg:cargo/boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "boring/hyper-boring", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "boring/hyper-boring/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "hyper-boring", + "version": "4.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Hyper TLS support via BoringSSL", + "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": "https://github.com/cloudflare/boring", + "copyright": null, + "holder": null, + "declared_license_expression": "mit OR apache-2.0", + "declared_license_expression_spdx": "MIT OR Apache-2.0", + "license_detections": [ + { + "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", + "matches": [ + { + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "boring/hyper-boring/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 99.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "mit_or_apache-2.0_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_1.RULE", + "matched_text": "MIT/Apache-2.0" + } + ], + "identifier": "mit_or_apache_2_0-48698550-8e33-0b55-dc83-ac89d00625dd" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "MIT/Apache-2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "documentation_url": "https://docs.rs/hyper-boring", + "rust_edition": "2021" + }, + "dependencies": [ + { + "purl": "pkg:cargo/antidote", + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/http", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/hyper", + "extracted_requirement": "0.14", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "client" + ] + } + }, + { + "purl": "pkg:cargo/linked_hash_set", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/boring", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tokio-boring", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tower-layer", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/hyper", + "extracted_requirement": "0.14", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "full" + ] + } + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "full" + ] + } + }, + { + "purl": "pkg:cargo/tower", + "extracted_requirement": "0.4", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "util" + ] + } + }, + { + "purl": "pkg:cargo/futures", + "extracted_requirement": "0.3", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://crates.io/crates/hyper-boring", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/hyper-boring", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/hyper-boring@4.6.0" + } + ], + "for_packages": [ + "pkg:cargo/hyper-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "boring/tokio-boring", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "boring/tokio-boring/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "tokio-boring", + "version": "4.6.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "An implementation of SSL streams for Tokio backed by BoringSSL", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": "https://github.com/cloudflare/boring", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/cloudflare/boring", + "copyright": null, + "holder": null, + "declared_license_expression": "mit OR apache-2.0", + "declared_license_expression_spdx": "MIT OR Apache-2.0", + "license_detections": [ + { + "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", + "matches": [ + { + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "boring/tokio-boring/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 99.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "mit_or_apache-2.0_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_1.RULE", + "matched_text": "MIT/Apache-2.0" + } + ], + "identifier": "mit_or_apache_2_0-48698550-8e33-0b55-dc83-ac89d00625dd" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "MIT/Apache-2.0", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "documentation_url": "https://docs.rs/tokio-boring", + "rust_edition": "2021" + }, + "dependencies": [ + { + "purl": "pkg:cargo/boring", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/boring-sys", + "extracted_requirement": "4.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/futures", + "extracted_requirement": "0.3", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "features": [ + "full" + ] + } + }, + { + "purl": "pkg:cargo/anyhow", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://crates.io/crates/tokio-boring", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/tokio-boring", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/tokio-boring@4.6.0" + } + ], + "for_packages": [ + "pkg:cargo/tokio-boring@4.6.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/boring/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/Cargo.toml new file mode 100644 index 0000000000..aaeb3db203 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/Cargo.toml @@ -0,0 +1,44 @@ +[workspace] +members = [ + "boring", + "boring-sys", + "tokio-boring", + "hyper-boring" +] +resolver = "2" + +[workspace.package] +version = "4.6.0" +repository = "https://github.com/cloudflare/boring" +edition = "2021" + +[workspace.metadata.release] +pre-release-commit-message = "Release {{version}}" +shared-version = true +tag-prefix = "" +publish = false + +[workspace.dependencies] +boring-sys = { version = "4.6.0", path = "./boring-sys" } +boring = { version = "4.6.0", path = "./boring" } +tokio-boring = { version = "4.6.0", path = "./tokio-boring" } + +bindgen = { version = "0.68.1", default-features = false, features = ["runtime"] } +cmake = "0.1.18" +fs_extra = "1.3.0" +fslock = "0.2" +bitflags = "2.4" +foreign-types = "0.5" +libc = "0.2" +hex = "0.4" +rusty-hook = "^0.11" +futures = "0.3" +tokio = "1" +anyhow = "1" +antidote = "1.0.0" +http = "0.2" +hyper = { version = "0.14", default-features = false } +linked_hash_set = "0.1" +once_cell = "1.0" +tower = "0.4" +tower-layer = "0.3" diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/boring/README.md b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/README.md new file mode 100644 index 0000000000..7821da2130 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/README.md @@ -0,0 +1,12 @@ +# boring + +BoringSSL bindings for the Rust programming language and TLS adapters for tokio +and hyper built on top of it. + +## Contribution + +Unless you explicitly state otherwise, any contribution intentionally +submitted for inclusion in the work by you, as defined in the Apache-2.0 +license, shall be dual licensed under the terms of both the Apache License, +Version 2.0 and the MIT license without any additional terms or conditions. + diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/boring/boring-sys/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/boring-sys/Cargo.toml new file mode 100644 index 0000000000..84ebd07b95 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/boring-sys/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "boring-sys" +version = { workspace = true } +authors = ["Alex Crichton ", + "Steven Fackler ", + "Ivan Nikulin "] +license = "MIT" +description = "FFI bindings to BoringSSL" +repository = { workspace = true } +documentation = "https://docs.rs/boring-sys" +links = "boringssl" +build = "build/main.rs" +readme = "README.md" +categories = ["cryptography", "external-ffi-bindings"] +edition = { workspace = true } + +[build-dependencies] +bindgen = { workspace = true } +cmake = { workspace = true } +fs_extra = { workspace = true } +fslock = { workspace = true } diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/boring/boring/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/boring/Cargo.toml new file mode 100644 index 0000000000..0db61ae89b --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/boring/Cargo.toml @@ -0,0 +1,23 @@ +[package] +name = "boring" +version = { workspace = true } +authors = ["Steven Fackler ", "Ivan Nikulin "] +license = "Apache-2.0" +description = "BoringSSL bindings" +repository = { workspace = true } +documentation = "https://docs.rs/boring" +readme = "README.md" +keywords = ["crypto", "tls", "ssl", "dtls"] +categories = ["cryptography", "api-bindings"] +edition = { workspace = true } + +[dependencies] +bitflags = { workspace = true } +foreign-types = { workspace = true } +once_cell = { workspace = true } +libc = { workspace = true } +boring-sys = { workspace = true } + +[dev-dependencies] +hex = { workspace = true } +rusty-hook = { workspace = true } diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/boring/hyper-boring/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/hyper-boring/Cargo.toml new file mode 100644 index 0000000000..2e4aade49f --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/hyper-boring/Cargo.toml @@ -0,0 +1,28 @@ +[package] +name = "hyper-boring" +version = { workspace = true } +authors = ["Steven Fackler ", "Ivan Nikulin "] +edition = { workspace = true } +description = "Hyper TLS support via BoringSSL" +license = "MIT/Apache-2.0" +repository = { workspace = true } +documentation = "https://docs.rs/hyper-boring" +readme = "README.md" +exclude = ["test/*"] + +[dependencies] +antidote = { workspace = true } +http = { workspace = true } +hyper = { workspace = true, features = ["client"] } +linked_hash_set = { workspace = true } +once_cell = { workspace = true } +boring = { workspace = true } +tokio = { workspace = true } +tokio-boring = { workspace = true } +tower-layer = { workspace = true } + +[dev-dependencies] +hyper = { workspace = true, features = [ "full" ] } +tokio = { workspace = true, features = [ "full" ] } +tower = { workspace = true, features = ["util"] } +futures = { workspace = true } diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/boring/tokio-boring/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/tokio-boring/Cargo.toml new file mode 100644 index 0000000000..b6a2dd87c7 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/boring/tokio-boring/Cargo.toml @@ -0,0 +1,23 @@ +[package] +name = "tokio-boring" +version = { workspace = true } +authors = ["Alex Crichton ", "Ivan Nikulin "] +license = "MIT/Apache-2.0" +edition = { workspace = true } +repository = { workspace = true } +homepage = "https://github.com/cloudflare/boring" +documentation = "https://docs.rs/tokio-boring" +description = """ +An implementation of SSL streams for Tokio backed by BoringSSL +""" + +[dependencies] +boring = { workspace = true } +boring-sys = { workspace = true } +once_cell = { workspace = true } +tokio = { workspace = true } + +[dev-dependencies] +futures = { workspace = true } +tokio = { workspace = true, features = [ "full" ] } +anyhow = { workspace = true } diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/tauri.expected.json b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri.expected.json new file mode 100644 index 0000000000..007cec24ef --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri.expected.json @@ -0,0 +1,3253 @@ +{ + "packages": [ + { + "type": "cargo", + "namespace": null, + "name": "tauri", + "version": "2.0.0-alpha.17", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Make tiny, secure apps for all desktop platforms with Tauri", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "keywords": [ + "gui", + "web-programming" + ], + "homepage_url": "https://tauri.app/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/tauri-apps/tauri", + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0 OR mit", + "declared_license_expression_spdx": "Apache-2.0 OR MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "matches": [ + { + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": null, + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", + "matched_text": "Apache-2.0 OR MIT" + } + ], + "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "Apache-2.0 OR MIT", + "notice_text": null, + "source_packages": [], + "extra_data": { + "rust_edition": "2021", + "rust_version": "1.70" + }, + "repository_homepage_url": "https://crates.io/crates/tauri", + "repository_download_url": "https://crates.io/api/v1/crates/tauri/2.0.0-alpha.17/download", + "api_data_url": "https://crates.io/api/v1/crates/tauri", + "package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "tauri/core/tauri/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/tauri@2.0.0-alpha.17" + }, + { + "type": "cargo", + "namespace": null, + "name": "tauri-runtime", + "version": "1.0.0-alpha.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Runtime for Tauri applications", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "keywords": [ + "gui", + "web-programming" + ], + "homepage_url": "https://tauri.app/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/tauri-apps/tauri", + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0 OR mit", + "declared_license_expression_spdx": "Apache-2.0 OR MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "matches": [ + { + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": null, + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", + "matched_text": "Apache-2.0 OR MIT" + } + ], + "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "Apache-2.0 OR MIT", + "notice_text": null, + "source_packages": [], + "extra_data": { + "rust_edition": "2021", + "rust_version": "1.70" + }, + "repository_homepage_url": "https://crates.io/crates/tauri-runtime", + "repository_download_url": "https://crates.io/api/v1/crates/tauri-runtime/1.0.0-alpha.4/download", + "api_data_url": "https://crates.io/api/v1/crates/tauri-runtime", + "package_uid": "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "tauri/core/tauri-runtime/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/tauri-runtime@1.0.0-alpha.4" + }, + { + "type": "cargo", + "namespace": null, + "name": "tauri-build", + "version": "2.0.0-alpha.11", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "build time code to pair with https://crates.io/crates/tauri", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "keywords": [ + "gui", + "web-programming" + ], + "homepage_url": "https://tauri.app/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/tauri-apps/tauri", + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0 OR mit", + "declared_license_expression_spdx": "Apache-2.0 OR MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "matches": [ + { + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": null, + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", + "matched_text": "Apache-2.0 OR MIT" + } + ], + "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "Apache-2.0 OR MIT", + "notice_text": null, + "source_packages": [], + "extra_data": { + "rust_edition": "2021", + "rust_version": "1.70" + }, + "repository_homepage_url": "https://crates.io/crates/tauri-build", + "repository_download_url": "https://crates.io/api/v1/crates/tauri-build/2.0.0-alpha.11/download", + "api_data_url": "https://crates.io/api/v1/crates/tauri-build", + "package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "tauri/core/tauri-build/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/tauri-build@2.0.0-alpha.11" + }, + { + "type": "cargo", + "namespace": null, + "name": "restart", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "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": "apache-2.0 OR mit", + "declared_license_expression_spdx": "Apache-2.0 OR MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "matches": [ + { + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "tauri/core/tests/restart/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", + "matched_text": "Apache-2.0 OR MIT" + } + ], + "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "Apache-2.0 OR MIT", + "notice_text": null, + "source_packages": [], + "extra_data": { + "rust_edition": "2021" + }, + "repository_homepage_url": "https://crates.io/crates/restart", + "repository_download_url": "https://crates.io/api/v1/crates/restart/0.1.0/download", + "api_data_url": "https://crates.io/api/v1/crates/restart", + "package_uid": "pkg:cargo/restart@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "tauri/core/tests/restart/Cargo.toml" + ], + "datasource_ids": [ + "cargo_toml" + ], + "purl": "pkg:cargo/restart@0.1.0" + }, + { + "type": "npm", + "namespace": null, + "name": "tauri-workspace", + "version": "0.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "contributor", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/tauri-workspace/-/tauri-workspace-0.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "git+https://github.com/tauri-apps/tauri.git", + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0 OR mit", + "declared_license_expression_spdx": "Apache-2.0 OR MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "matches": [ + { + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "tauri/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", + "matched_text": "Apache-2.0 OR MIT" + } + ], + "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "- Apache-2.0 OR MIT\n", + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://www.npmjs.com/package/tauri-workspace", + "repository_download_url": "https://registry.npmjs.org/tauri-workspace/-/tauri-workspace-0.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/tauri-workspace/0.0.0", + "package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "tauri/package.json" + ], + "datasource_ids": [ + "npm_package_json" + ], + "purl": "pkg:npm/tauri-workspace@0.0.0" + } + ], + "dependencies": [ + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "raw_value" + ] + }, + "dependency_uid": "pkg:cargo/serde_json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive", + "rc" + ] + }, + "dependency_uid": "pkg:cargo/serde?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1", + "features": [ + "rt", + "rt-multi-thread", + "sync", + "fs", + "io-util" + ] + }, + "dependency_uid": "pkg:cargo/tokio?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/futures-util", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/futures-util?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/uuid", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1", + "features": [ + "v4" + ] + }, + "dependency_uid": "pkg:cargo/uuid?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/url", + "extracted_requirement": "2.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.4" + }, + "dependency_uid": "pkg:cargo/url?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/anyhow", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/anyhow?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/thiserror", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/thiserror?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/once_cell?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri-runtime", + "extracted_requirement": "1.0.0-alpha.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0.0-alpha.4", + "path": "../tauri-runtime" + }, + "dependency_uid": "pkg:cargo/tauri-runtime?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri-macros", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "path": "../tauri-macros" + }, + "dependency_uid": "pkg:cargo/tauri-macros?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri-utils", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "features": [ + "resources" + ], + "path": "../tauri-utils" + }, + "dependency_uid": "pkg:cargo/tauri-utils?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri-runtime-wry", + "extracted_requirement": "1.0.0-alpha.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0.0-alpha.5", + "path": "../tauri-runtime-wry" + }, + "dependency_uid": "pkg:cargo/tauri-runtime-wry?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/getrandom", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/getrandom?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde_repr", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/serde_repr?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/state", + "extracted_requirement": "0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/state?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/http", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/http?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/dirs-next", + "extracted_requirement": "2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/dirs-next?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/percent-encoding", + "extracted_requirement": "2.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/percent-encoding?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/reqwest", + "extracted_requirement": "0.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.11", + "default-features": false, + "features": [ + "json", + "stream" + ] + }, + "dependency_uid": "pkg:cargo/reqwest?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/bytes", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1", + "features": [ + "serde" + ] + }, + "dependency_uid": "pkg:cargo/bytes?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/raw-window-handle", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/raw-window-handle?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/glob", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/glob?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/mime", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/mime?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/data-url", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3" + }, + "dependency_uid": "pkg:cargo/data-url?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serialize-to-javascript", + "extracted_requirement": "=0.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/serialize-to-javascript?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/infer", + "extracted_requirement": "0.15", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.15" + }, + "dependency_uid": "pkg:cargo/infer?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/png", + "extracted_requirement": "0.17", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.17" + }, + "dependency_uid": "pkg:cargo/png?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/ico", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3.0" + }, + "dependency_uid": "pkg:cargo/ico?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/http-range", + "extracted_requirement": "0.1.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.1.5" + }, + "dependency_uid": "pkg:cargo/http-range?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/heck", + "extracted_requirement": "0.4", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/heck?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/once_cell?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri-build", + "extracted_requirement": "2.0.0-alpha.11", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../tauri-build/", + "version": "2.0.0-alpha.11" + }, + "dependency_uid": "pkg:cargo/tauri-build?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/proptest", + "extracted_requirement": "1.4.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/proptest?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/quickcheck", + "extracted_requirement": "1.0.3", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/quickcheck?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/quickcheck_macros", + "extracted_requirement": "1.0.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/quickcheck_macros?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive" + ] + }, + "dependency_uid": "pkg:cargo/serde?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/serde_json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri", + "extracted_requirement": null, + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": ".", + "default-features": false, + "features": [ + "wry" + ] + }, + "dependency_uid": "pkg:cargo/tauri?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1", + "features": [ + "full" + ] + }, + "dependency_uid": "pkg:cargo/tokio?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/cargo_toml", + "extracted_requirement": "0.17", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/cargo_toml?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/http-range", + "extracted_requirement": "0.1.5", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/http-range?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive" + ] + }, + "dependency_uid": "pkg:cargo/serde?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-runtime/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/serde_json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-runtime/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/thiserror", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/thiserror?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-runtime/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri-utils", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "path": "../tauri-utils" + }, + "dependency_uid": "pkg:cargo/tauri-utils?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-runtime/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/http", + "extracted_requirement": "0.2.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/http?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-runtime/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/raw-window-handle", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/raw-window-handle?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-runtime/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/url", + "extracted_requirement": "2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2" + }, + "dependency_uid": "pkg:cargo/url?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-runtime/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/anyhow", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/anyhow?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/quote", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1" + }, + "dependency_uid": "pkg:cargo/quote?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri-codegen", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "path": "../tauri-codegen" + }, + "dependency_uid": "pkg:cargo/tauri-codegen?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri-utils", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "path": "../tauri-utils", + "features": [ + "build", + "resources" + ] + }, + "dependency_uid": "pkg:cargo/tauri-utils?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/cargo_toml", + "extracted_requirement": "0.17", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/cargo_toml?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/serde?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/serde_json?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/heck", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/heck?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/json-patch", + "extracted_requirement": "1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/json-patch?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/walkdir", + "extracted_requirement": "2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/walkdir?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri-winres", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/tauri-winres?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/semver", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/semver?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/dirs-next", + "extracted_requirement": "2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/dirs-next?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tauri-build/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tauri", + "extracted_requirement": null, + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../../tauri" + }, + "dependency_uid": "pkg:cargo/tauri?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/restart@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tests/restart/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/tempfile", + "extracted_requirement": "3", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/tempfile?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/restart@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/core/tests/restart/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:npm/typescript", + "extracted_requirement": "^4.5.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/typescript?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/covector", + "extracted_requirement": "^0.9.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/covector?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/husky", + "extracted_requirement": "^6.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/husky?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/package.json", + "datasource_id": "npm_package_json" + }, + { + "purl": "pkg:npm/prettier", + "extracted_requirement": "^2.5.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:npm/prettier?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "tauri/package.json", + "datasource_id": "npm_package_json" + } + ], + "files": [ + { + "path": "tauri", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "tauri/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "workspace": { + "resolver": "2", + "members": [ + "core/tauri", + "core/tauri-runtime", + "core/tauri-build", + "core/tests/restart" + ], + "package": { + "authors": [ + "Tauri Programme within The Commons Conservancy" + ], + "homepage": "https://tauri.app/", + "repository": "https://github.com/tauri-apps/tauri", + "categories": [ + "gui", + "web-programming" + ], + "license": "Apache-2.0 OR MIT", + "edition": "2021", + "rust-version": "1.70", + "license_detections": [], + "declared_license_expression": null, + "declared_license_expression_spdx": null + } + }, + "license_detections": "workspace", + "declared_license_expression": "workspace", + "declared_license_expression_spdx": "workspace" + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cargo_toml", + "purl": null + } + ], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/LICENSE.spdx", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/LICENSE_APACHE-2.0", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/LICENSE_MIT", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/README.md", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core/tauri", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core/tauri-build", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core/tauri-build/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "tauri-build", + "version": "2.0.0-alpha.11", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "build time code to pair with https://crates.io/crates/tauri", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "keywords": [ + "gui", + "web-programming" + ], + "homepage_url": "https://tauri.app/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/tauri-apps/tauri", + "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": "Apache-2.0 OR MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "rust_edition": "2021", + "rust_version": "1.70" + }, + "dependencies": [ + { + "purl": "pkg:cargo/anyhow", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/quote", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1" + } + }, + { + "purl": "pkg:cargo/tauri-codegen", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "path": "../tauri-codegen" + } + }, + { + "purl": "pkg:cargo/tauri-utils", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "path": "../tauri-utils", + "features": [ + "build", + "resources" + ] + } + }, + { + "purl": "pkg:cargo/cargo_toml", + "extracted_requirement": "0.17", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/heck", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/json-patch", + "extracted_requirement": "1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/walkdir", + "extracted_requirement": "2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tauri-winres", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/semver", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/dirs-next", + "extracted_requirement": "2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://crates.io/crates/tauri-build", + "repository_download_url": "https://crates.io/api/v1/crates/tauri-build/2.0.0-alpha.11/download", + "api_data_url": "https://crates.io/api/v1/crates/tauri-build", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/tauri-build@2.0.0-alpha.11" + } + ], + "for_packages": [ + "pkg:cargo/tauri-build@2.0.0-alpha.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core/tauri-runtime", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core/tauri-runtime/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "tauri-runtime", + "version": "1.0.0-alpha.4", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Runtime for Tauri applications", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "keywords": [ + "gui", + "web-programming" + ], + "homepage_url": "https://tauri.app/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/tauri-apps/tauri", + "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": "Apache-2.0 OR MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "rust_edition": "2021", + "rust_version": "1.70" + }, + "dependencies": [ + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive" + ] + } + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/thiserror", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tauri-utils", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "path": "../tauri-utils" + } + }, + { + "purl": "pkg:cargo/http", + "extracted_requirement": "0.2.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/raw-window-handle", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/url", + "extracted_requirement": "2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2" + } + } + ], + "repository_homepage_url": "https://crates.io/crates/tauri-runtime", + "repository_download_url": "https://crates.io/api/v1/crates/tauri-runtime/1.0.0-alpha.4/download", + "api_data_url": "https://crates.io/api/v1/crates/tauri-runtime", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/tauri-runtime@1.0.0-alpha.4" + } + ], + "for_packages": [ + "pkg:cargo/tauri-runtime@1.0.0-alpha.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core/tauri/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "tauri", + "version": "2.0.0-alpha.17", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "Make tiny, secure apps for all desktop platforms with Tauri", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "keywords": [ + "gui", + "web-programming" + ], + "homepage_url": "https://tauri.app/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/tauri-apps/tauri", + "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": "Apache-2.0 OR MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "rust_edition": "2021", + "rust_version": "1.70" + }, + "dependencies": [ + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "raw_value" + ] + } + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive", + "rc" + ] + } + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1", + "features": [ + "rt", + "rt-multi-thread", + "sync", + "fs", + "io-util" + ] + } + }, + { + "purl": "pkg:cargo/futures-util", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/uuid", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1", + "features": [ + "v4" + ] + } + }, + { + "purl": "pkg:cargo/url", + "extracted_requirement": "2.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.4" + } + }, + { + "purl": "pkg:cargo/anyhow", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/thiserror", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tauri-runtime", + "extracted_requirement": "1.0.0-alpha.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0.0-alpha.4", + "path": "../tauri-runtime" + } + }, + { + "purl": "pkg:cargo/tauri-macros", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "path": "../tauri-macros" + } + }, + { + "purl": "pkg:cargo/tauri-utils", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "features": [ + "resources" + ], + "path": "../tauri-utils" + } + }, + { + "purl": "pkg:cargo/tauri-runtime-wry", + "extracted_requirement": "1.0.0-alpha.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0.0-alpha.5", + "path": "../tauri-runtime-wry" + } + }, + { + "purl": "pkg:cargo/getrandom", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde_repr", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/state", + "extracted_requirement": "0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/http", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/dirs-next", + "extracted_requirement": "2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/percent-encoding", + "extracted_requirement": "2.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/reqwest", + "extracted_requirement": "0.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.11", + "default-features": false, + "features": [ + "json", + "stream" + ] + } + }, + { + "purl": "pkg:cargo/bytes", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1", + "features": [ + "serde" + ] + } + }, + { + "purl": "pkg:cargo/raw-window-handle", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/glob", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/mime", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/data-url", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3" + } + }, + { + "purl": "pkg:cargo/serialize-to-javascript", + "extracted_requirement": "=0.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/infer", + "extracted_requirement": "0.15", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.15" + } + }, + { + "purl": "pkg:cargo/png", + "extracted_requirement": "0.17", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.17" + } + }, + { + "purl": "pkg:cargo/ico", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3.0" + } + }, + { + "purl": "pkg:cargo/http-range", + "extracted_requirement": "0.1.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.1.5" + } + }, + { + "purl": "pkg:cargo/heck", + "extracted_requirement": "0.4", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/once_cell", + "extracted_requirement": "1", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tauri-build", + "extracted_requirement": "2.0.0-alpha.11", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../tauri-build/", + "version": "2.0.0-alpha.11" + } + }, + { + "purl": "pkg:cargo/proptest", + "extracted_requirement": "1.4.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/quickcheck", + "extracted_requirement": "1.0.3", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/quickcheck_macros", + "extracted_requirement": "1.0.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive" + ] + } + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tauri", + "extracted_requirement": null, + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": ".", + "default-features": false, + "features": [ + "wry" + ] + } + }, + { + "purl": "pkg:cargo/tokio", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1", + "features": [ + "full" + ] + } + }, + { + "purl": "pkg:cargo/cargo_toml", + "extracted_requirement": "0.17", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/http-range", + "extracted_requirement": "0.1.5", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://crates.io/crates/tauri", + "repository_download_url": "https://crates.io/api/v1/crates/tauri/2.0.0-alpha.17/download", + "api_data_url": "https://crates.io/api/v1/crates/tauri", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/tauri@2.0.0-alpha.17" + } + ], + "for_packages": [ + "pkg:cargo/tauri@2.0.0-alpha.17?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core/tests", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core/tests/restart", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/core/tests/restart/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "restart", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "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": "apache-2.0 OR mit", + "declared_license_expression_spdx": "Apache-2.0 OR MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "matches": [ + { + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "tauri/core/tests/restart/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", + "matched_text": "Apache-2.0 OR MIT" + } + ], + "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "Apache-2.0 OR MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "rust_edition": "2021" + }, + "dependencies": [ + { + "purl": "pkg:cargo/tauri", + "extracted_requirement": null, + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../../tauri" + } + }, + { + "purl": "pkg:cargo/tempfile", + "extracted_requirement": "3", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://crates.io/crates/restart", + "repository_download_url": "https://crates.io/api/v1/crates/restart/0.1.0/download", + "api_data_url": "https://crates.io/api/v1/crates/restart", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/restart@0.1.0" + } + ], + "for_packages": [ + "pkg:cargo/restart@0.1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/examples", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/examples/api", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/examples/api/package.json", + "type": "file", + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "api", + "version": "1.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/api/-/api-1.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/%40tauri-apps/api", + "extracted_requirement": "../../tooling/api/dist", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/%40zerodevx/svelte-json-view", + "extracted_requirement": "0.2.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/%40iconify-json/codicon", + "extracted_requirement": "^1.1.10", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/%40iconify-json/ph", + "extracted_requirement": "^1.1.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/internal-ip", + "extracted_requirement": "^7.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/unocss", + "extracted_requirement": "^0.39.3", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/%40sveltejs/vite-plugin-svelte", + "extracted_requirement": "^2.4.6", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/svelte", + "extracted_requirement": "^4.2.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/vite", + "extracted_requirement": "^4.4.9", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/api", + "repository_download_url": "https://registry.npmjs.org/api/-/api-1.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/api/1.0.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/api@1.0.0" + } + ], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/examples/api/src-tauri", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/examples/api/src-tauri/Cargo.lock", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:cargo/addr2line@0.21.0", + "extracted_requirement": "0.21.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/adler@1.0.2", + "extracted_requirement": "1.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/aead@0.5.2", + "extracted_requirement": "0.5.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cargo_lock", + "purl": null + } + ], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/examples/api/src-tauri/Cargo.toml", + "type": "file", + "package_data": [ + { + "type": "cargo", + "namespace": null, + "name": "api", + "version": "0.1.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "An example Tauri Application showcasing the api", + "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": "apache-2.0 OR mit", + "declared_license_expression_spdx": "Apache-2.0 OR MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "matches": [ + { + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "tauri/examples/api/src-tauri/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", + "matched_text": "Apache-2.0 OR MIT" + } + ], + "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "Apache-2.0 OR MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "rust_version": "1.70", + "rust_edition": "2021" + }, + "dependencies": [ + { + "purl": "pkg:cargo/tauri-build", + "extracted_requirement": null, + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../../../core/tauri-build", + "features": [ + "codegen", + "isolation" + ] + } + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive" + ] + } + }, + { + "purl": "pkg:cargo/tiny_http", + "extracted_requirement": "0.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/log", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tauri-plugin-sample", + "extracted_requirement": null, + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "./tauri-plugin-sample/" + } + }, + { + "purl": "pkg:cargo/tauri", + "extracted_requirement": null, + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../../../core/tauri", + "features": [ + "protocol-asset", + "icon-ico", + "icon-png", + "isolation", + "macos-private-api", + "tray-icon" + ] + } + }, + { + "purl": "pkg:cargo/tauri", + "extracted_requirement": null, + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../../../core/tauri", + "features": [ + "test" + ] + } + } + ], + "repository_homepage_url": "https://crates.io/crates/api", + "repository_download_url": "https://crates.io/api/v1/crates/api/0.1.0/download", + "api_data_url": "https://crates.io/api/v1/crates/api", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/api@0.1.0" + } + ], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "tauri/package.json", + "type": "file", + "package_data": [ + { + "type": "npm", + "namespace": null, + "name": "tauri-workspace", + "version": "0.0.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "JavaScript", + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "contributor", + "name": "Tauri Programme within The Commons Conservancy", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": "https://registry.npmjs.org/tauri-workspace/-/tauri-workspace-0.0.0.tgz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "git+https://github.com/tauri-apps/tauri.git", + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0 OR mit", + "declared_license_expression_spdx": "Apache-2.0 OR MIT", + "license_detections": [ + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "matches": [ + { + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "tauri/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE", + "matched_text": "Apache-2.0 OR MIT" + } + ], + "identifier": "apache_2_0_or_mit-70d858d7-8968-9e7f-b90f-18b72fb96bef" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "- Apache-2.0 OR MIT\n", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:npm/typescript", + "extracted_requirement": "^4.5.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/covector", + "extracted_requirement": "^0.9.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/husky", + "extracted_requirement": "^6.0.0", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:npm/prettier", + "extracted_requirement": "^2.5.1", + "scope": "devDependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://www.npmjs.com/package/tauri-workspace", + "repository_download_url": "https://registry.npmjs.org/tauri-workspace/-/tauri-workspace-0.0.0.tgz", + "api_data_url": "https://registry.npmjs.org/tauri-workspace/0.0.0", + "datasource_id": "npm_package_json", + "purl": "pkg:npm/tauri-workspace@0.0.0" + } + ], + "for_packages": [ + "pkg:npm/tauri-workspace@0.0.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/Cargo.toml similarity index 100% rename from tests/packagedcode/data/cargo/cargo-with-workspace/Cargo.toml rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/Cargo.toml diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/LICENSE.spdx b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/LICENSE.spdx similarity index 100% rename from tests/packagedcode/data/cargo/cargo-with-workspace/LICENSE.spdx rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/LICENSE.spdx diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/LICENSE_APACHE-2.0 b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/LICENSE_APACHE-2.0 similarity index 100% rename from tests/packagedcode/data/cargo/cargo-with-workspace/LICENSE_APACHE-2.0 rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/LICENSE_APACHE-2.0 diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/LICENSE_MIT b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/LICENSE_MIT similarity index 100% rename from tests/packagedcode/data/cargo/cargo-with-workspace/LICENSE_MIT rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/LICENSE_MIT diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/README.md b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/README.md similarity index 100% rename from tests/packagedcode/data/cargo/cargo-with-workspace/README.md rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/README.md diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/core/tauri-build/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tauri-build/Cargo.toml similarity index 65% rename from tests/packagedcode/data/cargo/cargo-with-workspace/core/tauri-build/Cargo.toml rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tauri-build/Cargo.toml index a3725585b6..79177b2ca6 100644 --- a/tests/packagedcode/data/cargo/cargo-with-workspace/core/tauri-build/Cargo.toml +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tauri-build/Cargo.toml @@ -12,19 +12,6 @@ license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } -[package.metadata.docs.rs] -all-features = true -default-target = "x86_64-unknown-linux-gnu" -targets = [ - "x86_64-pc-windows-msvc", - "x86_64-unknown-linux-gnu", - "x86_64-apple-darwin", - "x86_64-linux-android", - "x86_64-apple-ios" -] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] - [dependencies] anyhow = "1" quote = { version = "1", optional = true } @@ -43,9 +30,3 @@ dirs-next = "2" [target."cfg(target_os = \"macos\")".dependencies] swift-rs = { version = "1.0.6", features = [ "build" ] } plist = "1" - -[features] -codegen = [ "tauri-codegen", "quote" ] -isolation = [ "tauri-codegen/isolation", "tauri-utils/isolation" ] -config-json5 = [ "tauri-utils/config-json5" ] -config-toml = [ "tauri-utils/config-toml" ] diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/core/tauri-runtime/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tauri-runtime/Cargo.toml similarity index 74% rename from tests/packagedcode/data/cargo/cargo-with-workspace/core/tauri-runtime/Cargo.toml rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tauri-runtime/Cargo.toml index 8c30ab13d5..94afc4af70 100644 --- a/tests/packagedcode/data/cargo/cargo-with-workspace/core/tauri-runtime/Cargo.toml +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tauri-runtime/Cargo.toml @@ -12,19 +12,6 @@ license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } -[package.metadata.docs.rs] -all-features = true -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] -default-target = "x86_64-unknown-linux-gnu" -targets = [ - "x86_64-pc-windows-msvc", - "x86_64-unknown-linux-gnu", - "x86_64-apple-darwin", - "x86_64-linux-android", - "x86_64-apple-ios" -] - [dependencies] serde = { version = "1.0", features = [ "derive" ] } serde_json = "1.0" @@ -46,7 +33,3 @@ jni = "0.21" [target."cfg(target_os = \"macos\")".dependencies] url = "2" - -[features] -devtools = [ ] -macos-private-api = [ ] diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/core/tauri/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tauri/Cargo.toml similarity index 57% rename from tests/packagedcode/data/cargo/cargo-with-workspace/core/tauri/Cargo.toml rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tauri/Cargo.toml index 97ea27d464..11222befb7 100644 --- a/tests/packagedcode/data/cargo/cargo-with-workspace/core/tauri/Cargo.toml +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tauri/Cargo.toml @@ -13,33 +13,6 @@ license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } -[package.metadata.docs.rs] -no-default-features = true -features = [ - "wry", - "custom-protocol", - "tray-icon", - "devtools", - "icon-png", - "protocol-asset", - "test" -] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] -default-target = "x86_64-unknown-linux-gnu" -targets = [ - "x86_64-pc-windows-msvc", - "x86_64-unknown-linux-gnu", - "x86_64-apple-darwin", - "x86_64-linux-android", - "x86_64-apple-ios" -] - -[package.metadata.cargo-udeps.ignore] -normal = [ "reqwest" ] -build = [ "tauri-build" ] -development = [ "quickcheck_macros" ] - [dependencies] serde_json = { version = "1.0", features = [ "raw_value" ] } serde = { version = "1.0", features = [ "derive", "rc" ] } @@ -122,73 +95,3 @@ tauri = { path = ".", default-features = false, features = [ "wry" ] } tokio = { version = "1", features = [ "full" ] } cargo_toml = "0.17" http-range = "0.1.5" - -[features] -default = [ - "wry", - "compression", - "objc-exception", - "tray-icon?/common-controls-v6", - "muda/common-controls-v6" -] -tray-icon = [ "dep:tray-icon" ] -test = [ ] -compression = [ "tauri-macros/compression", "tauri-utils/compression" ] -wry = [ "tauri-runtime-wry" ] -objc-exception = [ "tauri-runtime-wry/objc-exception" ] -linux-ipc-protocol = [ "tauri-runtime-wry/linux-protocol-body", "webkit2gtk/v2_40" ] -linux-libxdo = [ "tray-icon/libxdo", "muda/libxdo" ] -isolation = [ "tauri-utils/isolation", "tauri-macros/isolation", "uuid" ] -custom-protocol = [ "tauri-macros/custom-protocol" ] -native-tls = [ "reqwest/native-tls" ] -native-tls-vendored = [ "reqwest/native-tls-vendored" ] -rustls-tls = [ "reqwest/rustls-tls" ] -devtools = [ "tauri-runtime/devtools", "tauri-runtime-wry/devtools" ] -process-relaunch-dangerous-allow-symlink-macos = [ "tauri-utils/process-relaunch-dangerous-allow-symlink-macos" ] -macos-private-api = [ - "tauri-runtime/macos-private-api", - "tauri-runtime-wry/macos-private-api" -] -window-data-url = [ "data-url" ] -protocol-asset = [ "http-range" ] -config-json5 = [ "tauri-macros/config-json5" ] -config-toml = [ "tauri-macros/config-toml" ] -icon-ico = [ "infer", "ico" ] -icon-png = [ "infer", "png" ] - -[[example]] -name = "commands" -path = "../../examples/commands/main.rs" - -[[example]] -name = "helloworld" -path = "../../examples/helloworld/main.rs" - -[[example]] -name = "multiwindow" -path = "../../examples/multiwindow/main.rs" - -[[example]] -name = "parent-window" -path = "../../examples/parent-window/main.rs" - -[[example]] -name = "navigation" -path = "../../examples/navigation/main.rs" - -[[example]] -name = "splashscreen" -path = "../../examples/splashscreen/main.rs" - -[[example]] -name = "state" -path = "../../examples/state/main.rs" - -[[example]] -name = "streaming" -path = "../../examples/streaming/main.rs" - -[[example]] -name = "isolation" -path = "../../examples/isolation/main.rs" -required-features = [ "isolation" ] diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/core/tests/restart/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tests/restart/Cargo.toml similarity index 100% rename from tests/packagedcode/data/cargo/cargo-with-workspace/core/tests/restart/Cargo.toml rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/core/tests/restart/Cargo.toml diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/examples/api/package.json b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/examples/api/package.json similarity index 100% rename from tests/packagedcode/data/cargo/cargo-with-workspace/examples/api/package.json rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/examples/api/package.json diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/examples/api/src-tauri/Cargo.lock b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/examples/api/src-tauri/Cargo.lock similarity index 100% rename from tests/packagedcode/data/cargo/cargo-with-workspace/examples/api/src-tauri/Cargo.lock rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/examples/api/src-tauri/Cargo.lock diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/examples/api/src-tauri/Cargo.toml b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/examples/api/src-tauri/Cargo.toml similarity index 85% rename from tests/packagedcode/data/cargo/cargo-with-workspace/examples/api/src-tauri/Cargo.toml rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/examples/api/src-tauri/Cargo.toml index c83ce5c1ce..a6df95d927 100644 --- a/tests/packagedcode/data/cargo/cargo-with-workspace/examples/api/src-tauri/Cargo.toml +++ b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/examples/api/src-tauri/Cargo.toml @@ -44,14 +44,3 @@ features = ["test"] [target."cfg(target_os = \"windows\")".dependencies] window-shadows= "0.2" - -[features] -custom-protocol = [ "tauri/custom-protocol" ] - -# default to small, optimized release binaries -[profile.release] -panic = "abort" -codegen-units = 1 -lto = true -incremental = false -opt-level = "s" diff --git a/tests/packagedcode/data/cargo/cargo-with-workspace/package.json b/tests/packagedcode/data/cargo/cargo-with-workspace/tauri/package.json similarity index 100% rename from tests/packagedcode/data/cargo/cargo-with-workspace/package.json rename to tests/packagedcode/data/cargo/cargo-with-workspace/tauri/package.json diff --git a/tests/packagedcode/data/cargo/cargo_toml/boring-child/Cargo.toml b/tests/packagedcode/data/cargo/cargo_toml/boring-child/Cargo.toml new file mode 100644 index 0000000000..84ebd07b95 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_toml/boring-child/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "boring-sys" +version = { workspace = true } +authors = ["Alex Crichton ", + "Steven Fackler ", + "Ivan Nikulin "] +license = "MIT" +description = "FFI bindings to BoringSSL" +repository = { workspace = true } +documentation = "https://docs.rs/boring-sys" +links = "boringssl" +build = "build/main.rs" +readme = "README.md" +categories = ["cryptography", "external-ffi-bindings"] +edition = { workspace = true } + +[build-dependencies] +bindgen = { workspace = true } +cmake = { workspace = true } +fs_extra = { workspace = true } +fslock = { workspace = true } diff --git a/tests/packagedcode/data/cargo/cargo_toml/boring-child/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/boring-child/Cargo.toml.expected new file mode 100644 index 0000000000..2c7082cb03 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_toml/boring-child/Cargo.toml.expected @@ -0,0 +1,146 @@ +[ + { + "type": "cargo", + "namespace": null, + "name": "boring-sys", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "FFI bindings to BoringSSL", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Alex Crichton", + "email": "alex@alexcrichton.com", + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Steven Fackler", + "email": "sfackler@gmail.com", + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Ivan Nikulin", + "email": "ifaaan@gmail.com", + "url": null + } + ], + "keywords": [ + "cryptography", + "external-ffi-bindings" + ], + "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": "mit", + "declared_license_expression_spdx": "MIT", + "license_detections": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "matches": [ + { + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": null, + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null, + "matched_text": "MIT" + } + ], + "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "MIT", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "version": "workspace", + "repository": "workspace", + "edition": "workspace", + "documentation_url": "https://docs.rs/boring-sys" + }, + "dependencies": [ + { + "purl": "pkg:cargo/bindgen", + "extracted_requirement": null, + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "workspace": true + } + }, + { + "purl": "pkg:cargo/cmake", + "extracted_requirement": null, + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "workspace": true + } + }, + { + "purl": "pkg:cargo/fs_extra", + "extracted_requirement": null, + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "workspace": true + } + }, + { + "purl": "pkg:cargo/fslock", + "extracted_requirement": null, + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "workspace": true + } + } + ], + "repository_homepage_url": "https://crates.io/crates/boring-sys", + "repository_download_url": null, + "api_data_url": "https://crates.io/api/v1/crates/boring-sys", + "datasource_id": "cargo_toml", + "purl": "pkg:cargo/boring-sys" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_toml/boring-main/Cargo.toml b/tests/packagedcode/data/cargo/cargo_toml/boring-main/Cargo.toml new file mode 100644 index 0000000000..aaeb3db203 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_toml/boring-main/Cargo.toml @@ -0,0 +1,44 @@ +[workspace] +members = [ + "boring", + "boring-sys", + "tokio-boring", + "hyper-boring" +] +resolver = "2" + +[workspace.package] +version = "4.6.0" +repository = "https://github.com/cloudflare/boring" +edition = "2021" + +[workspace.metadata.release] +pre-release-commit-message = "Release {{version}}" +shared-version = true +tag-prefix = "" +publish = false + +[workspace.dependencies] +boring-sys = { version = "4.6.0", path = "./boring-sys" } +boring = { version = "4.6.0", path = "./boring" } +tokio-boring = { version = "4.6.0", path = "./tokio-boring" } + +bindgen = { version = "0.68.1", default-features = false, features = ["runtime"] } +cmake = "0.1.18" +fs_extra = "1.3.0" +fslock = "0.2" +bitflags = "2.4" +foreign-types = "0.5" +libc = "0.2" +hex = "0.4" +rusty-hook = "^0.11" +futures = "0.3" +tokio = "1" +anyhow = "1" +antidote = "1.0.0" +http = "0.2" +hyper = { version = "0.14", default-features = false } +linked_hash_set = "0.1" +once_cell = "1.0" +tower = "0.4" +tower-layer = "0.3" diff --git a/tests/packagedcode/data/cargo/cargo_toml/boring-main/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/boring-main/Cargo.toml.expected new file mode 100644 index 0000000000..7037878eea --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_toml/boring-main/Cargo.toml.expected @@ -0,0 +1,109 @@ +[ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "workspace": { + "members": [ + "boring", + "boring-sys", + "tokio-boring", + "hyper-boring" + ], + "resolver": "2", + "package": { + "version": "4.6.0", + "repository": "https://github.com/cloudflare/boring", + "edition": "2021" + }, + "metadata": { + "release": { + "pre-release-commit-message": "Release {{version}}", + "shared-version": true, + "tag-prefix": "", + "publish": false + } + }, + "dependencies": { + "boring-sys": { + "version": "4.6.0", + "path": "./boring-sys" + }, + "boring": { + "version": "4.6.0", + "path": "./boring" + }, + "tokio-boring": { + "version": "4.6.0", + "path": "./tokio-boring" + }, + "bindgen": { + "version": "0.68.1", + "default-features": false, + "features": [ + "runtime" + ] + }, + "cmake": "0.1.18", + "fs_extra": "1.3.0", + "fslock": "0.2", + "bitflags": "2.4", + "foreign-types": "0.5", + "libc": "0.2", + "hex": "0.4", + "rusty-hook": "^0.11", + "futures": "0.3", + "tokio": "1", + "anyhow": "1", + "antidote": "1.0.0", + "http": "0.2", + "hyper": { + "version": "0.14", + "default-features": false + }, + "linked_hash_set": "0.1", + "once_cell": "1.0", + "tower": "0.4", + "tower-layer": "0.3" + } + } + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "cargo_toml", + "purl": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected index fc87d164f1..b30fd5da91 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected @@ -18,7 +18,14 @@ "url": null } ], - "keywords": [], + "keywords": [ + "argument", + "cli", + "arg", + "parser", + "parse", + "command-line-interface" + ], "homepage_url": "https://clap.rs/", "download_url": null, "size": null, @@ -39,17 +46,17 @@ "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": null, "start_line": 1, "end_line": 1, - "from_file": null, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "spdx_license_expression": "MIT", - "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -64,8 +71,143 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": {}, - "dependencies": [], + "extra_data": { + "documentation_url": "https://docs.rs/clap/" + }, + "dependencies": [ + { + "purl": "pkg:cargo/bitflags", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/unicode-width", + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/textwrap", + "extracted_requirement": "0.10.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/strsim", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.8" + } + }, + { + "purl": "pkg:cargo/yaml-rust", + "extracted_requirement": "0.3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3.5" + } + }, + { + "purl": "pkg:cargo/clippy", + "extracted_requirement": "~0.0.166", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "~0.0.166" + } + }, + { + "purl": "pkg:cargo/atty", + "extracted_requirement": "0.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.2.2" + } + }, + { + "purl": "pkg:cargo/vec_map", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.8" + } + }, + { + "purl": "pkg:cargo/term_size", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3.0" + } + }, + { + "purl": "pkg:cargo/regex", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/lazy_static", + "extracted_requirement": "~1.1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/version-sync", + "extracted_requirement": "0.5", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], "repository_homepage_url": "https://crates.io/crates/clap", "repository_download_url": "https://crates.io/api/v1/crates/clap/2.32.0/download", "api_data_url": "https://crates.io/api/v1/crates/clap", diff --git a/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected index a858550803..1834c064a8 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected @@ -46,7 +46,13 @@ "url": null } ], - "keywords": [], + "keywords": [ + "clippy", + "lint", + "plugin", + "development-tools", + "development-tools::cargo-plugins" + ], "homepage_url": null, "download_url": null, "size": null, @@ -67,17 +73,17 @@ "license_expression_spdx": "MIT OR Apache-2.0", "matches": [ { - "score": 99.0, + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 1, - "from_file": null, + "matcher": "1-hash", + "score": 99.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit OR apache-2.0", - "spdx_license_expression": "MIT OR Apache-2.0", - "rule_identifier": "mit_or_apache-2.0_1.RULE", "rule_relevance": 99, + "rule_identifier": "mit_or_apache-2.0_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_1.RULE", "matched_text": "MIT/Apache-2.0" } @@ -92,8 +98,166 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": {}, - "dependencies": [], + "extra_data": { + "rust_edition": "2018" + }, + "dependencies": [ + { + "purl": "pkg:cargo/clippy_lints", + "extracted_requirement": "0.0.212", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.0.212", + "path": "clippy_lints" + } + }, + { + "purl": "pkg:cargo/regex", + "extracted_requirement": "1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/semver", + "extracted_requirement": "0.9", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rustc_tools_util", + "extracted_requirement": "0.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.1.1", + "path": "rustc_tools_util" + } + }, + { + "purl": "pkg:cargo/clippy_dev", + "extracted_requirement": "0.0.1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.0.1", + "path": "clippy_dev" + } + }, + { + "purl": "pkg:cargo/cargo_metadata", + "extracted_requirement": "0.7.1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/compiletest_rs", + "extracted_requirement": "0.3.19", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/lazy_static", + "extracted_requirement": "1.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde_derive", + "extracted_requirement": "1.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/clippy-mini-macro-test", + "extracted_requirement": "0.2", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.2", + "path": "mini-macro" + } + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/derive-new", + "extracted_requirement": "0.5", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rustc-workspace-hack", + "extracted_requirement": "1.0.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rustc_tools_util", + "extracted_requirement": "0.1.1", + "scope": "build-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.1.1", + "path": "rustc_tools_util" + } + } + ], "repository_homepage_url": "https://crates.io/crates/clippy", "repository_download_url": "https://crates.io/api/v1/crates/clippy/0.0.212/download", "api_data_url": "https://crates.io/api/v1/crates/clippy", diff --git a/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected index 120a987ea5..31dad5fba6 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected @@ -32,7 +32,12 @@ "url": null } ], - "keywords": [], + "keywords": [ + "book", + "gitbook", + "rustbook", + "markdown" + ], "homepage_url": null, "download_url": null, "size": null, @@ -53,17 +58,17 @@ "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 50.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": null, "start_line": 1, "end_line": 1, - "from_file": null, + "matcher": "1-hash", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "spdx_license_expression": "MPL-2.0", - "rule_identifier": "spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "matched_text": "MPL-2.0" } @@ -78,8 +83,314 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": {}, - "dependencies": [], + "extra_data": { + "documentation_url": "http://rust-lang-nursery.github.io/mdBook/index.html" + }, + "dependencies": [ + { + "purl": "pkg:cargo/clap", + "extracted_requirement": "2.24", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/chrono", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/handlebars", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde_derive", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/error-chain", + "extracted_requirement": "0.12", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/pulldown-cmark", + "extracted_requirement": "0.1.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/lazy_static", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/log", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/env_logger", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/toml", + "extracted_requirement": "0.4.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/memchr", + "extracted_requirement": "2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/open", + "extracted_requirement": "1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/regex", + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tempfile", + "extracted_requirement": "3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/itertools", + "extracted_requirement": "0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/shlex", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/toml-query", + "extracted_requirement": "0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/notify", + "extracted_requirement": "4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "4.0" + } + }, + { + "purl": "pkg:cargo/iron", + "extracted_requirement": "0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.6" + } + }, + { + "purl": "pkg:cargo/staticfile", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.5" + } + }, + { + "purl": "pkg:cargo/ws", + "extracted_requirement": "0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.7" + } + }, + { + "purl": "pkg:cargo/elasticlunr-rs", + "extracted_requirement": "2.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.3", + "default-features": false + } + }, + { + "purl": "pkg:cargo/ammonia", + "extracted_requirement": "1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.1" + } + }, + { + "purl": "pkg:cargo/select", + "extracted_requirement": "0.4", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/pretty_assertions", + "extracted_requirement": "0.5", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/walkdir", + "extracted_requirement": "2.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/pulldown-cmark-to-cmark", + "extracted_requirement": "1.1.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], "repository_homepage_url": "https://crates.io/crates/mdbook", "repository_download_url": "https://crates.io/api/v1/crates/mdbook/0.2.4-alpha.0/download", "api_data_url": "https://crates.io/api/v1/crates/mdbook", diff --git a/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected index 34f798d039..9407ec023b 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected @@ -25,7 +25,9 @@ "url": null } ], - "keywords": [], + "keywords": [ + "development-tools" + ], "homepage_url": null, "download_url": null, "size": null, @@ -46,17 +48,17 @@ "license_expression_spdx": "Apache-2.0 OR MIT", "matches": [ { - "score": 99.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": null, "start_line": 1, "end_line": 1, - "from_file": null, + "matcher": "1-hash", + "score": 99.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0 OR mit", - "spdx_license_expression": "Apache-2.0 OR MIT", - "rule_identifier": "apache-2.0_or_mit_48.RULE", "rule_relevance": 99, + "rule_identifier": "apache-2.0_or_mit_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_48.RULE", "matched_text": "Apache-2.0/MIT" } @@ -71,8 +73,261 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": {}, - "dependencies": [], + "extra_data": { + "rust_edition": "2018" + }, + "dependencies": [ + { + "purl": "pkg:cargo/atty", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/itertools", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/toml", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde_derive", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/unicode-segmentation", + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/regex", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/term", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/diff", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/log", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/env_logger", + "extracted_requirement": "0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/getopts", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/derive-new", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/cargo_metadata", + "extracted_requirement": "0.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rustc-ap-rustc_target", + "extracted_requirement": "373.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rustc-ap-syntax", + "extracted_requirement": "373.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rustc-ap-syntax_pos", + "extracted_requirement": "373.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/failure", + "extracted_requirement": "0.1.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/bytecount", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/unicode-width", + "extracted_requirement": "0.1.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/unicode_categories", + "extracted_requirement": "0.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/dirs", + "extracted_requirement": "1.0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rustc-workspace-hack", + "extracted_requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/lazy_static", + "extracted_requirement": "1.0.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], "repository_homepage_url": "https://crates.io/crates/rustfmt-nightly", "repository_download_url": "https://crates.io/api/v1/crates/rustfmt-nightly/1.0.3/download", "api_data_url": "https://crates.io/api/v1/crates/rustfmt-nightly", diff --git a/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected index 457a1549d3..a39f2cd6f8 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected @@ -18,7 +18,12 @@ "url": null } ], - "keywords": [], + "keywords": [ + "rustup", + "multirust", + "install", + "proxy" + ], "homepage_url": "https://github.com/rust-lang/rustup.rs", "download_url": null, "size": null, @@ -39,17 +44,17 @@ "license_expression_spdx": "MIT OR Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 1, - "from_file": null, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit OR apache-2.0", - "spdx_license_expression": "MIT OR Apache-2.0", - "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE", "matched_text": "MIT OR Apache-2.0" } @@ -69,9 +74,253 @@ "members": [ "src/download" ] - } + }, + "documentation_url": "http://rust-lang.github.io/rustup.rs/rustup/index.html", + "rust_edition": "2018" }, - "dependencies": [], + "dependencies": [ + { + "purl": "pkg:cargo/rustup-dist", + "extracted_requirement": null, + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "src/rustup-dist" + } + }, + { + "purl": "pkg:cargo/rustup-utils", + "extracted_requirement": null, + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "src/rustup-utils" + } + }, + { + "purl": "pkg:cargo/download", + "extracted_requirement": null, + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "src/download" + } + }, + { + "purl": "pkg:cargo/clap", + "extracted_requirement": "2.18.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/error-chain", + "extracted_requirement": "0.12.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/itertools", + "extracted_requirement": "0.7.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/libc", + "extracted_requirement": "0.2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/markdown", + "extracted_requirement": "0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rand", + "extracted_requirement": "0.5.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/regex", + "extracted_requirement": "1.0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/remove_dir_all", + "extracted_requirement": "0.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/same-file", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/scopeguard", + "extracted_requirement": "0.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/sha2", + "extracted_requirement": "0.7.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tempdir", + "extracted_requirement": "0.3.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/term", + "extracted_requirement": "0.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/time", + "extracted_requirement": "0.1.34", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/toml", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/url", + "extracted_requirement": "1.1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/wait-timeout", + "extracted_requirement": "0.1.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/openssl", + "extracted_requirement": "0.10.15", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.10.15" + } + }, + { + "purl": "pkg:cargo/rustup-mock", + "extracted_requirement": "1.1.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "src/rustup-mock", + "version": "1.1.0" + } + }, + { + "purl": "pkg:cargo/lazy_static", + "extracted_requirement": "1.0.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], "repository_homepage_url": "https://crates.io/crates/rustup", "repository_download_url": "https://crates.io/api/v1/crates/rustup/1.17.0/download", "api_data_url": "https://crates.io/api/v1/crates/rustup", diff --git a/tests/packagedcode/data/cargo/cargo_toml/tauri-examples/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/tauri-examples/Cargo.toml.expected index 32ee8a491c..2aeb2a6ecf 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/tauri-examples/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/tauri-examples/Cargo.toml.expected @@ -34,7 +34,8 @@ "source_packages": [], "file_references": [], "extra_data": { - "version": "workspace" + "version": "workspace", + "rust_edition": "2021" }, "dependencies": [], "repository_homepage_url": "https://crates.io/crates/core-api", diff --git a/tests/packagedcode/data/cargo/cargo_toml/tauri/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/tauri/Cargo.toml.expected index 2d142d914a..8b2b919f6d 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/tauri/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/tauri/Cargo.toml.expected @@ -9,19 +9,9 @@ "primary_language": "Rust", "description": "Runtime for Tauri applications", "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "workspace", - "email": null, - "url": null - } - ], + "parties": [], "keywords": [], - "homepage_url": { - "workspace": true - }, + "homepage_url": null, "download_url": null, "size": null, "sha1": null, @@ -30,46 +20,110 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": { - "workspace": true - }, + "vcs_url": null, "copyright": null, "holder": null, - "declared_license_expression": "unknown", - "declared_license_expression_spdx": "LicenseRef-scancode-unknown", - "license_detections": [ - { - "license_expression": "unknown", - "license_expression_spdx": "LicenseRef-scancode-unknown", - "matches": [ - { - "license_expression": "unknown", - "spdx_license_expression": "LicenseRef-scancode-unknown", - "from_file": null, - "start_line": 1, - "end_line": 1, - "matcher": "5-undetected", - "score": 100.0, - "matched_length": 3, - "match_coverage": 100.0, - "rule_relevance": 100, - "rule_identifier": "package-manifest-unknown-06e9bf2862e301d2e03347936ee156170df84855", - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-06e9bf2862e301d2e03347936ee156170df84855", - "matched_text": "license {'workspace': True}" - } - ], - "identifier": "unknown-91d148c3-19ed-e6b1-0d37-5f588dcd6a94" - } - ], + "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": "workspace: yes\n", + "extracted_license_statement": null, "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": {}, - "dependencies": [], + "extra_data": { + "authors": "workspace", + "homepage": "workspace", + "repository": "workspace", + "categories": "workspace", + "license": "workspace", + "edition": "workspace", + "rust-version": "workspace" + }, + "dependencies": [ + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive" + ] + } + }, + { + "purl": "pkg:cargo/serde_json", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/thiserror", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/tauri-utils", + "extracted_requirement": "2.0.0-alpha.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2.0.0-alpha.10", + "path": "../tauri-utils" + } + }, + { + "purl": "pkg:cargo/http", + "extracted_requirement": "0.2.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/raw-window-handle", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/url", + "extracted_requirement": "2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "2" + } + } + ], "repository_homepage_url": "https://crates.io/crates/tauri-runtime", "repository_download_url": "https://crates.io/api/v1/crates/tauri-runtime/1.0.0-alpha.4/download", "api_data_url": "https://crates.io/api/v1/crates/tauri-runtime", diff --git a/tests/packagedcode/data/cargo/scan-package-only.expected.json b/tests/packagedcode/data/cargo/scan-package-only.expected.json index 5355bf80b7..f43796fbc9 100644 --- a/tests/packagedcode/data/cargo/scan-package-only.expected.json +++ b/tests/packagedcode/data/cargo/scan-package-only.expected.json @@ -293,7 +293,10 @@ "url": null } ], - "keywords": [], + "keywords": [ + "apple", + "xar" + ], "homepage_url": "https://github.com/indygreg/PyOxidizer", "download_url": null, "size": null, @@ -316,8 +319,245 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": {}, - "dependencies": [], + "extra_data": { + "rust_edition": "2021" + }, + "dependencies": [ + { + "purl": "pkg:cargo/base64", + "extracted_requirement": "0.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/bcder", + "extracted_requirement": "0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/bzip2", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/chrono", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.4", + "features": [ + "serde" + ] + } + }, + { + "purl": "pkg:cargo/digest", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/log", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/md-5", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/flate2", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rand", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/reqwest", + "extracted_requirement": "0.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.11", + "default-features": false + } + }, + { + "purl": "pkg:cargo/scroll", + "extracted_requirement": "0.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.11", + "features": [ + "derive" + ] + } + }, + { + "purl": "pkg:cargo/serde-xml-rs", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive" + ] + } + }, + { + "purl": "pkg:cargo/sha1", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/sha2", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/thiserror", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/url", + "extracted_requirement": "2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/xml-rs", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/xz2", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/cryptographic-message-syntax", + "extracted_requirement": "0.15.0-pre", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../cryptographic-message-syntax", + "version": "0.15.0-pre" + } + }, + { + "purl": "pkg:cargo/x509-certificate", + "extracted_requirement": "0.13.0-pre", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../x509-certificate", + "version": "0.13.0-pre" + } + } + ], "repository_homepage_url": "https://crates.io/crates/apple-xar", "repository_download_url": "https://crates.io/api/v1/crates/apple-xar/0.4.0-pre/download", "api_data_url": "https://crates.io/api/v1/crates/apple-xar", @@ -365,7 +605,17 @@ "url": null } ], - "keywords": [], + "keywords": [ + "search", + "text", + "aho", + "multi", + "double-array", + "text-processing", + "algorithms", + "data-structures", + "no-std" + ], "homepage_url": "https://github.com/daac-tools/daachorse", "download_url": null, "size": null, @@ -394,7 +644,8 @@ "bench", "daacfind" ] - } + }, + "rust_edition": "2021" }, "dependencies": [], "repository_homepage_url": "https://crates.io/crates/daachorse", diff --git a/tests/packagedcode/data/cargo/scan.expected.json b/tests/packagedcode/data/cargo/scan.expected.json index 8af8ca3ac2..75039382a7 100644 --- a/tests/packagedcode/data/cargo/scan.expected.json +++ b/tests/packagedcode/data/cargo/scan.expected.json @@ -19,7 +19,10 @@ "url": null } ], - "keywords": [], + "keywords": [ + "apple", + "xar" + ], "homepage_url": "https://github.com/indygreg/PyOxidizer", "download_url": null, "size": null, @@ -64,7 +67,9 @@ "extracted_license_statement": "MPL-2.0", "notice_text": null, "source_packages": [], - "extra_data": {}, + "extra_data": { + "rust_edition": "2021" + }, "repository_homepage_url": "https://crates.io/crates/apple-xar", "repository_download_url": "https://crates.io/api/v1/crates/apple-xar/0.4.0-pre/download", "api_data_url": "https://crates.io/api/v1/crates/apple-xar", @@ -103,7 +108,17 @@ "url": null } ], - "keywords": [], + "keywords": [ + "search", + "text", + "aho", + "multi", + "double-array", + "text-processing", + "algorithms", + "data-structures", + "no-std" + ], "homepage_url": "https://github.com/daac-tools/daachorse", "download_url": null, "size": null, @@ -154,7 +169,8 @@ "bench", "daacfind" ] - } + }, + "rust_edition": "2021" }, "repository_homepage_url": "https://crates.io/crates/daachorse", "repository_download_url": "https://crates.io/api/v1/crates/daachorse/0.4.1/download", @@ -170,6 +186,324 @@ } ], "dependencies": [ + { + "purl": "pkg:cargo/base64", + "extracted_requirement": "0.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/base64?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/bcder", + "extracted_requirement": "0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/bcder?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/bzip2", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/bzip2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/chrono", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.4", + "features": [ + "serde" + ] + }, + "dependency_uid": "pkg:cargo/chrono?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/digest", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/digest?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/log", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/log?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/md-5", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/md-5?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/flate2", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/flate2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/rand", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/rand?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/reqwest", + "extracted_requirement": "0.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.11", + "default-features": false + }, + "dependency_uid": "pkg:cargo/reqwest?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/scroll", + "extracted_requirement": "0.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.11", + "features": [ + "derive" + ] + }, + "dependency_uid": "pkg:cargo/scroll?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde-xml-rs", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/serde-xml-rs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive" + ] + }, + "dependency_uid": "pkg:cargo/serde?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/sha1", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/sha1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/sha2", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/sha2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/thiserror", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/thiserror?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/url", + "extracted_requirement": "2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/url?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/xml-rs", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/xml-rs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/xz2", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/xz2?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/cryptographic-message-syntax", + "extracted_requirement": "0.15.0-pre", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../cryptographic-message-syntax", + "version": "0.15.0-pre" + }, + "dependency_uid": "pkg:cargo/cryptographic-message-syntax?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/x509-certificate", + "extracted_requirement": "0.13.0-pre", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../x509-certificate", + "version": "0.13.0-pre" + }, + "dependency_uid": "pkg:cargo/x509-certificate?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/apple-xar@0.4.0-pre?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "scan/Cargo.toml", + "datasource_id": "cargo_toml" + }, { "purl": "pkg:cargo/ahash@0.7.4", "extracted_requirement": "0.7.4", @@ -759,7 +1093,10 @@ "url": null } ], - "keywords": [], + "keywords": [ + "apple", + "xar" + ], "homepage_url": "https://github.com/indygreg/PyOxidizer", "download_url": null, "size": null, @@ -805,8 +1142,245 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": {}, - "dependencies": [], + "extra_data": { + "rust_edition": "2021" + }, + "dependencies": [ + { + "purl": "pkg:cargo/base64", + "extracted_requirement": "0.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/bcder", + "extracted_requirement": "0.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/bzip2", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/chrono", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.4", + "features": [ + "serde" + ] + } + }, + { + "purl": "pkg:cargo/digest", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/log", + "extracted_requirement": "0.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/md-5", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/flate2", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/rand", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/reqwest", + "extracted_requirement": "0.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.11", + "default-features": false + } + }, + { + "purl": "pkg:cargo/scroll", + "extracted_requirement": "0.11", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.11", + "features": [ + "derive" + ] + } + }, + { + "purl": "pkg:cargo/serde-xml-rs", + "extracted_requirement": "0.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0", + "features": [ + "derive" + ] + } + }, + { + "purl": "pkg:cargo/sha1", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/sha2", + "extracted_requirement": "0.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/thiserror", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/url", + "extracted_requirement": "2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/xml-rs", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/xz2", + "extracted_requirement": "0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/cryptographic-message-syntax", + "extracted_requirement": "0.15.0-pre", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../cryptographic-message-syntax", + "version": "0.15.0-pre" + } + }, + { + "purl": "pkg:cargo/x509-certificate", + "extracted_requirement": "0.13.0-pre", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "../x509-certificate", + "version": "0.13.0-pre" + } + } + ], "repository_homepage_url": "https://crates.io/crates/apple-xar", "repository_download_url": "https://crates.io/api/v1/crates/apple-xar/0.4.0-pre/download", "api_data_url": "https://crates.io/api/v1/crates/apple-xar", @@ -856,7 +1430,17 @@ "url": null } ], - "keywords": [], + "keywords": [ + "search", + "text", + "aho", + "multi", + "double-array", + "text-processing", + "algorithms", + "data-structures", + "no-std" + ], "homepage_url": "https://github.com/daac-tools/daachorse", "download_url": null, "size": null, @@ -908,7 +1492,8 @@ "bench", "daacfind" ] - } + }, + "rust_edition": "2021" }, "dependencies": [], "repository_homepage_url": "https://crates.io/crates/daachorse", diff --git a/tests/packagedcode/data/plugin/cargo-package-expected.json b/tests/packagedcode/data/plugin/cargo-package-expected.json index dcd0333054..2777416d81 100644 --- a/tests/packagedcode/data/plugin/cargo-package-expected.json +++ b/tests/packagedcode/data/plugin/cargo-package-expected.json @@ -19,7 +19,14 @@ "url": null } ], - "keywords": [], + "keywords": [ + "argument", + "cli", + "arg", + "parser", + "parse", + "command-line-interface" + ], "homepage_url": "https://clap.rs/", "download_url": null, "size": null, @@ -64,7 +71,9 @@ "extracted_license_statement": "MIT", "notice_text": null, "source_packages": [], - "extra_data": {}, + "extra_data": { + "documentation_url": "https://docs.rs/clap/" + }, "repository_homepage_url": "https://crates.io/crates/clap", "repository_download_url": "https://crates.io/api/v1/crates/clap/2.32.0/download", "api_data_url": "https://crates.io/api/v1/crates/clap", @@ -78,7 +87,188 @@ "purl": "pkg:cargo/clap@2.32.0" } ], - "dependencies": [], + "dependencies": [ + { + "purl": "pkg:cargo/bitflags", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/bitflags?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/unicode-width", + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/unicode-width?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/textwrap", + "extracted_requirement": "0.10.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/textwrap?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/strsim", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.8" + }, + "dependency_uid": "pkg:cargo/strsim?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/yaml-rust", + "extracted_requirement": "0.3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3.5" + }, + "dependency_uid": "pkg:cargo/yaml-rust?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/clippy", + "extracted_requirement": "~0.0.166", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "~0.0.166" + }, + "dependency_uid": "pkg:cargo/clippy?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/atty", + "extracted_requirement": "0.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.2.2" + }, + "dependency_uid": "pkg:cargo/atty?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/vec_map", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.8" + }, + "dependency_uid": "pkg:cargo/vec_map?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/term_size", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3.0" + }, + "dependency_uid": "pkg:cargo/term_size?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/regex", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/regex?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/lazy_static", + "extracted_requirement": "~1.1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/lazy_static?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/version-sync", + "extracted_requirement": "0.5", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/version-sync?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/clap@2.32.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "Cargo.toml", + "datasource_id": "cargo_toml" + } + ], "files": [ { "path": "Cargo.toml", @@ -103,7 +293,14 @@ "url": null } ], - "keywords": [], + "keywords": [ + "argument", + "cli", + "arg", + "parser", + "parse", + "command-line-interface" + ], "homepage_url": "https://clap.rs/", "download_url": null, "size": null, @@ -149,8 +346,143 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": {}, - "dependencies": [], + "extra_data": { + "documentation_url": "https://docs.rs/clap/" + }, + "dependencies": [ + { + "purl": "pkg:cargo/bitflags", + "extracted_requirement": "1.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/unicode-width", + "extracted_requirement": "0.1.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/textwrap", + "extracted_requirement": "0.10.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/strsim", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.8" + } + }, + { + "purl": "pkg:cargo/yaml-rust", + "extracted_requirement": "0.3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3.5" + } + }, + { + "purl": "pkg:cargo/clippy", + "extracted_requirement": "~0.0.166", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "~0.0.166" + } + }, + { + "purl": "pkg:cargo/atty", + "extracted_requirement": "0.2.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.2.2" + } + }, + { + "purl": "pkg:cargo/vec_map", + "extracted_requirement": "0.8", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.8" + } + }, + { + "purl": "pkg:cargo/term_size", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.3.0" + } + }, + { + "purl": "pkg:cargo/regex", + "extracted_requirement": "1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/lazy_static", + "extracted_requirement": "~1.1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:cargo/version-sync", + "extracted_requirement": "0.5", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], "repository_homepage_url": "https://crates.io/crates/clap", "repository_download_url": "https://crates.io/api/v1/crates/clap/2.32.0/download", "api_data_url": "https://crates.io/api/v1/crates/clap", diff --git a/tests/packagedcode/test_cargo.py b/tests/packagedcode/test_cargo.py index ad7cbe9e63..da13a17c47 100644 --- a/tests/packagedcode/test_cargo.py +++ b/tests/packagedcode/test_cargo.py @@ -71,6 +71,18 @@ def test_parse_cargo_toml_tauri_workspace(self): packages_data = cargo.CargoTomlHandler.parse(test_file) self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) + def test_parse_cargo_toml_workspace_with_dependencies(self): + test_file = self.get_test_loc('cargo/cargo_toml/boring-main/Cargo.toml') + expected_loc = self.get_test_loc('cargo/cargo_toml/boring-main/Cargo.toml.expected') + packages_data = cargo.CargoTomlHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) + + def test_parse_cargo_toml_workspace_with_dependencies_child(self): + test_file = self.get_test_loc('cargo/cargo_toml/boring-child/Cargo.toml') + expected_loc = self.get_test_loc('cargo/cargo_toml/boring-child/Cargo.toml.expected') + packages_data = cargo.CargoTomlHandler.parse(test_file) + self.check_packages_data(packages_data, expected_loc, regen=REGEN_TEST_FIXTURES) + def test_parse_cargo_toml_tauri_workspace_in_version(self): test_file = self.get_test_loc('cargo/cargo_toml/tauri-examples/Cargo.toml') expected_loc = self.get_test_loc('cargo/cargo_toml/tauri-examples/Cargo.toml.expected') @@ -125,11 +137,20 @@ def test_scan_cli_works_package_only(self): expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES ) - def test_scan_works_on_cargo_workspace(self): - test_file = self.get_test_loc('cargo/cargo-with-workspace') - expected_file = self.get_test_loc('cargo/cargo-with-workspace.expected.json') + def test_scan_works_on_cargo_workspace_tauri(self): + test_file = self.get_test_loc('cargo/cargo-with-workspace/tauri/') + expected_file = self.get_test_loc('cargo/cargo-with-workspace/tauri.expected.json') + result_file = self.get_temp_file('results.json') + run_scan_click(['--package', test_file, '--json', result_file]) + check_json_scan( + expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES + ) + + def test_scan_works_on_cargo_workspace_boring(self): + test_file = self.get_test_loc('cargo/cargo-with-workspace/boring/') + expected_file = self.get_test_loc('cargo/cargo-with-workspace/boring.expected.json') result_file = self.get_temp_file('results.json') - run_scan_click(['--package', '--license', test_file, '--json', result_file]) + run_scan_click(['--package', test_file, '--json', result_file]) check_json_scan( expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES ) diff --git a/tests/summarycode/data/score/no_license_ambiguity-expected.json b/tests/summarycode/data/score/no_license_ambiguity-expected.json index 7ed3276d13..33bcbae6dd 100644 --- a/tests/summarycode/data/score/no_license_ambiguity-expected.json +++ b/tests/summarycode/data/score/no_license_ambiguity-expected.json @@ -38,7 +38,12 @@ "url": null } ], - "keywords": [], + "keywords": [ + "random", + "rng", + "algorithms", + "no-std" + ], "homepage_url": "https://rust-random.github.io/book", "download_url": null, "size": null, @@ -91,7 +96,9 @@ "rand_chacha", "rand_pcg" ] - } + }, + "documentation_url": "https://docs.rs/rand", + "rust_edition": "2018" }, "repository_homepage_url": "https://crates.io/crates/rand", "repository_download_url": "https://crates.io/api/v1/crates/rand/0.8.5/download", @@ -106,7 +113,129 @@ "purl": "pkg:cargo/rand@0.8.5" } ], - "dependencies": [], + "dependencies": [ + { + "purl": "pkg:cargo/rand_core", + "extracted_requirement": "0.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "rand_core", + "version": "0.6.0" + }, + "dependency_uid": "pkg:cargo/rand_core?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/rand@0.8.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "no_license_ambiguity/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/log", + "extracted_requirement": "0.4.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.4.4" + }, + "dependency_uid": "pkg:cargo/log?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/rand@0.8.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "no_license_ambiguity/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0.103", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0.103", + "features": [ + "derive" + ] + }, + "dependency_uid": "pkg:cargo/serde?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/rand@0.8.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "no_license_ambiguity/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/rand_chacha", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "rand_chacha", + "version": "0.3.0", + "default-features": false + }, + "dependency_uid": "pkg:cargo/rand_chacha?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/rand@0.8.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "no_license_ambiguity/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/packed_simd", + "extracted_requirement": "0.3.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "package": "packed_simd_2", + "version": "0.3.7", + "features": [ + "into_bits" + ] + }, + "dependency_uid": "pkg:cargo/packed_simd?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/rand@0.8.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "no_license_ambiguity/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/rand_pcg", + "extracted_requirement": "0.3.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "rand_pcg", + "version": "0.3.0" + }, + "dependency_uid": "pkg:cargo/rand_pcg?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/rand@0.8.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "no_license_ambiguity/Cargo.toml", + "datasource_id": "cargo_toml" + }, + { + "purl": "pkg:cargo/bincode", + "extracted_requirement": "1.2.1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:cargo/bincode?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:cargo/rand@0.8.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "no_license_ambiguity/Cargo.toml", + "datasource_id": "cargo_toml" + } + ], "license_detections": [ { "identifier": "apache_2_0-e3938c59-cc73-037c-3372-e20c26c25f48", @@ -483,7 +612,12 @@ "url": null } ], - "keywords": [], + "keywords": [ + "random", + "rng", + "algorithms", + "no-std" + ], "homepage_url": "https://rust-random.github.io/book", "download_url": null, "size": null, @@ -537,9 +671,105 @@ "rand_chacha", "rand_pcg" ] - } + }, + "documentation_url": "https://docs.rs/rand", + "rust_edition": "2018" }, - "dependencies": [], + "dependencies": [ + { + "purl": "pkg:cargo/rand_core", + "extracted_requirement": "0.6.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "rand_core", + "version": "0.6.0" + } + }, + { + "purl": "pkg:cargo/log", + "extracted_requirement": "0.4.4", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "0.4.4" + } + }, + { + "purl": "pkg:cargo/serde", + "extracted_requirement": "1.0.103", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "version": "1.0.103", + "features": [ + "derive" + ] + } + }, + { + "purl": "pkg:cargo/rand_chacha", + "extracted_requirement": "0.3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "rand_chacha", + "version": "0.3.0", + "default-features": false + } + }, + { + "purl": "pkg:cargo/packed_simd", + "extracted_requirement": "0.3.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "package": "packed_simd_2", + "version": "0.3.7", + "features": [ + "into_bits" + ] + } + }, + { + "purl": "pkg:cargo/rand_pcg", + "extracted_requirement": "0.3.0", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": { + "path": "rand_pcg", + "version": "0.3.0" + } + }, + { + "purl": "pkg:cargo/bincode", + "extracted_requirement": "1.2.1", + "scope": "dev-dependencies", + "is_runtime": false, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], "repository_homepage_url": "https://crates.io/crates/rand", "repository_download_url": "https://crates.io/api/v1/crates/rand/0.8.5/download", "api_data_url": "https://crates.io/api/v1/crates/rand",