From 75b6bd1883897811243b9614d0cecb765864bb82 Mon Sep 17 00:00:00 2001 From: uttam282005 Date: Sat, 28 Feb 2026 17:04:36 +0530 Subject: [PATCH 1/2] show full filename for source resources Signed-off-by: uttam282005 --- scanpipe/pipelines/deploy_to_develop.py | 3 +- .../tests/data/d2d-elfs/brotli-elf-d2d.json | 157 +++++++--- .../tests/data/d2d/about_files/expected.json | 285 ++++++++++------- .../tests/data/d2d/flume-ng-node-d2d.json | 257 +++++++++------ .../resolved_dependencies_cocoapods.json | 164 +++++----- .../docker/alpine_3_15_4_scan_codebase.json | 158 +++++----- .../data/docker/centos_scan_codebase.json | 296 +++++++++--------- scanpipe/tests/test_pipelines.py | 6 +- 8 files changed, 776 insertions(+), 550 deletions(-) diff --git a/scanpipe/pipelines/deploy_to_develop.py b/scanpipe/pipelines/deploy_to_develop.py index fa481fa95f..34b8af5044 100644 --- a/scanpipe/pipelines/deploy_to_develop.py +++ b/scanpipe/pipelines/deploy_to_develop.py @@ -137,7 +137,8 @@ def extract_inputs_to_codebase_directory(self): for input_files, codebase_path in inputs_with_codebase_path_destination: for input_file_path in input_files: if input.is_archive(input_file_path): - self.extract_archive(input_file_path, codebase_path) + archive_root = codebase_path / input_file_path.name + self.extract_archive(input_file_path, archive_root) else: input.copy_input(input_file_path, codebase_path) diff --git a/scanpipe/tests/data/d2d-elfs/brotli-elf-d2d.json b/scanpipe/tests/data/d2d-elfs/brotli-elf-d2d.json index 1031a89f5a..c6f04ba3ca 100644 --- a/scanpipe/tests/data/d2d-elfs/brotli-elf-d2d.json +++ b/scanpipe/tests/data/d2d-elfs/brotli-elf-d2d.json @@ -39,7 +39,7 @@ "severity": "warning", "model": "map_resources_with_symbols", "details": { - "from/common/version.h": { + "from/from-brotli-d2d.zip/common/version.h": { "matched_symbols": [], "unmatched_symbols": [ "A", @@ -60,7 +60,7 @@ "matched_symbols_ratio": "0.00", "matched_symbols_unique_ratio": "0.00" }, - "from/common/platform.h": { + "from/from-brotli-d2d.zip/common/platform.h": { "matched_symbols": [ "BrotliDefaultAllocFunc", "BrotliDefaultFreeFunc" @@ -246,7 +246,7 @@ "matched_symbols_ratio": "0.01", "matched_symbols_unique_ratio": "0.01" }, - "from/common/constants.h": { + "from/from-brotli-d2d.zip/common/constants.h": { "matched_symbols": [ "_kBrotliPrefixCodeRanges" ], @@ -306,7 +306,7 @@ "matched_symbols_ratio": "0.01", "matched_symbols_unique_ratio": "0.02" }, - "from/common/transform.c": { + "from/from-brotli-d2d.zip/common/transform.c": { "matched_symbols": [ "BrotliGetTransforms", "BrotliTransformDictionaryWord" @@ -373,7 +373,7 @@ "matched_symbols_ratio": "0.01", "matched_symbols_unique_ratio": "0.04" }, - "from/common/transform.h": { + "from/from-brotli-d2d.zip/common/transform.h": { "matched_symbols": [ "BrotliGetTransforms", "BrotliTransformDictionaryWord" @@ -428,7 +428,7 @@ "matched_symbols_ratio": "0.04", "matched_symbols_unique_ratio": "0.04" }, - "from/common/shared_dictionary_internal.h": { + "from/from-brotli-d2d.zip/common/shared_dictionary_internal.h": { "matched_symbols": [], "unmatched_symbols": [ "BROTLI_COMMON_SHARED_DICTIONARY_INTERNAL_H_", @@ -537,7 +537,43 @@ "extra_data": {} }, { - "path": "from/common", + "path": "from/from-brotli-d2d.zip", + "type": "directory", + "name": "from-brotli-d2d.zip", + "status": "ignored-directory", + "for_packages": [], + "tag": "from", + "extension": ".zip", + "programming_language": "", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "emails": [], + "urls": [], + "md5": "", + "sha1": "", + "sha256": "", + "sha512": "", + "sha1_git": "", + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "extra_data": {} + }, + { + "path": "from/from-brotli-d2d.zip/common", "type": "directory", "name": "common", "status": "ignored-directory", @@ -573,7 +609,7 @@ "extra_data": {} }, { - "path": "from/common/constants.c", + "path": "from/from-brotli-d2d.zip/common/constants.c", "type": "file", "name": "constants.c", "status": "scanned", @@ -672,7 +708,7 @@ } }, { - "path": "from/common/constants.h", + "path": "from/from-brotli-d2d.zip/common/constants.h", "type": "file", "name": "constants.h", "status": "not-deployed", @@ -885,7 +921,7 @@ } }, { - "path": "from/common/context.c", + "path": "from/from-brotli-d2d.zip/common/context.c", "type": "file", "name": "context.c", "status": "no-licenses", @@ -938,7 +974,7 @@ } }, { - "path": "from/common/context.h", + "path": "from/from-brotli-d2d.zip/common/context.h", "type": "file", "name": "context.h", "status": "scanned", @@ -1058,7 +1094,7 @@ } }, { - "path": "from/common/dictionary.c", + "path": "from/from-brotli-d2d.zip/common/dictionary.c", "type": "file", "name": "dictionary.c", "status": "scanned", @@ -1188,7 +1224,7 @@ } }, { - "path": "from/common/dictionary.h", + "path": "from/from-brotli-d2d.zip/common/dictionary.h", "type": "file", "name": "dictionary.h", "status": "scanned", @@ -1307,7 +1343,7 @@ } }, { - "path": "from/common/platform.c", + "path": "from/from-brotli-d2d.zip/common/platform.c", "type": "file", "name": "platform.c", "status": "scanned", @@ -1424,7 +1460,7 @@ } }, { - "path": "from/common/platform.h", + "path": "from/from-brotli-d2d.zip/common/platform.h", "type": "file", "name": "platform.h", "status": "not-deployed", @@ -2201,7 +2237,7 @@ } }, { - "path": "from/common/shared_dictionary.c", + "path": "from/from-brotli-d2d.zip/common/shared_dictionary.c", "type": "file", "name": "shared_dictionary.c", "status": "scanned", @@ -3135,7 +3171,7 @@ } }, { - "path": "from/common/shared_dictionary_internal.h", + "path": "from/from-brotli-d2d.zip/common/shared_dictionary_internal.h", "type": "file", "name": "shared_dictionary_internal.h", "status": "not-deployed", @@ -3206,7 +3242,7 @@ } }, { - "path": "from/common/transform.c", + "path": "from/from-brotli-d2d.zip/common/transform.c", "type": "file", "name": "transform.c", "status": "not-deployed", @@ -3636,7 +3672,7 @@ } }, { - "path": "from/common/transform.h", + "path": "from/from-brotli-d2d.zip/common/transform.h", "type": "file", "name": "transform.h", "status": "not-deployed", @@ -3790,7 +3826,7 @@ } }, { - "path": "from/common/version.h", + "path": "from/from-brotli-d2d.zip/common/version.h", "type": "file", "name": "version.h", "status": "not-deployed", @@ -3910,7 +3946,46 @@ } }, { - "path": "to/libbrotlicommon-5b2eba61.so.1.1.0", + "path": "to/to-brotli-d2d.zip", + "type": "directory", + "name": "to-brotli-d2d.zip", + "status": "ignored-directory", + "for_packages": [], + "tag": "to", + "extension": ".zip", + "programming_language": "", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "emails": [], + "urls": [], + "md5": "", + "sha1": "", + "sha256": "", + "sha512": "", + "sha1_git": "", + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "extra_data": { + "directory_content": "", + "directory_structure": "" + } + }, + { + "path": "to/to-brotli-d2d.zip/libbrotlicommon-5b2eba61.so.1.1.0", "type": "file", "name": "libbrotlicommon-5b2eba61.so.1.1.0", "status": "requires-review", @@ -3982,12 +4057,12 @@ "_kBrotliPrefixCodeRanges" ], "elf_symbols_paths_not_mapped": [ - "from/common/constants.h", - "from/common/platform.h", - "from/common/shared_dictionary_internal.h", - "from/common/transform.c", - "from/common/transform.h", - "from/common/version.h" + "from/from-brotli-d2d.zip/common/constants.h", + "from/from-brotli-d2d.zip/common/platform.h", + "from/from-brotli-d2d.zip/common/shared_dictionary_internal.h", + "from/from-brotli-d2d.zip/common/transform.c", + "from/from-brotli-d2d.zip/common/transform.h", + "from/from-brotli-d2d.zip/common/version.h" ], "dwarf_compiled_paths_not_mapped": [], "dwarf_included_paths_not_mapped": [] @@ -3996,53 +4071,53 @@ ], "relations": [ { - "to_resource": "to/libbrotlicommon-5b2eba61.so.1.1.0", + "to_resource": "to/to-brotli-d2d.zip/libbrotlicommon-5b2eba61.so.1.1.0", "status": "requires-review", "map_type": "elf_symbols", "score": "", - "from_resource": "from/common/constants.c" + "from_resource": "from/from-brotli-d2d.zip/common/constants.c" }, { - "to_resource": "to/libbrotlicommon-5b2eba61.so.1.1.0", + "to_resource": "to/to-brotli-d2d.zip/libbrotlicommon-5b2eba61.so.1.1.0", "status": "requires-review", "map_type": "elf_symbols", "score": "", - "from_resource": "from/common/context.c" + "from_resource": "from/from-brotli-d2d.zip/common/context.c" }, { - "to_resource": "to/libbrotlicommon-5b2eba61.so.1.1.0", + "to_resource": "to/to-brotli-d2d.zip/libbrotlicommon-5b2eba61.so.1.1.0", "status": "requires-review", "map_type": "elf_symbols", "score": "", - "from_resource": "from/common/context.h" + "from_resource": "from/from-brotli-d2d.zip/common/context.h" }, { - "to_resource": "to/libbrotlicommon-5b2eba61.so.1.1.0", + "to_resource": "to/to-brotli-d2d.zip/libbrotlicommon-5b2eba61.so.1.1.0", "status": "requires-review", "map_type": "elf_symbols", "score": "", - "from_resource": "from/common/dictionary.c" + "from_resource": "from/from-brotli-d2d.zip/common/dictionary.c" }, { - "to_resource": "to/libbrotlicommon-5b2eba61.so.1.1.0", + "to_resource": "to/to-brotli-d2d.zip/libbrotlicommon-5b2eba61.so.1.1.0", "status": "requires-review", "map_type": "elf_symbols", "score": "", - "from_resource": "from/common/dictionary.h" + "from_resource": "from/from-brotli-d2d.zip/common/dictionary.h" }, { - "to_resource": "to/libbrotlicommon-5b2eba61.so.1.1.0", + "to_resource": "to/to-brotli-d2d.zip/libbrotlicommon-5b2eba61.so.1.1.0", "status": "requires-review", "map_type": "elf_symbols", "score": "", - "from_resource": "from/common/platform.c" + "from_resource": "from/from-brotli-d2d.zip/common/platform.c" }, { - "to_resource": "to/libbrotlicommon-5b2eba61.so.1.1.0", + "to_resource": "to/to-brotli-d2d.zip/libbrotlicommon-5b2eba61.so.1.1.0", "status": "requires-review", "map_type": "elf_symbols", "score": "", - "from_resource": "from/common/shared_dictionary.c" + "from_resource": "from/from-brotli-d2d.zip/common/shared_dictionary.c" } ] } \ No newline at end of file diff --git a/scanpipe/tests/data/d2d/about_files/expected.json b/scanpipe/tests/data/d2d/about_files/expected.json index 0b20b4a7bc..25b32bb19b 100644 --- a/scanpipe/tests/data/d2d/about_files/expected.json +++ b/scanpipe/tests/data/d2d/about_files/expected.json @@ -54,7 +54,7 @@ "declared_license_expression": "apache-2.0", "extracted_license_statement": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n " }, - "resource_path": "from/flume-ng-node-1.8.0-sources.ABOUT" + "resource_path": "from/from-with-about-file.zip/flume-ng-node-1.8.0-sources.ABOUT" } } ], @@ -202,7 +202,43 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.8.0-sources.ABOUT", + "path": "from/from-with-about-file.zip", + "type": "directory", + "name": "from-with-about-file.zip", + "status": "ignored-directory", + "for_packages": [], + "tag": "from", + "extension": ".zip", + "programming_language": "", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "emails": [], + "urls": [], + "md5": "", + "sha1": "", + "sha256": "", + "sha512": "", + "sha1_git": "", + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "extra_data": {} + }, + { + "path": "from/from-with-about-file.zip/flume-ng-node-1.8.0-sources.ABOUT", "type": "file", "name": "flume-ng-node-1.8.0-sources.ABOUT", "status": "not-deployed", @@ -238,7 +274,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.ABOUT", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT", "type": "file", "name": "flume-ng-node-1.9.0-sources.ABOUT", "status": "about-mapped", @@ -274,7 +310,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.LICENSE", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.LICENSE", "type": "file", "name": "flume-ng-node-1.9.0-sources.LICENSE", "status": "about-mapped", @@ -310,7 +346,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.NOTICE", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.NOTICE", "type": "file", "name": "flume-ng-node-1.9.0-sources.NOTICE", "status": "about-mapped", @@ -346,7 +382,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar", "type": "file", "name": "flume-ng-node-1.9.0-sources.jar", "status": "not-deployed", @@ -382,7 +418,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar-extract", "type": "directory", "name": "flume-ng-node-1.9.0-sources.jar-extract", "status": "ignored-directory", @@ -418,7 +454,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract", "type": "directory", "name": "flume-ng-node-1.9.0-sources.jar-extract", "status": "mapped", @@ -454,7 +490,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org", "type": "directory", "name": "org", "status": "ignored-directory", @@ -490,7 +526,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache", "type": "directory", "name": "apache", "status": "ignored-directory", @@ -526,7 +562,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume", "type": "directory", "name": "flume", "status": "ignored-directory", @@ -562,7 +598,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node", "type": "directory", "name": "node", "status": "ignored-directory", @@ -598,7 +634,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/ConfigurationProvider.java", + "path": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/ConfigurationProvider.java", "type": "file", "name": "ConfigurationProvider.java", "status": "scanned", @@ -700,13 +736,52 @@ "is_readme": false, "is_top_level": false, "is_key_file": false, + "extra_data": { + "directory_content": "00000015f6b057b61fd72b9c3429b9d20282eedf", + "directory_structure": "00000015c25316c66b7aefe7d25688826e36c68b" + } + }, + { + "path": "to/to-with-jar.zip", + "type": "directory", + "name": "to-with-jar.zip", + "status": "ignored-directory", + "for_packages": [], + "tag": "to", + "extension": ".zip", + "programming_language": "", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "emails": [], + "urls": [], + "md5": "", + "sha1": "", + "sha256": "", + "sha512": "", + "sha1_git": "", + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, "extra_data": { "directory_content": "00000015f6b057b61fd72b9c3429b9d20282eedf", "directory_structure": "00000015d76554188eea461e1a07cfb2adbb3c15" } }, { - "path": "to/flume-ng-node-1.9.0.jar", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar", "type": "file", "name": "flume-ng-node-1.9.0.jar", "status": "about-mapped", @@ -744,7 +819,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract", "type": "directory", "name": "flume-ng-node-1.9.0.jar-extract", "status": "about-mapped", @@ -785,7 +860,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF", "type": "directory", "name": "META-INF", "status": "about-mapped", @@ -826,7 +901,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/DEPENDENCIES", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/DEPENDENCIES", "type": "file", "name": "DEPENDENCIES", "status": "about-mapped", @@ -864,7 +939,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/LICENSE", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/LICENSE", "type": "file", "name": "LICENSE", "status": "about-mapped", @@ -902,7 +977,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/MANIFEST.MF", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/MANIFEST.MF", "type": "file", "name": "MANIFEST.MF", "status": "about-mapped", @@ -940,7 +1015,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven", "type": "directory", "name": "maven", "status": "about-mapped", @@ -981,7 +1056,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume", "type": "directory", "name": "org.apache.flume", "status": "about-mapped", @@ -1022,7 +1097,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node", "type": "directory", "name": "flume-ng-node", "status": "about-mapped", @@ -1063,7 +1138,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", "type": "file", "name": "pom.properties", "status": "about-mapped", @@ -1101,7 +1176,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", "type": "file", "name": "pom.xml", "status": "about-mapped", @@ -1139,7 +1214,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org", "type": "directory", "name": "org", "status": "about-mapped", @@ -1180,7 +1255,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache", "type": "directory", "name": "apache", "status": "about-mapped", @@ -1221,7 +1296,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume", "type": "directory", "name": "flume", "status": "about-mapped", @@ -1262,7 +1337,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node", "type": "directory", "name": "node", "status": "about-mapped", @@ -1303,7 +1378,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider$ChannelComponent.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider$ChannelComponent.class", "type": "file", "name": "AbstractConfigurationProvider$ChannelComponent.class", "status": "about-mapped", @@ -1341,7 +1416,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.class", "type": "file", "name": "AbstractConfigurationProvider.class", "status": "about-mapped", @@ -1379,7 +1454,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.class", "type": "file", "name": "AbstractZooKeeperConfigurationProvider.class", "status": "about-mapped", @@ -1417,7 +1492,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application$1.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application$1.class", "type": "file", "name": "Application$1.class", "status": "about-mapped", @@ -1455,7 +1530,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application.class", "type": "file", "name": "Application.class", "status": "about-mapped", @@ -1493,7 +1568,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/ConfigurationProvider.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/ConfigurationProvider.class", "type": "file", "name": "ConfigurationProvider.class", "status": "mapped", @@ -1529,7 +1604,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/EnvVarResolverProperties.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/EnvVarResolverProperties.class", "type": "file", "name": "EnvVarResolverProperties.class", "status": "about-mapped", @@ -1567,7 +1642,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/MaterializedConfiguration.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/MaterializedConfiguration.class", "type": "file", "name": "MaterializedConfiguration.class", "status": "about-mapped", @@ -1605,7 +1680,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", "type": "file", "name": "PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", "status": "about-mapped", @@ -1643,7 +1718,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.class", "type": "file", "name": "PollingPropertiesFileConfigurationProvider.class", "status": "about-mapped", @@ -1681,7 +1756,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider$1.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider$1.class", "type": "file", "name": "PollingZooKeeperConfigurationProvider$1.class", "status": "about-mapped", @@ -1719,7 +1794,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.class", "type": "file", "name": "PollingZooKeeperConfigurationProvider.class", "status": "about-mapped", @@ -1757,7 +1832,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.class", "type": "file", "name": "PropertiesFileConfigurationProvider.class", "status": "about-mapped", @@ -1795,7 +1870,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.class", "type": "file", "name": "SimpleMaterializedConfiguration.class", "status": "about-mapped", @@ -1833,7 +1908,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.class", + "path": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.class", "type": "file", "name": "StaticZooKeeperConfigurationProvider.class", "status": "about-mapped", @@ -1873,221 +1948,221 @@ ], "relations": [ { - "to_resource": "to/flume-ng-node-1.9.0.jar", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar", "status": "about-mapped", "map_type": "jar_to_source", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/DEPENDENCIES", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/DEPENDENCIES", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/LICENSE", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/LICENSE", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/MANIFEST.MF", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/MANIFEST.MF", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider$ChannelComponent.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider$ChannelComponent.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application$1.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application$1.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/ConfigurationProvider.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/ConfigurationProvider.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/ConfigurationProvider.java" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.jar-extract/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/ConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/EnvVarResolverProperties.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/EnvVarResolverProperties.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/MaterializedConfiguration.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/MaterializedConfiguration.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider$1.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider$1.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.class", + "to_resource": "to/to-with-jar.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.class", "status": "about-mapped", "map_type": "about_file", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.ABOUT" + "from_resource": "from/from-with-about-file.zip/flume-ng-node-1.9.0-sources.ABOUT" } ] } \ No newline at end of file diff --git a/scanpipe/tests/data/d2d/flume-ng-node-d2d.json b/scanpipe/tests/data/d2d/flume-ng-node-d2d.json index fa244308b7..dd59b80b99 100644 --- a/scanpipe/tests/data/d2d/flume-ng-node-d2d.json +++ b/scanpipe/tests/data/d2d/flume-ng-node-d2d.json @@ -126,7 +126,43 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar", + "path": "from/from-flume-ng-node-1.9.0.zip", + "type": "directory", + "name": "from-flume-ng-node-1.9.0.zip", + "status": "ignored-directory", + "for_packages": [], + "tag": "from", + "extension": ".zip", + "programming_language": "", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "emails": [], + "urls": [], + "md5": "", + "sha1": "", + "sha256": "", + "sha512": "", + "sha1_git": "", + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, + "extra_data": {} + }, + { + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar", "type": "file", "name": "flume-ng-node-1.9.0-sources.jar", "status": "not-deployed", @@ -162,7 +198,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract", "type": "directory", "name": "flume-ng-node-1.9.0-sources.jar-extract", "status": "mapped", @@ -198,7 +234,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/META-INF", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/META-INF", "type": "directory", "name": "META-INF", "status": "ignored-directory", @@ -234,7 +270,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/META-INF/MANIFEST.MF", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/META-INF/MANIFEST.MF", "type": "file", "name": "MANIFEST.MF", "status": "not-deployed", @@ -270,7 +306,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven", "type": "directory", "name": "maven", "status": "ignored-directory", @@ -306,7 +342,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume", "type": "directory", "name": "org.apache.flume", "status": "ignored-directory", @@ -342,7 +378,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node", "type": "directory", "name": "flume-ng-node", "status": "ignored-directory", @@ -378,7 +414,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", "type": "file", "name": "pom.properties", "status": "no-licenses", @@ -414,7 +450,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", "type": "file", "name": "pom.xml", "status": "scanned", @@ -486,7 +522,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org", "type": "directory", "name": "org", "status": "ignored-directory", @@ -522,7 +558,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache", "type": "directory", "name": "apache", "status": "ignored-directory", @@ -558,7 +594,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume", "type": "directory", "name": "flume", "status": "ignored-directory", @@ -594,7 +630,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node", "type": "directory", "name": "node", "status": "ignored-directory", @@ -630,7 +666,7 @@ "extra_data": {} }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.java", "type": "file", "name": "AbstractConfigurationProvider.java", "status": "scanned", @@ -699,7 +735,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.java", "type": "file", "name": "AbstractZooKeeperConfigurationProvider.java", "status": "scanned", @@ -768,7 +804,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/Application.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/Application.java", "type": "file", "name": "Application.java", "status": "scanned", @@ -837,7 +873,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/ConfigurationProvider.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/ConfigurationProvider.java", "type": "file", "name": "ConfigurationProvider.java", "status": "scanned", @@ -906,7 +942,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/EnvVarResolverProperties.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/EnvVarResolverProperties.java", "type": "file", "name": "EnvVarResolverProperties.java", "status": "scanned", @@ -975,7 +1011,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/MaterializedConfiguration.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/MaterializedConfiguration.java", "type": "file", "name": "MaterializedConfiguration.java", "status": "scanned", @@ -1044,7 +1080,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.java", "type": "file", "name": "PollingPropertiesFileConfigurationProvider.java", "status": "scanned", @@ -1113,7 +1149,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.java", "type": "file", "name": "PollingZooKeeperConfigurationProvider.java", "status": "scanned", @@ -1182,7 +1218,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.java", "type": "file", "name": "PropertiesFileConfigurationProvider.java", "status": "scanned", @@ -1251,7 +1287,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.java", "type": "file", "name": "SimpleMaterializedConfiguration.java", "status": "scanned", @@ -1320,7 +1356,7 @@ } }, { - "path": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.java", + "path": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.java", "type": "file", "name": "StaticZooKeeperConfigurationProvider.java", "status": "scanned", @@ -1422,13 +1458,52 @@ "is_readme": false, "is_top_level": false, "is_key_file": false, + "extra_data": { + "directory_content": "00000016f6905f141bf50bae2421a9d20202a6df", + "directory_structure": "000000168a645cb02c5ec2ea4d28d3c121908587" + } + }, + { + "path": "to/to-flume-ng-node-1.9.0.zip", + "type": "directory", + "name": "to-flume-ng-node-1.9.0.zip", + "status": "ignored-directory", + "for_packages": [], + "tag": "to", + "extension": ".zip", + "programming_language": "", + "detected_license_expression": "", + "detected_license_expression_spdx": "", + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": null, + "copyrights": [], + "holders": [], + "authors": [], + "package_data": [], + "emails": [], + "urls": [], + "md5": "", + "sha1": "", + "sha256": "", + "sha512": "", + "sha1_git": "", + "is_binary": false, + "is_text": false, + "is_archive": false, + "is_media": false, + "is_legal": false, + "is_manifest": false, + "is_readme": false, + "is_top_level": false, + "is_key_file": false, "extra_data": { "directory_content": "00000016f6905f141bf50bae2421a9d20202a6df", "directory_structure": "000000168425541886e8c01e0a07ceb2afbb3c15" } }, { - "path": "to/flume-ng-node-1.9.0.jar", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar", "type": "file", "name": "flume-ng-node-1.9.0.jar", "status": "mapped", @@ -1464,7 +1539,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract", "type": "directory", "name": "flume-ng-node-1.9.0.jar-extract", "status": "ignored-directory", @@ -1503,7 +1578,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF", "type": "directory", "name": "META-INF", "status": "ignored-directory", @@ -1542,7 +1617,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/DEPENDENCIES", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/DEPENDENCIES", "type": "file", "name": "DEPENDENCIES", "status": "ignored-from-config", @@ -2812,7 +2887,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/LICENSE", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/LICENSE", "type": "file", "name": "LICENSE", "status": "review-dangling-legal-file", @@ -2882,7 +2957,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/MANIFEST.MF", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/MANIFEST.MF", "type": "file", "name": "MANIFEST.MF", "status": "ignored-from-config", @@ -2924,7 +2999,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/NOTICE", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/NOTICE", "type": "file", "name": "NOTICE", "status": "review-dangling-legal-file", @@ -3001,7 +3076,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven", "type": "directory", "name": "maven", "status": "ignored-directory", @@ -3040,7 +3115,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume", "type": "directory", "name": "org.apache.flume", "status": "ignored-directory", @@ -3079,7 +3154,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node", "type": "directory", "name": "flume-ng-node", "status": "ignored-directory", @@ -3118,7 +3193,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", "type": "file", "name": "pom.properties", "status": "mapped", @@ -3154,7 +3229,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", "type": "file", "name": "pom.xml", "status": "mapped", @@ -3190,7 +3265,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org", "type": "directory", "name": "org", "status": "ignored-directory", @@ -3229,7 +3304,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache", "type": "directory", "name": "apache", "status": "ignored-directory", @@ -3268,7 +3343,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume", "type": "directory", "name": "flume", "status": "ignored-directory", @@ -3307,7 +3382,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node", "type": "directory", "name": "node", "status": "ignored-directory", @@ -3346,7 +3421,7 @@ } }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider$ChannelComponent.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider$ChannelComponent.class", "type": "file", "name": "AbstractConfigurationProvider$ChannelComponent.class", "status": "mapped", @@ -3382,7 +3457,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.class", "type": "file", "name": "AbstractConfigurationProvider.class", "status": "mapped", @@ -3418,7 +3493,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.class", "type": "file", "name": "AbstractZooKeeperConfigurationProvider.class", "status": "mapped", @@ -3454,7 +3529,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application$1.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application$1.class", "type": "file", "name": "Application$1.class", "status": "mapped", @@ -3490,7 +3565,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application.class", "type": "file", "name": "Application.class", "status": "mapped", @@ -3526,7 +3601,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/ConfigurationProvider.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/ConfigurationProvider.class", "type": "file", "name": "ConfigurationProvider.class", "status": "mapped", @@ -3562,7 +3637,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/EnvVarResolverProperties.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/EnvVarResolverProperties.class", "type": "file", "name": "EnvVarResolverProperties.class", "status": "mapped", @@ -3598,7 +3673,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/MaterializedConfiguration.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/MaterializedConfiguration.class", "type": "file", "name": "MaterializedConfiguration.class", "status": "mapped", @@ -3634,7 +3709,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", "type": "file", "name": "PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", "status": "mapped", @@ -3670,7 +3745,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.class", "type": "file", "name": "PollingPropertiesFileConfigurationProvider.class", "status": "mapped", @@ -3706,7 +3781,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider$1.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider$1.class", "type": "file", "name": "PollingZooKeeperConfigurationProvider$1.class", "status": "mapped", @@ -3742,7 +3817,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.class", "type": "file", "name": "PollingZooKeeperConfigurationProvider.class", "status": "mapped", @@ -3778,7 +3853,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.class", "type": "file", "name": "PropertiesFileConfigurationProvider.class", "status": "mapped", @@ -3814,7 +3889,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.class", "type": "file", "name": "SimpleMaterializedConfiguration.class", "status": "mapped", @@ -3850,7 +3925,7 @@ "extra_data": {} }, { - "path": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.class", + "path": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.class", "type": "file", "name": "StaticZooKeeperConfigurationProvider.class", "status": "mapped", @@ -3888,130 +3963,130 @@ ], "relations": [ { - "to_resource": "to/flume-ng-node-1.9.0.jar", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar", "status": "mapped", "map_type": "jar_to_source", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties", "status": "mapped", "map_type": "sha1", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.properties" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml", "status": "mapped", "map_type": "sha1", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/META-INF/maven/org.apache.flume/flume-ng-node/pom.xml" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider$ChannelComponent.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider$ChannelComponent.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/AbstractZooKeeperConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application$1.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application$1.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/Application.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/Application.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/Application.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/Application.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/Application.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/ConfigurationProvider.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/ConfigurationProvider.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/ConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/ConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/EnvVarResolverProperties.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/EnvVarResolverProperties.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/EnvVarResolverProperties.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/EnvVarResolverProperties.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/MaterializedConfiguration.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/MaterializedConfiguration.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/MaterializedConfiguration.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/MaterializedConfiguration.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider$1.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider$1.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PollingZooKeeperConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/PropertiesFileConfigurationProvider.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/SimpleMaterializedConfiguration.java" }, { - "to_resource": "to/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.class", + "to_resource": "to/to-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.class", "status": "mapped", "map_type": "java_to_class", "score": "", - "from_resource": "from/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.java" + "from_resource": "from/from-flume-ng-node-1.9.0.zip/flume-ng-node-1.9.0-sources.jar-extract/org/apache/flume/node/StaticZooKeeperConfigurationProvider.java" } ] } \ No newline at end of file diff --git a/scanpipe/tests/data/dependencies/resolved_dependencies_cocoapods.json b/scanpipe/tests/data/dependencies/resolved_dependencies_cocoapods.json index 43c8f27489..9fe621f1f0 100644 --- a/scanpipe/tests/data/dependencies/resolved_dependencies_cocoapods.json +++ b/scanpipe/tests/data/dependencies/resolved_dependencies_cocoapods.json @@ -34,11 +34,11 @@ ], "packages": [ { - "purl": "pkg:cocoapods/Aerodramus@2.0.0", + "purl": "pkg:cocoapods/AFNetworkActivityLogger@2.0.4", "type": "cocoapods", "namespace": "", - "name": "Aerodramus", - "version": "2.0.0", + "name": "AFNetworkActivityLogger", + "version": "2.0.4", "qualifiers": "", "subpath": "", "tag": "", @@ -55,7 +55,7 @@ "repository_download_url": "", "api_data_url": "", "md5": "", - "sha1": "a22de7451c8fc85ae5d974f5d6a656f59046fffc", + "sha1": "121486778117d53b3ab1c61d264b88081d0c3eee", "sha256": "", "sha512": "", "copyright": "", @@ -70,9 +70,9 @@ "notice_text": "", "source_packages": [], "extra_data": { - "spec_repo": "https://github.com/artsy/Specs.git" + "spec_repo": "trunk" }, - "package_uid": "pkg:cocoapods/Aerodramus@2.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/AFNetworkActivityLogger@2.0.4?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -85,11 +85,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/AFNetworkActivityLogger@2.0.4", + "purl": "pkg:cocoapods/Aerodramus@2.0.0", "type": "cocoapods", "namespace": "", - "name": "AFNetworkActivityLogger", - "version": "2.0.4", + "name": "Aerodramus", + "version": "2.0.0", "qualifiers": "", "subpath": "", "tag": "", @@ -106,7 +106,7 @@ "repository_download_url": "", "api_data_url": "", "md5": "", - "sha1": "121486778117d53b3ab1c61d264b88081d0c3eee", + "sha1": "a22de7451c8fc85ae5d974f5d6a656f59046fffc", "sha256": "", "sha512": "", "copyright": "", @@ -121,9 +121,9 @@ "notice_text": "", "source_packages": [], "extra_data": { - "spec_repo": "trunk" + "spec_repo": "https://github.com/artsy/Specs.git" }, - "package_uid": "pkg:cocoapods/AFNetworkActivityLogger@2.0.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/Aerodramus@2.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -238,11 +238,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/Appboy-iOS-SDK@4.4.4", + "purl": "pkg:cocoapods/AppCenterReactNativeShared@5.0.0", "type": "cocoapods", "namespace": "", - "name": "Appboy-iOS-SDK", - "version": "4.4.4", + "name": "AppCenterReactNativeShared", + "version": "5.0.0", "qualifiers": "", "subpath": "", "tag": "", @@ -259,7 +259,7 @@ "repository_download_url": "", "api_data_url": "", "md5": "", - "sha1": "b05b957ab645d0a9a43d3f35195ad69202b89edc", + "sha1": "01df23849b1c3c6eb8c4049f54322635650e98f0", "sha256": "", "sha512": "", "copyright": "", @@ -276,7 +276,7 @@ "extra_data": { "spec_repo": "trunk" }, - "package_uid": "pkg:cocoapods/Appboy-iOS-SDK@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/AppCenterReactNativeShared@5.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -289,11 +289,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/appcenter-core@5.0.0", + "purl": "pkg:cocoapods/Appboy-iOS-SDK@4.4.4", "type": "cocoapods", "namespace": "", - "name": "appcenter-core", - "version": "5.0.0", + "name": "Appboy-iOS-SDK", + "version": "4.4.4", "qualifiers": "", "subpath": "", "tag": "", @@ -310,7 +310,7 @@ "repository_download_url": "", "api_data_url": "", "md5": "", - "sha1": "e192ea8b373bebd3e44998882b43311078bd7dda", + "sha1": "b05b957ab645d0a9a43d3f35195ad69202b89edc", "sha256": "", "sha512": "", "copyright": "", @@ -325,9 +325,9 @@ "notice_text": "", "source_packages": [], "extra_data": { - "external_source": "../node_modules/appcenter" + "spec_repo": "trunk" }, - "package_uid": "pkg:cocoapods/appcenter-core@5.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/Appboy-iOS-SDK@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -340,11 +340,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/AppCenterReactNativeShared@5.0.0", + "purl": "pkg:cocoapods/Base64@1.1.2", "type": "cocoapods", "namespace": "", - "name": "AppCenterReactNativeShared", - "version": "5.0.0", + "name": "Base64", + "version": "1.1.2", "qualifiers": "", "subpath": "", "tag": "", @@ -361,7 +361,7 @@ "repository_download_url": "", "api_data_url": "", "md5": "", - "sha1": "01df23849b1c3c6eb8c4049f54322635650e98f0", + "sha1": "", "sha256": "", "sha512": "", "copyright": "", @@ -375,10 +375,8 @@ "extracted_license_statement": "", "notice_text": "", "source_packages": [], - "extra_data": { - "spec_repo": "trunk" - }, - "package_uid": "pkg:cocoapods/AppCenterReactNativeShared@5.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "extra_data": {}, + "package_uid": "pkg:cocoapods/Base64@1.1.2?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -391,11 +389,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/Base64@1.1.2", + "purl": "pkg:cocoapods/ISO8601DateFormatter@0.7.1", "type": "cocoapods", "namespace": "", - "name": "Base64", - "version": "1.1.2", + "name": "ISO8601DateFormatter", + "version": "0.7.1", "qualifiers": "", "subpath": "", "tag": "", @@ -426,8 +424,10 @@ "extracted_license_statement": "", "notice_text": "", "source_packages": [], - "extra_data": {}, - "package_uid": "pkg:cocoapods/Base64@1.1.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "extra_data": { + "external_source": "https://github.com/artsy/iso-8601-date-formatter/tree/1a48b819c85903ded669e74e476aceffebf311fc" + }, + "package_uid": "pkg:cocoapods/ISO8601DateFormatter@0.7.1?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -440,11 +440,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/boost@1.76.0", + "purl": "pkg:cocoapods/Pulley@2.6.2", "type": "cocoapods", "namespace": "", - "name": "boost", - "version": "1.76.0", + "name": "Pulley", + "version": "2.6.2", "qualifiers": "", "subpath": "", "tag": "", @@ -461,7 +461,7 @@ "repository_download_url": "", "api_data_url": "", "md5": "", - "sha1": "7dcd2de282d72e344012f7d6564d024930a6a440", + "sha1": "edc993fb57f7eb20541c8453d0fce10559f21dac", "sha256": "", "sha512": "", "copyright": "", @@ -476,9 +476,9 @@ "notice_text": "", "source_packages": [], "extra_data": { - "external_source": "../node_modules/react-native/third-party-podspecs/boost.podspec" + "external_source": "https://github.com/artsy/Pulley/tree/f677b18b332ea3798dc379879dbc0d038efd3ccc" }, - "package_uid": "pkg:cocoapods/boost@1.76.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/Pulley@2.6.2?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -491,11 +491,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/ISO8601DateFormatter@0.7.1", + "purl": "pkg:cocoapods/SwiftyJSON@5.0.2", "type": "cocoapods", "namespace": "", - "name": "ISO8601DateFormatter", - "version": "0.7.1", + "name": "SwiftyJSON", + "version": "5.0.2", "qualifiers": "", "subpath": "", "tag": "", @@ -512,7 +512,7 @@ "repository_download_url": "", "api_data_url": "", "md5": "", - "sha1": "", + "sha1": "576fbf26942d5ef414daad8870b1642413ecc00c", "sha256": "", "sha512": "", "copyright": "", @@ -527,9 +527,9 @@ "notice_text": "", "source_packages": [], "extra_data": { - "external_source": "https://github.com/artsy/iso-8601-date-formatter/tree/1a48b819c85903ded669e74e476aceffebf311fc" + "external_source": "https://github.com/SwiftyJSON/SwiftyJSON/tree/af76cf3ef710b6ca5f8c05f3a31307d44a3c5828" }, - "package_uid": "pkg:cocoapods/ISO8601DateFormatter@0.7.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/SwiftyJSON@5.0.2?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -542,11 +542,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/Pulley@2.6.2", + "purl": "pkg:cocoapods/appcenter-core@5.0.0", "type": "cocoapods", "namespace": "", - "name": "Pulley", - "version": "2.6.2", + "name": "appcenter-core", + "version": "5.0.0", "qualifiers": "", "subpath": "", "tag": "", @@ -563,7 +563,7 @@ "repository_download_url": "", "api_data_url": "", "md5": "", - "sha1": "edc993fb57f7eb20541c8453d0fce10559f21dac", + "sha1": "e192ea8b373bebd3e44998882b43311078bd7dda", "sha256": "", "sha512": "", "copyright": "", @@ -578,9 +578,9 @@ "notice_text": "", "source_packages": [], "extra_data": { - "external_source": "https://github.com/artsy/Pulley/tree/f677b18b332ea3798dc379879dbc0d038efd3ccc" + "external_source": "../node_modules/appcenter" }, - "package_uid": "pkg:cocoapods/Pulley@2.6.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/appcenter-core@5.0.0?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -593,11 +593,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/SwiftyJSON@5.0.2", + "purl": "pkg:cocoapods/boost@1.76.0", "type": "cocoapods", "namespace": "", - "name": "SwiftyJSON", - "version": "5.0.2", + "name": "boost", + "version": "1.76.0", "qualifiers": "", "subpath": "", "tag": "", @@ -614,7 +614,7 @@ "repository_download_url": "", "api_data_url": "", "md5": "", - "sha1": "576fbf26942d5ef414daad8870b1642413ecc00c", + "sha1": "7dcd2de282d72e344012f7d6564d024930a6a440", "sha256": "", "sha512": "", "copyright": "", @@ -629,9 +629,9 @@ "notice_text": "", "source_packages": [], "extra_data": { - "external_source": "https://github.com/SwiftyJSON/SwiftyJSON/tree/af76cf3ef710b6ca5f8c05f3a31307d44a3c5828" + "external_source": "../node_modules/react-native/third-party-podspecs/boost.podspec" }, - "package_uid": "pkg:cocoapods/SwiftyJSON@5.0.2?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/boost@1.76.0?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -987,11 +987,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/Appboy-iOS-SDK/ContentCards@4.4.4", + "purl": "pkg:cocoapods/AppCenter/Core@5.0.3", "type": "cocoapods", - "namespace": "Appboy-iOS-SDK", - "name": "ContentCards", - "version": "4.4.4", + "namespace": "AppCenter", + "name": "Core", + "version": "5.0.3", "qualifiers": "", "subpath": "", "tag": "", @@ -1023,7 +1023,7 @@ "notice_text": "", "source_packages": [], "extra_data": {}, - "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/ContentCards@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/AppCenter/Core@5.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -1036,10 +1036,10 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/Appboy-iOS-SDK/Core@4.4.4", + "purl": "pkg:cocoapods/Appboy-iOS-SDK/ContentCards@4.4.4", "type": "cocoapods", "namespace": "Appboy-iOS-SDK", - "name": "Core", + "name": "ContentCards", "version": "4.4.4", "qualifiers": "", "subpath": "", @@ -1072,7 +1072,7 @@ "notice_text": "", "source_packages": [], "extra_data": {}, - "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/Core@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/ContentCards@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -1085,10 +1085,10 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/Appboy-iOS-SDK/InAppMessage@4.4.4", + "purl": "pkg:cocoapods/Appboy-iOS-SDK/Core@4.4.4", "type": "cocoapods", "namespace": "Appboy-iOS-SDK", - "name": "InAppMessage", + "name": "Core", "version": "4.4.4", "qualifiers": "", "subpath": "", @@ -1121,7 +1121,7 @@ "notice_text": "", "source_packages": [], "extra_data": {}, - "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/InAppMessage@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/Core@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -1134,10 +1134,10 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/Appboy-iOS-SDK/NewsFeed@4.4.4", + "purl": "pkg:cocoapods/Appboy-iOS-SDK/InAppMessage@4.4.4", "type": "cocoapods", "namespace": "Appboy-iOS-SDK", - "name": "NewsFeed", + "name": "InAppMessage", "version": "4.4.4", "qualifiers": "", "subpath": "", @@ -1170,7 +1170,7 @@ "notice_text": "", "source_packages": [], "extra_data": {}, - "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/NewsFeed@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/InAppMessage@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -1183,10 +1183,10 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/Appboy-iOS-SDK/UI@4.4.4", + "purl": "pkg:cocoapods/Appboy-iOS-SDK/NewsFeed@4.4.4", "type": "cocoapods", "namespace": "Appboy-iOS-SDK", - "name": "UI", + "name": "NewsFeed", "version": "4.4.4", "qualifiers": "", "subpath": "", @@ -1219,7 +1219,7 @@ "notice_text": "", "source_packages": [], "extra_data": {}, - "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/UI@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/NewsFeed@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ @@ -1232,11 +1232,11 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:cocoapods/AppCenter/Core@5.0.3", + "purl": "pkg:cocoapods/Appboy-iOS-SDK/UI@4.4.4", "type": "cocoapods", - "namespace": "AppCenter", - "name": "Core", - "version": "5.0.3", + "namespace": "Appboy-iOS-SDK", + "name": "UI", + "version": "4.4.4", "qualifiers": "", "subpath": "", "tag": "", @@ -1268,7 +1268,7 @@ "notice_text": "", "source_packages": [], "extra_data": {}, - "package_uid": "pkg:cocoapods/AppCenter/Core@5.0.3?uuid=fixed-uid-done-for-testing-5642512d1758", + "package_uid": "pkg:cocoapods/Appboy-iOS-SDK/UI@4.4.4?uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": true, "datasource_ids": [ diff --git a/scanpipe/tests/data/docker/alpine_3_15_4_scan_codebase.json b/scanpipe/tests/data/docker/alpine_3_15_4_scan_codebase.json index 39990fd614..7ceea1b4a0 100644 --- a/scanpipe/tests/data/docker/alpine_3_15_4_scan_codebase.json +++ b/scanpipe/tests/data/docker/alpine_3_15_4_scan_codebase.json @@ -737,31 +737,31 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:alpine/libcrypto1.1@1.1.1n-r0?arch=x86_64", + "purl": "pkg:alpine/libc-utils@0.7.2-r3?arch=x86_64", "type": "alpine", "namespace": "", - "name": "libcrypto1.1", - "version": "1.1.1n-r0", + "name": "libc-utils", + "version": "0.7.2-r3", "qualifiers": "arch=x86_64", "subpath": "", "tag": "img-06c7c4-layer-01-40e48c", "primary_language": "", - "release_date": "2022-03-15", + "release_date": "2020-03-31", "parties": [ { "url": null, - "name": "Timo Teras ", + "name": "Natanael Copa ", "role": "maintainer", "type": "person", - "email": "" + "email": "" } ], "keywords": [], - "homepage_url": "https://www.openssl.org/", + "homepage_url": "https://alpinelinux.org", "download_url": "", "bug_tracking_url": "", "code_view_url": "", - "vcs_url": "git+https://git.alpinelinux.org/aports/commit/?id=455e966899a9358fc94f5bce633afe8a1942095c", + "vcs_url": "git+https://git.alpinelinux.org/aports/commit/?id=60424133be2e79bbfeff3d58147a22886f817ce2", "repository_homepage_url": "", "repository_download_url": "", "api_data_url": "", @@ -771,8 +771,8 @@ "sha512": "", "copyright": "", "holder": "", - "declared_license_expression": "openssl-ssleay", - "declared_license_expression_spdx": "OpenSSL", + "declared_license_expression": "bsd-simplified AND bsd-new", + "declared_license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause", "license_detections": [ { "matches": [ @@ -783,65 +783,30 @@ "rule_url": null, "from_file": "40e48c8ef2450e6a9e8d50b846a58ede43f1b01dd351d2bdd7dca14c5c033f20/lib/apk/db/installed", "start_line": 1, - "matched_text": "openssl", + "matched_text": "bsd-2-clause AND bsd-3-clause", "match_coverage": 100.0, - "matched_length": 1, + "matched_length": 7, "rule_relevance": 100, - "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", - "license_expression": "openssl-ssleay", - "license_expression_spdx": "OpenSSL" + "rule_identifier": "spdx-license-identifier-bsd_simplified_and_bsd_new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", + "license_expression": "bsd-simplified AND bsd-new", + "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause" } ], - "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599", - "license_expression": "openssl-ssleay", - "license_expression_spdx": "OpenSSL" + "identifier": "bsd_simplified_and_bsd_new-571c460d-b906-8e23-30cd-5429d912eee3", + "license_expression": "bsd-simplified AND bsd-new", + "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause" } ], "other_license_expression": "", "other_license_expression_spdx": "", "other_license_detections": [], - "extracted_license_statement": "OpenSSL", + "extracted_license_statement": "BSD-2-Clause AND BSD-3-Clause", "notice_text": "", "source_packages": [ - "pkg:alpine/openssl@1.1.1n-r0" + "pkg:alpine/libc-dev@0.7.2-r3" ], - "extra_data": { - "missing_file_references": [ - { - "md5": null, - "path": "etc/ssl1.1/cert.pem", - "sha1": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "md5": null, - "path": "etc/ssl1.1/certs", - "sha1": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "md5": null, - "path": "etc/ssl1.1/ct_log_list.cnf", - "sha1": null, - "sha256": null, - "sha512": null, - "extra_data": {} - }, - { - "md5": null, - "path": "usr/lib/libcrypto.so.1.1", - "sha1": null, - "sha256": null, - "sha512": null, - "extra_data": {} - } - ] - }, - "package_uid": "pkg:alpine/libcrypto1.1@1.1.1n-r0?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", + "extra_data": {}, + "package_uid": "pkg:alpine/libc-utils@0.7.2-r3?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": false, "datasource_ids": [ @@ -856,31 +821,31 @@ "affected_by_vulnerabilities": [] }, { - "purl": "pkg:alpine/libc-utils@0.7.2-r3?arch=x86_64", + "purl": "pkg:alpine/libcrypto1.1@1.1.1n-r0?arch=x86_64", "type": "alpine", "namespace": "", - "name": "libc-utils", - "version": "0.7.2-r3", + "name": "libcrypto1.1", + "version": "1.1.1n-r0", "qualifiers": "arch=x86_64", "subpath": "", "tag": "img-06c7c4-layer-01-40e48c", "primary_language": "", - "release_date": "2020-03-31", + "release_date": "2022-03-15", "parties": [ { "url": null, - "name": "Natanael Copa ", + "name": "Timo Teras ", "role": "maintainer", "type": "person", - "email": "" + "email": "" } ], "keywords": [], - "homepage_url": "https://alpinelinux.org", + "homepage_url": "https://www.openssl.org/", "download_url": "", "bug_tracking_url": "", "code_view_url": "", - "vcs_url": "git+https://git.alpinelinux.org/aports/commit/?id=60424133be2e79bbfeff3d58147a22886f817ce2", + "vcs_url": "git+https://git.alpinelinux.org/aports/commit/?id=455e966899a9358fc94f5bce633afe8a1942095c", "repository_homepage_url": "", "repository_download_url": "", "api_data_url": "", @@ -890,8 +855,8 @@ "sha512": "", "copyright": "", "holder": "", - "declared_license_expression": "bsd-simplified AND bsd-new", - "declared_license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause", + "declared_license_expression": "openssl-ssleay", + "declared_license_expression_spdx": "OpenSSL", "license_detections": [ { "matches": [ @@ -902,30 +867,65 @@ "rule_url": null, "from_file": "40e48c8ef2450e6a9e8d50b846a58ede43f1b01dd351d2bdd7dca14c5c033f20/lib/apk/db/installed", "start_line": 1, - "matched_text": "bsd-2-clause AND bsd-3-clause", + "matched_text": "openssl", "match_coverage": 100.0, - "matched_length": 7, + "matched_length": 1, "rule_relevance": 100, - "rule_identifier": "spdx-license-identifier-bsd_simplified_and_bsd_new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", - "license_expression": "bsd-simplified AND bsd-new", - "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause" + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", + "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL" } ], - "identifier": "bsd_simplified_and_bsd_new-571c460d-b906-8e23-30cd-5429d912eee3", - "license_expression": "bsd-simplified AND bsd-new", - "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599", + "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL" } ], "other_license_expression": "", "other_license_expression_spdx": "", "other_license_detections": [], - "extracted_license_statement": "BSD-2-Clause AND BSD-3-Clause", + "extracted_license_statement": "OpenSSL", "notice_text": "", "source_packages": [ - "pkg:alpine/libc-dev@0.7.2-r3" + "pkg:alpine/openssl@1.1.1n-r0" ], - "extra_data": {}, - "package_uid": "pkg:alpine/libc-utils@0.7.2-r3?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", + "extra_data": { + "missing_file_references": [ + { + "md5": null, + "path": "etc/ssl1.1/cert.pem", + "sha1": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "md5": null, + "path": "etc/ssl1.1/certs", + "sha1": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "md5": null, + "path": "etc/ssl1.1/ct_log_list.cnf", + "sha1": null, + "sha256": null, + "sha512": null, + "extra_data": {} + }, + { + "md5": null, + "path": "usr/lib/libcrypto.so.1.1", + "sha1": null, + "sha256": null, + "sha512": null, + "extra_data": {} + } + ] + }, + "package_uid": "pkg:alpine/libcrypto1.1@1.1.1n-r0?arch=x86_64&uuid=fixed-uid-done-for-testing-5642512d1758", "is_private": false, "is_virtual": false, "datasource_ids": [ diff --git a/scanpipe/tests/data/docker/centos_scan_codebase.json b/scanpipe/tests/data/docker/centos_scan_codebase.json index cd0f9d9ad3..83327297fe 100644 --- a/scanpipe/tests/data/docker/centos_scan_codebase.json +++ b/scanpipe/tests/data/docker/centos_scan_codebase.json @@ -155738,6 +155738,154 @@ "modified_resources": [], "affected_by_vulnerabilities": [] }, + { + "purl": "pkg:rpm/gpg-pubkey@d4082792", + "type": "rpm", + "namespace": "", + "name": "gpg-pubkey", + "version": "d4082792", + "qualifiers": "", + "subpath": "", + "tag": "img-c967b7-layer-01-a10cf7", + "primary_language": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": "", + "download_url": "", + "bug_tracking_url": "", + "code_view_url": "", + "vcs_url": "", + "repository_homepage_url": "", + "repository_download_url": "", + "api_data_url": "", + "md5": "", + "sha1": "4d3b67245e29cc1e4ec83d6813cacc7e55c699ac", + "sha256": "", + "sha512": "", + "copyright": "", + "holder": "", + "declared_license_expression": "unknown", + "declared_license_expression_spdx": "LicenseRef-scancode-unknown", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "5-undetected", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", + "from_file": "a10cf747c363a52be048f884c084a25e03280d54a7ac02e17dbd8c5ad160e9bd/var/lib/rpm/Packages", + "start_line": 1, + "matched_text": "license pubkey", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", + "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown" + } + ], + "identifier": "unknown-6638c8ac-18c2-ed3f-78bb-1c72e6cc0939", + "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "pubkey", + "notice_text": "", + "source_packages": [], + "extra_data": {}, + "package_uid": "pkg:rpm/gpg-pubkey@d4082792?uuid=fixed-uid-done-for-testing-5642512d1758", + "is_private": false, + "is_virtual": false, + "datasource_ids": [ + "rpm_installed_database_bdb" + ], + "datafile_paths": [ + "a10cf747c363a52be048f884c084a25e03280d54a7ac02e17dbd8c5ad160e9bd/var/lib/rpm/Packages" + ], + "file_references": [], + "missing_resources": [], + "modified_resources": [], + "affected_by_vulnerabilities": [] + }, + { + "purl": "pkg:rpm/gpg-pubkey@fd431d51", + "type": "rpm", + "namespace": "", + "name": "gpg-pubkey", + "version": "fd431d51", + "qualifiers": "", + "subpath": "", + "tag": "img-c967b7-layer-01-a10cf7", + "primary_language": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": "", + "download_url": "", + "bug_tracking_url": "", + "code_view_url": "", + "vcs_url": "", + "repository_homepage_url": "", + "repository_download_url": "", + "api_data_url": "", + "md5": "", + "sha1": "bbdaa73ef24bd638ff8d785ff827e0a4bc0e6eb7", + "sha256": "", + "sha512": "", + "copyright": "", + "holder": "", + "declared_license_expression": "unknown", + "declared_license_expression_spdx": "LicenseRef-scancode-unknown", + "license_detections": [ + { + "matches": [ + { + "score": 100.0, + "matcher": "5-undetected", + "end_line": 1, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", + "from_file": "a10cf747c363a52be048f884c084a25e03280d54a7ac02e17dbd8c5ad160e9bd/var/lib/rpm/Packages", + "start_line": 1, + "matched_text": "license pubkey", + "match_coverage": 100.0, + "matched_length": 2, + "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", + "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown" + } + ], + "identifier": "unknown-6638c8ac-18c2-ed3f-78bb-1c72e6cc0939", + "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown" + } + ], + "other_license_expression": "", + "other_license_expression_spdx": "", + "other_license_detections": [], + "extracted_license_statement": "pubkey", + "notice_text": "", + "source_packages": [], + "extra_data": {}, + "package_uid": "pkg:rpm/gpg-pubkey@fd431d51?uuid=fixed-uid-done-for-testing-5642512d1758", + "is_private": false, + "is_virtual": false, + "datasource_ids": [ + "rpm_installed_database_bdb" + ], + "datafile_paths": [ + "a10cf747c363a52be048f884c084a25e03280d54a7ac02e17dbd8c5ad160e9bd/var/lib/rpm/Packages" + ], + "file_references": [], + "missing_resources": [], + "modified_resources": [], + "affected_by_vulnerabilities": [] + }, { "purl": "pkg:rpm/gpgme@1.10.0?arch=x86_64", "type": "rpm", @@ -155943,154 +156091,6 @@ "modified_resources": [], "affected_by_vulnerabilities": [] }, - { - "purl": "pkg:rpm/gpg-pubkey@d4082792", - "type": "rpm", - "namespace": "", - "name": "gpg-pubkey", - "version": "d4082792", - "qualifiers": "", - "subpath": "", - "tag": "img-c967b7-layer-01-a10cf7", - "primary_language": "", - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": "", - "download_url": "", - "bug_tracking_url": "", - "code_view_url": "", - "vcs_url": "", - "repository_homepage_url": "", - "repository_download_url": "", - "api_data_url": "", - "md5": "", - "sha1": "4d3b67245e29cc1e4ec83d6813cacc7e55c699ac", - "sha256": "", - "sha512": "", - "copyright": "", - "holder": "", - "declared_license_expression": "unknown", - "declared_license_expression_spdx": "LicenseRef-scancode-unknown", - "license_detections": [ - { - "matches": [ - { - "score": 100.0, - "matcher": "5-undetected", - "end_line": 1, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", - "from_file": "a10cf747c363a52be048f884c084a25e03280d54a7ac02e17dbd8c5ad160e9bd/var/lib/rpm/Packages", - "start_line": 1, - "matched_text": "license pubkey", - "match_coverage": 100.0, - "matched_length": 2, - "rule_relevance": 100, - "rule_identifier": "package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", - "license_expression": "unknown", - "license_expression_spdx": "LicenseRef-scancode-unknown" - } - ], - "identifier": "unknown-6638c8ac-18c2-ed3f-78bb-1c72e6cc0939", - "license_expression": "unknown", - "license_expression_spdx": "LicenseRef-scancode-unknown" - } - ], - "other_license_expression": "", - "other_license_expression_spdx": "", - "other_license_detections": [], - "extracted_license_statement": "pubkey", - "notice_text": "", - "source_packages": [], - "extra_data": {}, - "package_uid": "pkg:rpm/gpg-pubkey@d4082792?uuid=fixed-uid-done-for-testing-5642512d1758", - "is_private": false, - "is_virtual": false, - "datasource_ids": [ - "rpm_installed_database_bdb" - ], - "datafile_paths": [ - "a10cf747c363a52be048f884c084a25e03280d54a7ac02e17dbd8c5ad160e9bd/var/lib/rpm/Packages" - ], - "file_references": [], - "missing_resources": [], - "modified_resources": [], - "affected_by_vulnerabilities": [] - }, - { - "purl": "pkg:rpm/gpg-pubkey@fd431d51", - "type": "rpm", - "namespace": "", - "name": "gpg-pubkey", - "version": "fd431d51", - "qualifiers": "", - "subpath": "", - "tag": "img-c967b7-layer-01-a10cf7", - "primary_language": "", - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": "", - "download_url": "", - "bug_tracking_url": "", - "code_view_url": "", - "vcs_url": "", - "repository_homepage_url": "", - "repository_download_url": "", - "api_data_url": "", - "md5": "", - "sha1": "bbdaa73ef24bd638ff8d785ff827e0a4bc0e6eb7", - "sha256": "", - "sha512": "", - "copyright": "", - "holder": "", - "declared_license_expression": "unknown", - "declared_license_expression_spdx": "LicenseRef-scancode-unknown", - "license_detections": [ - { - "matches": [ - { - "score": 100.0, - "matcher": "5-undetected", - "end_line": 1, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", - "from_file": "a10cf747c363a52be048f884c084a25e03280d54a7ac02e17dbd8c5ad160e9bd/var/lib/rpm/Packages", - "start_line": 1, - "matched_text": "license pubkey", - "match_coverage": 100.0, - "matched_length": 2, - "rule_relevance": 100, - "rule_identifier": "package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", - "license_expression": "unknown", - "license_expression_spdx": "LicenseRef-scancode-unknown" - } - ], - "identifier": "unknown-6638c8ac-18c2-ed3f-78bb-1c72e6cc0939", - "license_expression": "unknown", - "license_expression_spdx": "LicenseRef-scancode-unknown" - } - ], - "other_license_expression": "", - "other_license_expression_spdx": "", - "other_license_detections": [], - "extracted_license_statement": "pubkey", - "notice_text": "", - "source_packages": [], - "extra_data": {}, - "package_uid": "pkg:rpm/gpg-pubkey@fd431d51?uuid=fixed-uid-done-for-testing-5642512d1758", - "is_private": false, - "is_virtual": false, - "datasource_ids": [ - "rpm_installed_database_bdb" - ], - "datafile_paths": [ - "a10cf747c363a52be048f884c084a25e03280d54a7ac02e17dbd8c5ad160e9bd/var/lib/rpm/Packages" - ], - "file_references": [], - "missing_resources": [], - "modified_resources": [], - "affected_by_vulnerabilities": [] - }, { "purl": "pkg:rpm/grep@3.1?arch=x86_64", "type": "rpm", diff --git a/scanpipe/tests/test_pipelines.py b/scanpipe/tests/test_pipelines.py index 2c7dad3c10..581b87fde6 100644 --- a/scanpipe/tests/test_pipelines.py +++ b/scanpipe/tests/test_pipelines.py @@ -1681,7 +1681,7 @@ def test_scanpipe_deploy_to_develop_pipeline_integration( exitcode, out = pipeline.execute() self.assertEqual(0, exitcode, msg=out) - self.assertEqual(57, project1.codebaseresources.count()) + self.assertEqual(59, project1.codebaseresources.count()) self.assertEqual(18, project1.codebaserelations.count()) self.assertEqual(1, project1.discoveredpackages.count()) self.assertEqual(0, project1.discovereddependencies.count()) @@ -1708,7 +1708,7 @@ def test_scanpipe_deploy_to_develop_pipeline_integration_elfs(self): exitcode, out = pipeline.execute() self.assertEqual(0, exitcode, msg=out) - self.assertEqual(17, project1.codebaseresources.count()) + self.assertEqual(19, project1.codebaseresources.count()) self.assertEqual(7, project1.codebaserelations.count()) result_file = output.to_json(project1) @@ -1770,7 +1770,7 @@ def test_scanpipe_deploy_to_develop_pipeline_with_about_file( exitcode, out = pipeline.execute() self.assertEqual(0, exitcode, msg=out) - self.assertEqual(44, project1.codebaseresources.count()) + self.assertEqual(46, project1.codebaseresources.count()) self.assertEqual(31, project1.codebaserelations.count()) self.assertEqual(2, project1.discoveredpackages.count()) self.assertEqual(0, project1.discovereddependencies.count()) From 4964d6fcbbcda69ea96cb10bd251b9fb2dcda394 Mon Sep 17 00:00:00 2001 From: uttam282005 Date: Sat, 28 Feb 2026 17:22:15 +0530 Subject: [PATCH 2/2] add test Signed-off-by: uttam282005 --- scanpipe/tests/test_pipelines.py | 70 ++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/scanpipe/tests/test_pipelines.py b/scanpipe/tests/test_pipelines.py index 581b87fde6..5a823afd1f 100644 --- a/scanpipe/tests/test_pipelines.py +++ b/scanpipe/tests/test_pipelines.py @@ -1746,6 +1746,76 @@ def test_scanpipe_deploy_to_develop_pipeline_extract_input_files_errors(self): self.assertEqual({"filename": "resource"}, project_error.details) self.assertEqual("", project_error.traceback) + def test_scanpipe_deploy_to_develop_extract_archive_with_full_filename(self): + """ + Test that extract_inputs_to_codebase_directory extracts archives into + subdirectories named after the archive file (show full filename feature). + + This ensures that extracted content is isolated by archive name, making + it clear which archive each file originated from. + """ + project1 = make_project() + run = project1.add_pipeline("map_deploy_to_develop") + pipeline_instance = deploy_to_develop.DeployToDevelop(run) + + jar_location = self.data / "d2d" / "jars" + from_archive = jar_location / "from-flume-ng-node-1.9.0.zip" + to_archive = jar_location / "to-flume-ng-node-1.9.0.zip" + + project1.copy_input_from(from_archive) + project1.copy_input_from(to_archive) + + pipeline_instance.get_inputs() + self.assertEqual(1, len(pipeline_instance.from_files)) + self.assertEqual(1, len(pipeline_instance.to_files)) + + pipeline_instance.extract_inputs_to_codebase_directory() + + expected_from_dir = ( + project1.codebase_path / "from" / "from-flume-ng-node-1.9.0.zip" + ) + expected_to_dir = project1.codebase_path / "to" / "to-flume-ng-node-1.9.0.zip" + + self.assertTrue( + expected_from_dir.exists(), + f"FROM archive should be extracted to {expected_from_dir}", + ) + self.assertTrue(expected_from_dir.is_dir()) + + self.assertTrue( + expected_to_dir.exists(), + f"TO archive should be extracted to {expected_to_dir}", + ) + self.assertTrue(expected_to_dir.is_dir()) + + from_files = list(expected_from_dir.rglob("*.jar")) + to_files = list(expected_to_dir.rglob("*.jar")) + + self.assertGreater( + len(from_files), 0, "FROM archive should contain extracted JAR files" + ) + self.assertGreater( + len(to_files), 0, "TO archive should contain extracted JAR files" + ) + + direct_from_files = [ + f for f in (project1.codebase_path / "from").iterdir() if f.is_file() + ] + direct_to_files = [ + f for f in (project1.codebase_path / "to").iterdir() if f.is_file() + ] + + self.assertEqual( + 0, + len(direct_from_files), + "No files should be extracted directly to from/ directory", + ) + self.assertEqual( + 0, + len(direct_to_files), + "No files should be extracted directly to to/ directory", + ) + @mock.patch("scanpipe.pipes.purldb.request_post") @mock.patch("uuid.uuid4") def test_scanpipe_deploy_to_develop_pipeline_with_about_file(