From d5e811bfb16aa383fbb936de0aab8aefd175cbde Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Wed, 5 Jul 2023 12:52:57 +0530 Subject: [PATCH 1/6] Fix parsing of MANIFEST.MF files Signed-off-by: Ayan Sinha Mahapatra --- src/packagedcode/__init__.py | 1 + src/packagedcode/jar_manifest.py | 22 +- .../activiti-image-generator-expected.json} | 104 +++++--- .../extracted-jar/hsqldb-2.4.0-expected.json | 173 +++++++++++++ .../META-INF/MANIFEST.MF | 103 ++++++++ .../META-INF/hsqldb_lic.txt | 31 +++ .../META-INF/hypersonic_lic.txt | 70 +++++ .../org/hsqldb/Database.class | Bin 0 -> 12965 bytes .../manifest/1/MANIFEST.MF.package-data.json | 5 +- .../manifest/10/MANIFEST.MF.package-data.json | 5 +- .../manifest/11/MANIFEST.MF.package-data.json | 5 +- .../manifest/12/MANIFEST.MF.package-data.json | 5 +- .../manifest/13/MANIFEST.MF.package-data.json | 5 +- .../manifest/14/MANIFEST.MF.package-data.json | 5 +- .../manifest/15/MANIFEST.MF.package-data.json | 5 +- .../manifest/16/MANIFEST.MF.package-data.json | 5 +- .../manifest/17/MANIFEST.MF.package-data.json | 5 +- .../manifest/18/MANIFEST.MF.package-data.json | 5 +- .../manifest/19/MANIFEST.MF.package-data.json | 5 +- .../manifest/2/MANIFEST.MF.package-data.json | 5 +- .../manifest/20/MANIFEST.MF.package-data.json | 5 +- .../manifest/21/MANIFEST.MF.package-data.json | 5 +- .../manifest/22/MANIFEST.MF.package-data.json | 5 +- .../manifest/23/MANIFEST.MF.package-data.json | 5 +- .../manifest/24/MANIFEST.MF.package-data.json | 5 +- .../manifest/25/MANIFEST.MF.package-data.json | 5 +- .../manifest/26/MANIFEST.MF.package-data.json | 5 +- .../data/maven_misc/manifest/27/MANIFEST.MF | 102 ++++++++ .../maven_misc/manifest/27/MANIFEST.MF.json | 25 ++ .../manifest/27/MANIFEST.MF.package-data.json | 19 ++ .../manifest/3/MANIFEST.MF.package-data.json | 5 +- .../manifest/4/MANIFEST.MF.package-data.json | 5 +- .../manifest/5/MANIFEST.MF.package-data.json | 5 +- .../manifest/6/MANIFEST.MF.package-data.json | 5 +- .../manifest/7/MANIFEST.MF.package-data.json | 5 +- .../manifest/8/MANIFEST.MF.package-data.json | 5 +- .../manifest/9/MANIFEST.MF.package-data.json | 5 +- ...htrace-core-4.0.0-incubating-expected.json | 243 ++++++++++++++++-- tests/packagedcode/data/plugin/help.txt | 7 + tests/packagedcode/test_maven.py | 11 +- .../classify/with_package_data.expected.json | 113 +++++++- .../summarycode/data/score/jar-expected.json | 161 +++++++++++- 42 files changed, 1175 insertions(+), 140 deletions(-) rename tests/packagedcode/data/maven_misc/{extracted-jar-expected.json => extracted-jar/activiti-image-generator-expected.json} (79%) create mode 100644 tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0-expected.json create mode 100644 tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/MANIFEST.MF create mode 100644 tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/hsqldb_lic.txt create mode 100644 tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/hypersonic_lic.txt create mode 100644 tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/org/hsqldb/Database.class create mode 100644 tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF create mode 100644 tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF.json create mode 100644 tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF.package-data.json diff --git a/src/packagedcode/__init__.py b/src/packagedcode/__init__.py index f78e8d3d1b7..675b0be6505 100644 --- a/src/packagedcode/__init__.py +++ b/src/packagedcode/__init__.py @@ -102,6 +102,7 @@ haxe.HaxelibJsonHandler, jar_manifest.JavaJarManifestHandler, + jar_manifest.JavaOSGiManifestHandler, maven.MavenPomXmlHandler, maven.MavenPomPropertiesHandler, diff --git a/src/packagedcode/jar_manifest.py b/src/packagedcode/jar_manifest.py index 6bca4e899db..1ccd16d4c48 100644 --- a/src/packagedcode/jar_manifest.py +++ b/src/packagedcode/jar_manifest.py @@ -56,6 +56,16 @@ def assign_package_to_resources(cls, package, resource, codebase, package_adder) ) +class JavaOSGiManifestHandler(JavaJarManifestHandler): + datasource_id = 'java_osgi_manifest' + # This is an empty tuple to avoid getting back two packages + # essentially this is the same as JavaJarManifestHandler + path_patterns = () + default_primary_language = 'Java' + description = 'Java OSGi MANIFEST.MF' + default_package_type = 'osgi' + + def parse_manifest(location): """ Return a Manifest parsed from the file at `location` or None if this @@ -248,6 +258,13 @@ def dget(s): else: name = i_title or am_nm or ext_nm or nm descriptions = [s_title, i_title, nm] + + if package_type == 'maven': + datasource_id = JavaJarManifestHandler.datasource_id + elif package_type == 'jar': + datasource_id = JavaJarManifestHandler.datasource_id + elif package_type == 'osgi': + datasource_id = JavaOSGiManifestHandler.datasource_id descriptions = unique(descriptions) descriptions = [d for d in descriptions if d and d.strip() and d != name] @@ -258,6 +275,7 @@ def dget(s): # create the mapping we will return package = {} package['type'] = package_type + package['datasource_id'] = datasource_id package['namespace'] = namespace package['name'] = name package['version'] = version @@ -278,7 +296,7 @@ def dget(s): package['homepage_url'] = dget('Implementation-URL') or dget('Implementation-Url') # Bundle-DocURL: http://logging.apache.org/log4j/1.2 - package['documentation_url'] = dget('Bundle-DocURL') + #package['documentation_url'] = dget('Bundle-DocURL') # vendor/owner/contact ######################### @@ -369,7 +387,7 @@ def dget(s): # Deps: # Require-Bundle - package['notes'] = dget('Comment') + #package['notes'] = dget('Comment') return package diff --git a/tests/packagedcode/data/maven_misc/extracted-jar-expected.json b/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-expected.json similarity index 79% rename from tests/packagedcode/data/maven_misc/extracted-jar-expected.json rename to tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-expected.json index d8726e78e52..b19330446e3 100644 --- a/tests/packagedcode/data/maven_misc/extracted-jar-expected.json +++ b/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-expected.json @@ -41,7 +41,7 @@ "api_data_url": "https://repo1.maven.org/maven2/org/activiti/activiti-image-generator/7-201802-EA/activiti-image-generator-7-201802-EA.pom", "package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", "datafile_paths": [ - "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml" + "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml" ], "datasource_ids": [ "maven_pom" @@ -61,7 +61,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.activiti/activiti-bpmn-model?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -75,7 +75,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-awt-util?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -89,7 +89,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-dom?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -103,7 +103,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-svggen?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -117,7 +117,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.slf4j/slf4j-api?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -131,7 +131,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.springframework/spring-context?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -145,7 +145,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.activiti/activiti-engine?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -159,7 +159,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/junit/junit?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -173,7 +173,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/com.h2database/h2?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -187,7 +187,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-svg-dom?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -201,7 +201,7 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-anim?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" }, { @@ -215,20 +215,13 @@ "extra_data": {}, "dependency_uid": "pkg:maven/org.apache.xmlgraphics/batik-parser?uuid=fixed-uid-done-for-testing-5642512d1758", "for_package_uid": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758", - "datafile_path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "datafile_path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "datasource_id": "maven_pom" } ], "files": [ { - "path": "extracted-jar", - "type": "directory", - "package_data": [], - "for_packages": [], - "scan_errors": [] - }, - { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract", "type": "directory", "package_data": [], "for_packages": [ @@ -237,7 +230,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF", "type": "directory", "package_data": [], "for_packages": [ @@ -246,16 +239,59 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/MANIFEST.MF", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/MANIFEST.MF", "type": "file", - "package_data": [], + "package_data": [ + { + "type": "jar", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "java_jar_manifest", + "purl": null + } + ], "for_packages": [ "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA?uuid=fixed-uid-done-for-testing-5642512d1758" ], "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven", "type": "directory", "package_data": [], "for_packages": [ @@ -264,7 +300,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti", "type": "directory", "package_data": [], "for_packages": [ @@ -273,7 +309,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator", "type": "directory", "package_data": [], "for_packages": [ @@ -282,7 +318,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.properties", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.properties", "type": "file", "package_data": [], "for_packages": [ @@ -291,7 +327,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/META-INF/maven/org.activiti/activiti-image-generator/pom.xml", "type": "file", "package_data": [ { @@ -466,7 +502,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/org", "type": "directory", "package_data": [], "for_packages": [ @@ -475,7 +511,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti", "type": "directory", "package_data": [], "for_packages": [ @@ -484,7 +520,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image", "type": "directory", "package_data": [], "for_packages": [ @@ -493,7 +529,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception", "type": "directory", "package_data": [], "for_packages": [ @@ -502,7 +538,7 @@ "scan_errors": [] }, { - "path": "extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception/ActivitiImageException.java", + "path": "activiti-image-generator-7-201802-EA-sources.jar-extract/org/activiti/image/exception/ActivitiImageException.java", "type": "file", "package_data": [], "for_packages": [ diff --git a/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0-expected.json b/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0-expected.json new file mode 100644 index 00000000000..465c547dd0f --- /dev/null +++ b/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0-expected.json @@ -0,0 +1,173 @@ +{ + "packages": [ + { + "type": "osgi", + "namespace": null, + "name": "org.hsqldb.hsqldb", + "version": "2.4.0", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "HSQLDB\nHyperSQL Lightweight 100% Java SQL Database Engine", + "release_date": null, + "parties": [ + { + "type": null, + "role": "vendor", + "name": "The HSQL Development Group", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:osgi/org.hsqldb.hsqldb@2.4.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "hsqldb-2.4.0.jar-extract/META-INF/MANIFEST.MF" + ], + "datasource_ids": [ + "java_osgi_manifest" + ], + "purl": "pkg:osgi/org.hsqldb.hsqldb@2.4.0" + } + ], + "dependencies": [], + "files": [ + { + "path": "hsqldb-2.4.0.jar-extract", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "hsqldb-2.4.0.jar-extract/META-INF", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:osgi/org.hsqldb.hsqldb@2.4.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "hsqldb-2.4.0.jar-extract/META-INF/MANIFEST.MF", + "type": "file", + "package_data": [ + { + "type": "osgi", + "namespace": null, + "name": "org.hsqldb.hsqldb", + "version": "2.4.0", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "HSQLDB\nHyperSQL Lightweight 100% Java SQL Database Engine", + "release_date": null, + "parties": [ + { + "role": "vendor", + "name": "The HSQL Development Group" + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "java_osgi_manifest", + "purl": "pkg:osgi/org.hsqldb.hsqldb@2.4.0" + } + ], + "for_packages": [ + "pkg:osgi/org.hsqldb.hsqldb@2.4.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "hsqldb-2.4.0.jar-extract/META-INF/hsqldb_lic.txt", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:osgi/org.hsqldb.hsqldb@2.4.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "hsqldb-2.4.0.jar-extract/META-INF/hypersonic_lic.txt", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:osgi/org.hsqldb.hsqldb@2.4.0?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "scan_errors": [] + }, + { + "path": "hsqldb-2.4.0.jar-extract/org", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "hsqldb-2.4.0.jar-extract/org/hsqldb", + "type": "directory", + "package_data": [], + "for_packages": [], + "scan_errors": [] + }, + { + "path": "hsqldb-2.4.0.jar-extract/org/hsqldb/Database.class", + "type": "file", + "package_data": [], + "for_packages": [], + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/MANIFEST.MF b/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..867cedb9b84 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/MANIFEST.MF @@ -0,0 +1,103 @@ +Manifest-Version: 1.0 +Bundle-Description: HyperSQL Lightweight 100% Java SQL Database Engine +Implementation-Title: Standard runtime +Bundle-SymbolicName: org.hsqldb.hsqldb +Implementation-Version: 2.4.0 +Bundle-ManifestVersion: 2 +Bnd-LastModified: 1491761716880 +Specification-Vendor: The HSQL Development Group +Specification-Title: HSQLDB +Import-Package: javax.crypto;resolution:=optional,javax.crypto.spec;re + solution:=optional,javax.naming;resolution:=optional,javax.naming.dir + ectory;resolution:=optional,javax.naming.ldap;resolution:=optional,ja + vax.naming.spi;resolution:=optional,javax.net;resolution:=optional,ja + vax.net.ssl;resolution:=optional,javax.security.auth;resolution:=opti + onal,javax.security.auth.callback;resolution:=optional,javax.security + .auth.login;resolution:=optional,javax.security.cert;resolution:=opti + onal,javax.servlet;resolution:=optional,javax.servlet.http;resolution + :=optional,javax.sql;resolution:=optional,javax.swing;resolution:=opt + ional,javax.swing.border;resolution:=optional,javax.swing.event;resol + ution:=optional,javax.swing.table;resolution:=optional,javax.swing.tr + ee;resolution:=optional,javax.transaction.xa;resolution:=optional,jav + ax.xml.bind.util;resolution:=optional,javax.xml.parsers;resolution:=o + ptional,javax.xml.stream;resolution:=optional,javax.xml.transform;res + olution:=optional,javax.xml.transform.dom;resolution:=optional,javax. + xml.transform.sax;resolution:=optional,javax.xml.transform.stax;resol + ution:=optional,javax.xml.transform.stream;resolution:=optional,org.h + sqldb;resolution:=optional,org.hsqldb.auth;resolution:=optional,org.h + sqldb.dbinfo;resolution:=optional,org.hsqldb.error;resolution:=option + al,org.hsqldb.index;resolution:=optional,org.hsqldb.jdbc;resolution:= + optional,org.hsqldb.jdbc.pool;resolution:=optional,org.hsqldb.lib;res + olution:=optional,org.hsqldb.lib.java;resolution:=optional,org.hsqldb + .lib.tar;resolution:=optional,org.hsqldb.lib.tar.rb;resolution:=optio + nal,org.hsqldb.map;resolution:=optional,org.hsqldb.navigator;resoluti + on:=optional,org.hsqldb.persist;resolution:=optional,org.hsqldb.resou + rces;resolution:=optional,org.hsqldb.result;resolution:=optional,org. + hsqldb.rights;resolution:=optional,org.hsqldb.rowio;resolution:=optio + nal,org.hsqldb.sample;resolution:=optional,org.hsqldb.scriptio;resolu + tion:=optional,org.hsqldb.server;resolution:=optional,org.hsqldb.type + s;resolution:=optional,org.hsqldb.util;resolution:=optional,org.w3c.d + om;resolution:=optional,org.w3c.dom.bootstrap;resolution:=optional,or + g.xml.sax;resolution:=optional +Tool: Bnd-0.0.384 +Main-Class: org.hsqldb.util.DatabaseManagerSwing +Implementation-Vendor: The HSQL Development Group +Ant-Version: Apache Ant 1.9.3 +Originally-Created-By: 1.8.0_121-b13 (Oracle Corporation) +Export-Package: org.hsqldb;uses:="org.hsqldb.server,org.hsqldb.error,o + rg.hsqldb.types,org.hsqldb.lib,org.hsqldb.result,org.hsqldb.persist,o + rg.hsqldb.map,org.hsqldb.navigator,org.hsqldb.jdbc,org.hsqldb.rowio,o + rg.hsqldb.rights,org.hsqldb.index,org.hsqldb.dbinfo,org.hsqldb.lib.ja + va,org.hsqldb.scriptio",org.hsqldb.auth;uses:="org.hsqldb.jdbc,org.hs + qldb.types,org.hsqldb.lib,javax.security.auth.callback,javax.security + .auth,javax.security.auth.login,javax.naming.directory,javax.naming.l + dap,javax.naming,javax.net.ssl",org.hsqldb.dbinfo;uses:="org.hsqldb.m + ap,org.hsqldb,org.hsqldb.rights,org.hsqldb.resources,org.hsqldb.persi + st,org.hsqldb.lib,org.hsqldb.result,org.hsqldb.types,org.hsqldb.index + ",org.hsqldb.error;uses:="org.hsqldb.result,org.hsqldb,org.hsqldb.res + ources,org.hsqldb.lib",org.hsqldb.index;uses:="org.hsqldb.persist,org + .hsqldb.navigator,org.hsqldb,org.hsqldb.types,org.hsqldb.error,org.hs + qldb.rights,org.hsqldb.lib,org.hsqldb.rowio",org.hsqldb.jdbc;uses:="o + rg.hsqldb.error,org.hsqldb.result,org.hsqldb.navigator,org.hsqldb,org + .hsqldb.types,org.hsqldb.lib.java,org.hsqldb.lib,javax.sql,org.hsqldb + .persist,javax.naming,javax.naming.spi,org.hsqldb.jdbc.pool,org.hsqld + b.map,org.w3c.dom,org.xml.sax,javax.xml.parsers,javax.xml.stream,java + x.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.dom, + javax.xml.transform,javax.xml.transform.stream,javax.xml.bind.util,or + g.w3c.dom.bootstrap",org.hsqldb.jdbc.pool;uses:="org.hsqldb.jdbc,java + x.sql,org.hsqldb.lib,javax.naming,javax.transaction.xa,org.hsqldb.err + or,org.hsqldb",org.hsqldb.lib;uses:="org.hsqldb.lib.java,org.hsqldb.m + ap,org.hsqldb",org.hsqldb.lib.java,org.hsqldb.lib.tar;uses:="org.hsql + db.lib",org.hsqldb.lib.tar.rb,org.hsqldb.map;uses:="org.hsqldb.lib,or + g.hsqldb.types",org.hsqldb.navigator;uses:="org.hsqldb,org.hsqldb.err + or,org.hsqldb.result,org.hsqldb.rowio,org.hsqldb.types,org.hsqldb.lib + ,org.hsqldb.index,org.hsqldb.persist",org.hsqldb.persist;uses:="org.h + sqldb.map,org.hsqldb.lib,org.hsqldb.rowio,org.hsqldb.error,org.hsqldb + ,javax.crypto,javax.crypto.spec,org.hsqldb.scriptio,org.hsqldb.types, + org.hsqldb.result,org.hsqldb.navigator,org.hsqldb.index,org.hsqldb.ri + ghts,org.hsqldb.lib.tar,org.hsqldb.dbinfo,org.hsqldb.lib.java",org.hs + qldb.resources;uses:="org.hsqldb.lib",org.hsqldb.result;uses:="org.hs + qldb.error,org.hsqldb.navigator,org.hsqldb.persist,org.hsqldb.map,org + .hsqldb,org.hsqldb.types,org.hsqldb.lib,org.hsqldb.rowio",org.hsqldb. + rights;uses:="org.hsqldb.error,org.hsqldb,org.hsqldb.types,org.hsqldb + .lib,org.hsqldb.result",org.hsqldb.rowio;uses:="org.hsqldb.error,org. + hsqldb.types,org.hsqldb.lib,org.hsqldb.map,org.hsqldb,org.hsqldb.pers + ist,org.hsqldb.scriptio",org.hsqldb.sample,org.hsqldb.scriptio;uses:= + "org.hsqldb.persist,org.hsqldb,org.hsqldb.error,org.hsqldb.lib.java,o + rg.hsqldb.lib,org.hsqldb.rowio,org.hsqldb.result,org.hsqldb.map,org.h + sqldb.types,org.hsqldb.navigator",org.hsqldb.server;uses:="org.hsqldb + .error,org.hsqldb.persist,org.hsqldb.jdbc,org.hsqldb,javax.net.ssl,or + g.hsqldb.lib,javax.net,javax.security.cert,org.hsqldb.types,org.hsqld + b.result,org.hsqldb.resources,org.hsqldb.lib.java,org.hsqldb.map,org. + hsqldb.navigator,org.hsqldb.rowio,javax.servlet,javax.servlet.http",o + rg.hsqldb.types;uses:="org.hsqldb.error,org.hsqldb.jdbc,org.hsqldb,or + g.hsqldb.lib,org.hsqldb.map,org.hsqldb.result,org.hsqldb.lib.java,org + .hsqldb.persist,org.hsqldb.rights",org.hsqldb.util;uses:="javax.swing + ,javax.swing.border,org.hsqldb.lib.java,org.hsqldb.lib,javax.swing.tr + ee,javax.swing.table,javax.swing.event" +Bundle-Version: 2.4.0 +Bundle-Name: HSQLDB +Build-Vendor: blaine +Created-By: 1.8.0_121 (Oracle Corporation) +Specification-Version: 2.4.0 + diff --git a/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/hsqldb_lic.txt b/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/hsqldb_lic.txt new file mode 100644 index 00000000000..11cf9f5fc74 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/hsqldb_lic.txt @@ -0,0 +1,31 @@ +/* Copyright (c) 2001-2017, The HSQL Development Group + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of the HSQL Development Group nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG, + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + diff --git a/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/hypersonic_lic.txt b/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/hypersonic_lic.txt new file mode 100644 index 00000000000..1807174d154 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/META-INF/hypersonic_lic.txt @@ -0,0 +1,70 @@ +/* + * For work developed by the HSQL Development Group: + * + * Copyright (c) 2001-2017, The HSQL Development Group + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of the HSQL Development Group nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG, + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * + * + * For work originally developed by the Hypersonic SQL Group: + * + * Copyright (c) 1995-2000, The Hypersonic SQL Group. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of the Hypersonic SQL Group nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE HYPERSONIC SQL GROUP, + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This software consists of voluntary contributions made by many individuals + * on behalf of the Hypersonic SQL Group. + */ + + diff --git a/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/org/hsqldb/Database.class b/tests/packagedcode/data/maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/org/hsqldb/Database.class new file mode 100644 index 0000000000000000000000000000000000000000..3c9c32371133b2bce7d05675958cef42b014d724 GIT binary patch literal 12965 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 literal 0 HcmV?d00001 diff --git a/tests/packagedcode/data/maven_misc/manifest/1/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/1/MANIFEST.MF.package-data.json index b416e09fcfc..ee36251d773 100644 --- a/tests/packagedcode/data/maven_misc/manifest/1/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/1/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "org.eclipse.ui.intro.universal", "version": "3.2.200.v20080508-patch01", @@ -7,9 +8,7 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/10/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/10/MANIFEST.MF.package-data.json index d21b21243d1..f5250218377 100644 --- a/tests/packagedcode/data/maven_misc/manifest/10/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/10/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "maven", + "datasource_id": "java_jar_manifest", "namespace": "org.hibernate", "name": "hibernate-core", "version": "5.3.7.Final", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": "http://hibernate.org/orm", - "documentation_url": "http://www.hibernate.org/orm/5.3", "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/11/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/11/MANIFEST.MF.package-data.json index a1c0dfcb75a..fa498895d6b 100644 --- a/tests/packagedcode/data/maven_misc/manifest/11/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/11/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "maven", + "datasource_id": "java_jar_manifest", "namespace": "org.mybatis.spring.boot", "name": "mybatis-spring-boot-starter", "version": "1.3.2", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": "http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-starter/", - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/12/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/12/MANIFEST.MF.package-data.json index fb5effcb2ea..e2e0a037dea 100644 --- a/tests/packagedcode/data/maven_misc/manifest/12/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/12/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "jar", + "datasource_id": "java_jar_manifest", "namespace": "io.fabric8", "name": "Fabric8 :: Utils", "version": "1.2.0.redhat-133", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": "http://fabric8.io/fabric-project/fabric-utils/", - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": "http://github.com/fabric8io/fabric8/tree/master/fabric8-project/fabric-project/fabric-utils@d1153bed92a5c894826e710b2aa2ccc199bd8e12", - "code_view_url": "http://github.com/fabric8io/fabric8/tree/master/fabric8-project/fabric-project/fabric-utils", - "notes": null + "code_view_url": "http://github.com/fabric8io/fabric8/tree/master/fabric8-project/fabric-project/fabric-utils" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/13/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/13/MANIFEST.MF.package-data.json index fdec91b6a79..161e93caa1d 100644 --- a/tests/packagedcode/data/maven_misc/manifest/13/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/13/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "jar", + "datasource_id": "java_jar_manifest", "namespace": "commons-codec", "name": "Apache Commons Codec", "version": "1.11", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": "http://commons.apache.org/proper/commons-codec/", - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/14/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/14/MANIFEST.MF.package-data.json index ecd3fd9d180..e401053405c 100644 --- a/tests/packagedcode/data/maven_misc/manifest/14/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/14/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "maven", + "datasource_id": "java_jar_manifest", "namespace": "com.fasterxml.jackson.core", "name": "jackson-databind", "version": "2.9.7", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/15/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/15/MANIFEST.MF.package-data.json index e37eecf70df..e6c41507f0c 100644 --- a/tests/packagedcode/data/maven_misc/manifest/15/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/15/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "maven", + "datasource_id": "java_jar_manifest", "namespace": "com.netflix.hystrix", "name": "hystrix-rx-netty-metrics-stream", "version": "1.5.12", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "owner", @@ -15,6 +15,5 @@ } ], "vcs_url": "https://github.com/Netflix/Hystrix.git@a7b66ca#hystrix-contrib/hystrix-rx-netty-metrics-stream", - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/16/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/16/MANIFEST.MF.package-data.json index 6efd9394fa4..9231503cdbd 100644 --- a/tests/packagedcode/data/maven_misc/manifest/16/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/16/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "maven", + "datasource_id": "java_jar_manifest", "namespace": "com.netflix.conductor", "name": "conductor-redis-persistence", "version": "1.8.9", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "owner", @@ -15,6 +15,5 @@ } ], "vcs_url": "https://github.com/Netflix/conductor.git@e4af3a6#redis-persistence", - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/17/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/17/MANIFEST.MF.package-data.json index 7e8d27c33f4..f9617a7db59 100644 --- a/tests/packagedcode/data/maven_misc/manifest/17/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/17/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "maven", + "datasource_id": "java_jar_manifest", "namespace": "org.elasticsearch", "name": "server", "version": "6.6.0", @@ -7,9 +8,7 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [], "vcs_url": "https://github.com/elastic/elasticsearch.git@a9861f4#server", - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/18/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/18/MANIFEST.MF.package-data.json index 8c1c0feb222..4b10cb297d3 100644 --- a/tests/packagedcode/data/maven_misc/manifest/18/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/18/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "maven", + "datasource_id": "java_jar_manifest", "namespace": "io.reactivex.rxjava2", "name": "rxkotlin", "version": "2.0.2", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "owner", @@ -15,6 +15,5 @@ } ], "vcs_url": "https://github.com/ReactiveX/RxKotlin.git@28db815", - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/19/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/19/MANIFEST.MF.package-data.json index 725bad1d094..b0d73fd68ac 100644 --- a/tests/packagedcode/data/maven_misc/manifest/19/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/19/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "jar", + "datasource_id": "java_jar_manifest", "namespace": "io.undertow", "name": "Undertow WebSockets JSR356 implementations", "version": "2.0.14.Final", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": "http://www.jboss.org/undertow-parent/undertow-websockets-jsr", - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": "https://github.com/undertow-io/undertow/undertow-websockets-jsr@521b30d7017994ce5d028d3fde2384c7913e9bb6", - "code_view_url": "https://github.com/undertow-io/undertow/undertow-websockets-jsr", - "notes": null + "code_view_url": "https://github.com/undertow-io/undertow/undertow-websockets-jsr" } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/2/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/2/MANIFEST.MF.package-data.json index 1bff17756af..7efa2ebed5c 100644 --- a/tests/packagedcode/data/maven_misc/manifest/2/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/2/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "de.agilantis.open_with_eclipse", "version": "0.9.0", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/20/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/20/MANIFEST.MF.package-data.json index 9e125b461bc..30ee346524c 100644 --- a/tests/packagedcode/data/maven_misc/manifest/20/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/20/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "org.eclipse.jetty.websocket.api.source", "version": "9.4.12.v20180830", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/21/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/21/MANIFEST.MF.package-data.json index 992a18c0ca4..53fc94fd28e 100644 --- a/tests/packagedcode/data/maven_misc/manifest/21/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/21/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "maven", + "datasource_id": "java_jar_manifest", "namespace": "io.micrometer", "name": "micrometer-registry-graphite", "version": "1.0.3", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "owner", @@ -15,6 +15,5 @@ } ], "vcs_url": "https://github.com/micrometer-metrics/micrometer.git@3d0f1fd#implementations/micrometer-registry-graphite", - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/22/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/22/MANIFEST.MF.package-data.json index 540c1cd44a8..75522aa04b1 100644 --- a/tests/packagedcode/data/maven_misc/manifest/22/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/22/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "maven", + "datasource_id": "java_jar_manifest", "namespace": "com.netflix.eureka", "name": "eureka-client", "version": "1.8.7", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "owner", @@ -15,6 +15,5 @@ } ], "vcs_url": "https://github.com/Netflix/eureka.git@5491428#eureka-client", - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/23/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/23/MANIFEST.MF.package-data.json index c5f1bb8b74f..045d2493ec6 100644 --- a/tests/packagedcode/data/maven_misc/manifest/23/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/23/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "jar", + "datasource_id": "java_jar_manifest", "namespace": null, "name": "Datalogic SDK", "version": "1.5", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/24/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/24/MANIFEST.MF.package-data.json index efa6f15dadc..29ce58d9152 100644 --- a/tests/packagedcode/data/maven_misc/manifest/24/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/24/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "jar", + "datasource_id": "java_jar_manifest", "namespace": "com.sun", "name": "com.sun.mail.mailapi", "version": "1.6.1", @@ -7,7 +8,6 @@ "extracted_license_statement": "https://javaee.github.io/javamail/LICENSE", "copyright": null, "homepage_url": null, - "documentation_url": "http://www.oracle.com", "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/25/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/25/MANIFEST.MF.package-data.json index 78bb0af72df..a15948240e2 100644 --- a/tests/packagedcode/data/maven_misc/manifest/25/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/25/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "org.codehaus.janino.janino", "version": "3.0.8", @@ -7,9 +8,7 @@ "extracted_license_statement": "https://raw.githubusercontent.com/janino-compiler/janino/master/LICENSE", "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/26/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/26/MANIFEST.MF.package-data.json index 7e48275e6da..34b225924c5 100644 --- a/tests/packagedcode/data/maven_misc/manifest/26/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/26/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "jar", + "datasource_id": "java_jar_manifest", "namespace": "com.sun", "name": "Sun Java System Application Server", "version": "1.1", @@ -7,7 +8,6 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF b/tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF new file mode 100644 index 00000000000..7cffeeab7ef --- /dev/null +++ b/tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF @@ -0,0 +1,102 @@ +Manifest-Version: 1.0 +Bundle-Description: HyperSQL Lightweight 100% Java SQL Database Engine +Implementation-Title: Standard runtime +Bundle-SymbolicName: org.hsqldb.hsqldb +Implementation-Version: 2.4.0 +Bundle-ManifestVersion: 2 +Bnd-LastModified: 1491761716880 +Specification-Vendor: The HSQL Development Group +Specification-Title: HSQLDB +Import-Package: javax.crypto;resolution:=optional,javax.crypto.spec;re + solution:=optional,javax.naming;resolution:=optional,javax.naming.dir + ectory;resolution:=optional,javax.naming.ldap;resolution:=optional,ja + vax.naming.spi;resolution:=optional,javax.net;resolution:=optional,ja + vax.net.ssl;resolution:=optional,javax.security.auth;resolution:=opti + onal,javax.security.auth.callback;resolution:=optional,javax.security + .auth.login;resolution:=optional,javax.security.cert;resolution:=opti + onal,javax.servlet;resolution:=optional,javax.servlet.http;resolution + :=optional,javax.sql;resolution:=optional,javax.swing;resolution:=opt + ional,javax.swing.border;resolution:=optional,javax.swing.event;resol + ution:=optional,javax.swing.table;resolution:=optional,javax.swing.tr + ee;resolution:=optional,javax.transaction.xa;resolution:=optional,jav + ax.xml.bind.util;resolution:=optional,javax.xml.parsers;resolution:=o + ptional,javax.xml.stream;resolution:=optional,javax.xml.transform;res + olution:=optional,javax.xml.transform.dom;resolution:=optional,javax. + xml.transform.sax;resolution:=optional,javax.xml.transform.stax;resol + ution:=optional,javax.xml.transform.stream;resolution:=optional,org.h + sqldb;resolution:=optional,org.hsqldb.auth;resolution:=optional,org.h + sqldb.dbinfo;resolution:=optional,org.hsqldb.error;resolution:=option + al,org.hsqldb.index;resolution:=optional,org.hsqldb.jdbc;resolution:= + optional,org.hsqldb.jdbc.pool;resolution:=optional,org.hsqldb.lib;res + olution:=optional,org.hsqldb.lib.java;resolution:=optional,org.hsqldb + .lib.tar;resolution:=optional,org.hsqldb.lib.tar.rb;resolution:=optio + nal,org.hsqldb.map;resolution:=optional,org.hsqldb.navigator;resoluti + on:=optional,org.hsqldb.persist;resolution:=optional,org.hsqldb.resou + rces;resolution:=optional,org.hsqldb.result;resolution:=optional,org. + hsqldb.rights;resolution:=optional,org.hsqldb.rowio;resolution:=optio + nal,org.hsqldb.sample;resolution:=optional,org.hsqldb.scriptio;resolu + tion:=optional,org.hsqldb.server;resolution:=optional,org.hsqldb.type + s;resolution:=optional,org.hsqldb.util;resolution:=optional,org.w3c.d + om;resolution:=optional,org.w3c.dom.bootstrap;resolution:=optional,or + g.xml.sax;resolution:=optional +Tool: Bnd-0.0.384 +Main-Class: org.hsqldb.util.DatabaseManagerSwing +Implementation-Vendor: The HSQL Development Group +Ant-Version: Apache Ant 1.9.3 +Originally-Created-By: 1.8.0_121-b13 (Oracle Corporation) +Export-Package: org.hsqldb;uses:="org.hsqldb.server,org.hsqldb.error,o + rg.hsqldb.types,org.hsqldb.lib,org.hsqldb.result,org.hsqldb.persist,o + rg.hsqldb.map,org.hsqldb.navigator,org.hsqldb.jdbc,org.hsqldb.rowio,o + rg.hsqldb.rights,org.hsqldb.index,org.hsqldb.dbinfo,org.hsqldb.lib.ja + va,org.hsqldb.scriptio",org.hsqldb.auth;uses:="org.hsqldb.jdbc,org.hs + qldb.types,org.hsqldb.lib,javax.security.auth.callback,javax.security + .auth,javax.security.auth.login,javax.naming.directory,javax.naming.l + dap,javax.naming,javax.net.ssl",org.hsqldb.dbinfo;uses:="org.hsqldb.m + ap,org.hsqldb,org.hsqldb.rights,org.hsqldb.resources,org.hsqldb.persi + st,org.hsqldb.lib,org.hsqldb.result,org.hsqldb.types,org.hsqldb.index + ",org.hsqldb.error;uses:="org.hsqldb.result,org.hsqldb,org.hsqldb.res + ources,org.hsqldb.lib",org.hsqldb.index;uses:="org.hsqldb.persist,org + .hsqldb.navigator,org.hsqldb,org.hsqldb.types,org.hsqldb.error,org.hs + qldb.rights,org.hsqldb.lib,org.hsqldb.rowio",org.hsqldb.jdbc;uses:="o + rg.hsqldb.error,org.hsqldb.result,org.hsqldb.navigator,org.hsqldb,org + .hsqldb.types,org.hsqldb.lib.java,org.hsqldb.lib,javax.sql,org.hsqldb + .persist,javax.naming,javax.naming.spi,org.hsqldb.jdbc.pool,org.hsqld + b.map,org.w3c.dom,org.xml.sax,javax.xml.parsers,javax.xml.stream,java + x.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.dom, + javax.xml.transform,javax.xml.transform.stream,javax.xml.bind.util,or + g.w3c.dom.bootstrap",org.hsqldb.jdbc.pool;uses:="org.hsqldb.jdbc,java + x.sql,org.hsqldb.lib,javax.naming,javax.transaction.xa,org.hsqldb.err + or,org.hsqldb",org.hsqldb.lib;uses:="org.hsqldb.lib.java,org.hsqldb.m + ap,org.hsqldb",org.hsqldb.lib.java,org.hsqldb.lib.tar;uses:="org.hsql + db.lib",org.hsqldb.lib.tar.rb,org.hsqldb.map;uses:="org.hsqldb.lib,or + g.hsqldb.types",org.hsqldb.navigator;uses:="org.hsqldb,org.hsqldb.err + or,org.hsqldb.result,org.hsqldb.rowio,org.hsqldb.types,org.hsqldb.lib + ,org.hsqldb.index,org.hsqldb.persist",org.hsqldb.persist;uses:="org.h + sqldb.map,org.hsqldb.lib,org.hsqldb.rowio,org.hsqldb.error,org.hsqldb + ,javax.crypto,javax.crypto.spec,org.hsqldb.scriptio,org.hsqldb.types, + org.hsqldb.result,org.hsqldb.navigator,org.hsqldb.index,org.hsqldb.ri + ghts,org.hsqldb.lib.tar,org.hsqldb.dbinfo,org.hsqldb.lib.java",org.hs + qldb.resources;uses:="org.hsqldb.lib",org.hsqldb.result;uses:="org.hs + qldb.error,org.hsqldb.navigator,org.hsqldb.persist,org.hsqldb.map,org + .hsqldb,org.hsqldb.types,org.hsqldb.lib,org.hsqldb.rowio",org.hsqldb. + rights;uses:="org.hsqldb.error,org.hsqldb,org.hsqldb.types,org.hsqldb + .lib,org.hsqldb.result",org.hsqldb.rowio;uses:="org.hsqldb.error,org. + hsqldb.types,org.hsqldb.lib,org.hsqldb.map,org.hsqldb,org.hsqldb.pers + ist,org.hsqldb.scriptio",org.hsqldb.sample,org.hsqldb.scriptio;uses:= + "org.hsqldb.persist,org.hsqldb,org.hsqldb.error,org.hsqldb.lib.java,o + rg.hsqldb.lib,org.hsqldb.rowio,org.hsqldb.result,org.hsqldb.map,org.h + sqldb.types,org.hsqldb.navigator",org.hsqldb.server;uses:="org.hsqldb + .error,org.hsqldb.persist,org.hsqldb.jdbc,org.hsqldb,javax.net.ssl,or + g.hsqldb.lib,javax.net,javax.security.cert,org.hsqldb.types,org.hsqld + b.result,org.hsqldb.resources,org.hsqldb.lib.java,org.hsqldb.map,org. + hsqldb.navigator,org.hsqldb.rowio,javax.servlet,javax.servlet.http",o + rg.hsqldb.types;uses:="org.hsqldb.error,org.hsqldb.jdbc,org.hsqldb,or + g.hsqldb.lib,org.hsqldb.map,org.hsqldb.result,org.hsqldb.lib.java,org + .hsqldb.persist,org.hsqldb.rights",org.hsqldb.util;uses:="javax.swing + ,javax.swing.border,org.hsqldb.lib.java,org.hsqldb.lib,javax.swing.tr + ee,javax.swing.table,javax.swing.event" +Bundle-Version: 2.4.0 +Bundle-Name: HSQLDB +Build-Vendor: blaine +Created-By: 1.8.0_121 (Oracle Corporation) +Specification-Version: 2.4.0 diff --git a/tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF.json b/tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF.json new file mode 100644 index 00000000000..8076fb27ea5 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF.json @@ -0,0 +1,25 @@ +[ + { + "Manifest-Version": "1.0", + "Bundle-Description": "HyperSQL Lightweight 100% Java SQL Database Engine", + "Implementation-Title": "Standard runtime", + "Bundle-SymbolicName": "org.hsqldb.hsqldb", + "Implementation-Version": "2.4.0", + "Bundle-ManifestVersion": "2", + "Bnd-LastModified": "1491761716880", + "Specification-Vendor": "The HSQL Development Group", + "Specification-Title": "HSQLDB", + "Import-Package": "javax.crypto;resolution:=optional,javax.crypto.spec;resolution:=optional,javax.naming;resolution:=optional,javax.naming.directory;resolution:=optional,javax.naming.ldap;resolution:=optional,javax.naming.spi;resolution:=optional,javax.net;resolution:=optional,javax.net.ssl;resolution:=optional,javax.security.auth;resolution:=optional,javax.security.auth.callback;resolution:=optional,javax.security.auth.login;resolution:=optional,javax.security.cert;resolution:=optional,javax.servlet;resolution:=optional,javax.servlet.http;resolution:=optional,javax.sql;resolution:=optional,javax.swing;resolution:=optional,javax.swing.border;resolution:=optional,javax.swing.event;resolution:=optional,javax.swing.table;resolution:=optional,javax.swing.tree;resolution:=optional,javax.transaction.xa;resolution:=optional,javax.xml.bind.util;resolution:=optional,javax.xml.parsers;resolution:=optional,javax.xml.stream;resolution:=optional,javax.xml.transform;resolution:=optional,javax.xml.transform.dom;resolution:=optional,javax.xml.transform.sax;resolution:=optional,javax.xml.transform.stax;resolution:=optional,javax.xml.transform.stream;resolution:=optional,org.hsqldb;resolution:=optional,org.hsqldb.auth;resolution:=optional,org.hsqldb.dbinfo;resolution:=optional,org.hsqldb.error;resolution:=optional,org.hsqldb.index;resolution:=optional,org.hsqldb.jdbc;resolution:=optional,org.hsqldb.jdbc.pool;resolution:=optional,org.hsqldb.lib;resolution:=optional,org.hsqldb.lib.java;resolution:=optional,org.hsqldb.lib.tar;resolution:=optional,org.hsqldb.lib.tar.rb;resolution:=optional,org.hsqldb.map;resolution:=optional,org.hsqldb.navigator;resolution:=optional,org.hsqldb.persist;resolution:=optional,org.hsqldb.resources;resolution:=optional,org.hsqldb.result;resolution:=optional,org.hsqldb.rights;resolution:=optional,org.hsqldb.rowio;resolution:=optional,org.hsqldb.sample;resolution:=optional,org.hsqldb.scriptio;resolution:=optional,org.hsqldb.server;resolution:=optional,org.hsqldb.types;resolution:=optional,org.hsqldb.util;resolution:=optional,org.w3c.dom;resolution:=optional,org.w3c.dom.bootstrap;resolution:=optional,org.xml.sax;resolution:=optional", + "Tool": "Bnd-0.0.384", + "Main-Class": "org.hsqldb.util.DatabaseManagerSwing", + "Implementation-Vendor": "The HSQL Development Group", + "Ant-Version": "Apache Ant 1.9.3", + "Originally-Created-By": "1.8.0_121-b13 (Oracle Corporation)", + "Export-Package": "org.hsqldb;uses:=\"org.hsqldb.server,org.hsqldb.error,org.hsqldb.types,org.hsqldb.lib,org.hsqldb.result,org.hsqldb.persist,org.hsqldb.map,org.hsqldb.navigator,org.hsqldb.jdbc,org.hsqldb.rowio,org.hsqldb.rights,org.hsqldb.index,org.hsqldb.dbinfo,org.hsqldb.lib.java,org.hsqldb.scriptio\",org.hsqldb.auth;uses:=\"org.hsqldb.jdbc,org.hsqldb.types,org.hsqldb.lib,javax.security.auth.callback,javax.security.auth,javax.security.auth.login,javax.naming.directory,javax.naming.ldap,javax.naming,javax.net.ssl\",org.hsqldb.dbinfo;uses:=\"org.hsqldb.map,org.hsqldb,org.hsqldb.rights,org.hsqldb.resources,org.hsqldb.persist,org.hsqldb.lib,org.hsqldb.result,org.hsqldb.types,org.hsqldb.index\",org.hsqldb.error;uses:=\"org.hsqldb.result,org.hsqldb,org.hsqldb.resources,org.hsqldb.lib\",org.hsqldb.index;uses:=\"org.hsqldb.persist,org.hsqldb.navigator,org.hsqldb,org.hsqldb.types,org.hsqldb.error,org.hsqldb.rights,org.hsqldb.lib,org.hsqldb.rowio\",org.hsqldb.jdbc;uses:=\"org.hsqldb.error,org.hsqldb.result,org.hsqldb.navigator,org.hsqldb,org.hsqldb.types,org.hsqldb.lib.java,org.hsqldb.lib,javax.sql,org.hsqldb.persist,javax.naming,javax.naming.spi,org.hsqldb.jdbc.pool,org.hsqldb.map,org.w3c.dom,org.xml.sax,javax.xml.parsers,javax.xml.stream,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.dom,javax.xml.transform,javax.xml.transform.stream,javax.xml.bind.util,org.w3c.dom.bootstrap\",org.hsqldb.jdbc.pool;uses:=\"org.hsqldb.jdbc,javax.sql,org.hsqldb.lib,javax.naming,javax.transaction.xa,org.hsqldb.error,org.hsqldb\",org.hsqldb.lib;uses:=\"org.hsqldb.lib.java,org.hsqldb.map,org.hsqldb\",org.hsqldb.lib.java,org.hsqldb.lib.tar;uses:=\"org.hsqldb.lib\",org.hsqldb.lib.tar.rb,org.hsqldb.map;uses:=\"org.hsqldb.lib,org.hsqldb.types\",org.hsqldb.navigator;uses:=\"org.hsqldb,org.hsqldb.error,org.hsqldb.result,org.hsqldb.rowio,org.hsqldb.types,org.hsqldb.lib,org.hsqldb.index,org.hsqldb.persist\",org.hsqldb.persist;uses:=\"org.hsqldb.map,org.hsqldb.lib,org.hsqldb.rowio,org.hsqldb.error,org.hsqldb,javax.crypto,javax.crypto.spec,org.hsqldb.scriptio,org.hsqldb.types,org.hsqldb.result,org.hsqldb.navigator,org.hsqldb.index,org.hsqldb.rights,org.hsqldb.lib.tar,org.hsqldb.dbinfo,org.hsqldb.lib.java\",org.hsqldb.resources;uses:=\"org.hsqldb.lib\",org.hsqldb.result;uses:=\"org.hsqldb.error,org.hsqldb.navigator,org.hsqldb.persist,org.hsqldb.map,org.hsqldb,org.hsqldb.types,org.hsqldb.lib,org.hsqldb.rowio\",org.hsqldb.rights;uses:=\"org.hsqldb.error,org.hsqldb,org.hsqldb.types,org.hsqldb.lib,org.hsqldb.result\",org.hsqldb.rowio;uses:=\"org.hsqldb.error,org.hsqldb.types,org.hsqldb.lib,org.hsqldb.map,org.hsqldb,org.hsqldb.persist,org.hsqldb.scriptio\",org.hsqldb.sample,org.hsqldb.scriptio;uses:=\"org.hsqldb.persist,org.hsqldb,org.hsqldb.error,org.hsqldb.lib.java,org.hsqldb.lib,org.hsqldb.rowio,org.hsqldb.result,org.hsqldb.map,org.hsqldb.types,org.hsqldb.navigator\",org.hsqldb.server;uses:=\"org.hsqldb.error,org.hsqldb.persist,org.hsqldb.jdbc,org.hsqldb,javax.net.ssl,org.hsqldb.lib,javax.net,javax.security.cert,org.hsqldb.types,org.hsqldb.result,org.hsqldb.resources,org.hsqldb.lib.java,org.hsqldb.map,org.hsqldb.navigator,org.hsqldb.rowio,javax.servlet,javax.servlet.http\",org.hsqldb.types;uses:=\"org.hsqldb.error,org.hsqldb.jdbc,org.hsqldb,org.hsqldb.lib,org.hsqldb.map,org.hsqldb.result,org.hsqldb.lib.java,org.hsqldb.persist,org.hsqldb.rights\",org.hsqldb.util;uses:=\"javax.swing,javax.swing.border,org.hsqldb.lib.java,org.hsqldb.lib,javax.swing.tree,javax.swing.table,javax.swing.event\"", + "Bundle-Version": "2.4.0", + "Bundle-Name": "HSQLDB", + "Build-Vendor": "blaine", + "Created-By": "1.8.0_121 (Oracle Corporation)", + "Specification-Version": "2.4.0" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF.package-data.json new file mode 100644 index 00000000000..9d351a6b7ad --- /dev/null +++ b/tests/packagedcode/data/maven_misc/manifest/27/MANIFEST.MF.package-data.json @@ -0,0 +1,19 @@ +{ + "type": "osgi", + "datasource_id": "java_osgi_manifest", + "namespace": null, + "name": "org.hsqldb.hsqldb", + "version": "2.4.0", + "description": "HSQLDB\nHyperSQL Lightweight 100% Java SQL Database Engine", + "extracted_license_statement": null, + "copyright": null, + "homepage_url": null, + "parties": [ + { + "role": "vendor", + "name": "The HSQL Development Group" + } + ], + "vcs_url": null, + "code_view_url": null +} \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/3/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/3/MANIFEST.MF.package-data.json index 5b1fc425449..fcfc98ae6cf 100644 --- a/tests/packagedcode/data/maven_misc/manifest/3/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/3/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "org.apache.batik.bridge", "version": "1.6.0.v200706111724", @@ -7,9 +8,7 @@ "extracted_license_statement": null, "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/4/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/4/MANIFEST.MF.package-data.json index 4a06cc1f7d5..8c1ce3761b3 100644 --- a/tests/packagedcode/data/maven_misc/manifest/4/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/4/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "log4j", "version": "1.2.16", @@ -7,7 +8,6 @@ "extracted_license_statement": "http://www.apache.org/licenses/LICENSE-2.0.txt", "copyright": null, "homepage_url": null, - "documentation_url": "http://logging.apache.org/log4j/1.2", "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/5/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/5/MANIFEST.MF.package-data.json index d697ccad0fe..531ed713318 100644 --- a/tests/packagedcode/data/maven_misc/manifest/5/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/5/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "org.glassfish.hk2.utils", "version": "2.4.0.b34", @@ -7,7 +8,6 @@ "extracted_license_statement": "https://glassfish.java.net/nonav/public/CDDL+GPL_1_1.html", "copyright": null, "homepage_url": null, - "documentation_url": "http://www.oracle.com", "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/6/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/6/MANIFEST.MF.package-data.json index 3fcf3f3b4be..281acdce233 100644 --- a/tests/packagedcode/data/maven_misc/manifest/6/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/6/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "javassist", "version": "3.18.1.GA", @@ -7,7 +8,6 @@ "extracted_license_statement": "http://www.mozilla.org/MPL/MPL-1.1.html, http://www.gnu.org/licenses/lgpl-2.1.html, http://www.apache.org/licenses/", "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "spec-vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/7/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/7/MANIFEST.MF.package-data.json index 5b396dd20c8..e98f8e7fc6b 100644 --- a/tests/packagedcode/data/maven_misc/manifest/7/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/7/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "org.fusesource.leveldbjni.leveldbjni-all", "version": "1.8.0", @@ -7,7 +8,6 @@ "extracted_license_statement": "http://www.opensource.org/licenses/BSD-3-Clause", "copyright": null, "homepage_url": null, - "documentation_url": "http://fusesource.com/", "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/8/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/8/MANIFEST.MF.package-data.json index 96401d6d076..37ed9f42fc7 100644 --- a/tests/packagedcode/data/maven_misc/manifest/8/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/8/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "org.jodd.core", "version": "3.5.2", @@ -7,7 +8,6 @@ "extracted_license_statement": "http://jodd.org/license.html", "copyright": null, "homepage_url": null, - "documentation_url": "http://jodd.org", "parties": [ { "role": "vendor", @@ -19,6 +19,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/9/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/9/MANIFEST.MF.package-data.json index 20b1084c6c6..d055debde65 100644 --- a/tests/packagedcode/data/maven_misc/manifest/9/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/9/MANIFEST.MF.package-data.json @@ -1,5 +1,6 @@ { "type": "osgi", + "datasource_id": "java_osgi_manifest", "namespace": null, "name": "com.github.luben.zstd-jni", "version": "1.3.2.2", @@ -7,7 +8,6 @@ "extracted_license_statement": "https://opensource.org/licenses/BSD-2-Clause;description=BSD 2-Clause License", "copyright": null, "homepage_url": null, - "documentation_url": null, "parties": [ { "role": "vendor", @@ -15,6 +15,5 @@ } ], "vcs_url": null, - "code_view_url": null, - "notes": null + "code_view_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/uberjars/htrace-core-4.0.0-incubating-expected.json b/tests/packagedcode/data/maven_misc/uberjars/htrace-core-4.0.0-incubating-expected.json index a85c04ca3bc..871ae1d28a4 100644 --- a/tests/packagedcode/data/maven_misc/uberjars/htrace-core-4.0.0-incubating-expected.json +++ b/tests/packagedcode/data/maven_misc/uberjars/htrace-core-4.0.0-incubating-expected.json @@ -1,5 +1,96 @@ { "packages": [ + { + "type": "maven", + "namespace": "org.apache.htrace", + "name": "htrace-core", + "version": "4.0.0-incubating", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": null, + "role": "vendor", + "name": "The Apache Software Foundation", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0", + "declared_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 2, + "end_line": 4, + "matched_length": 12, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_791.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_791.RULE" + } + ], + "identifier": "apache_2_0-aef5c472-cdfd-dc5f-c152-40e3d96f140e" + }, + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 95.0, + "start_line": 5, + "end_line": 6, + "matched_length": 14, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_product_includes_2.RULE", + "rule_relevance": 95, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_product_includes_2.RULE" + } + ], + "identifier": "apache_2_0-482220ca-c07b-bf59-66ed-6e7eaf9f3b1e" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "htrace-core-4.0.0-incubating/META-INF/MANIFEST.MF" + ], + "datasource_ids": [ + "java_jar_manifest" + ], + "purl": "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating" + }, { "type": "maven", "namespace": "com.fasterxml.jackson.core", @@ -486,12 +577,12 @@ { "identifier": "apache_2_0-482220ca-c07b-bf59-66ed-6e7eaf9f3b1e", "license_expression": "apache-2.0", - "detection_count": 1 + "detection_count": 2 }, { "identifier": "apache_2_0-aef5c472-cdfd-dc5f-c152-40e3d96f140e", "license_expression": "apache-2.0", - "detection_count": 1 + "detection_count": 2 }, { "identifier": "apache_2_0-e7633baf-a264-a1ab-40f6-a28ec157067a", @@ -516,7 +607,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -528,7 +621,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/DEPENDENCIES", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": "apache-2.0", "detected_license_expression_spdx": "Apache-2.0", "license_detections": [ @@ -595,7 +690,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/LICENSE", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": "apache-2.0", "detected_license_expression_spdx": "Apache-2.0", "license_detections": [ @@ -625,8 +722,95 @@ { "path": "htrace-core-4.0.0-incubating/META-INF/MANIFEST.MF", "type": "file", - "package_data": [], - "for_packages": [], + "package_data": [ + { + "type": "maven", + "namespace": "org.apache.htrace", + "name": "htrace-core", + "version": "4.0.0-incubating", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "", + "release_date": null, + "parties": [ + { + "role": "vendor", + "name": "The Apache Software Foundation" + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0", + "declared_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 2, + "end_line": 4, + "matched_length": 12, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_791.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_791.RULE" + } + ], + "identifier": "apache_2_0-aef5c472-cdfd-dc5f-c152-40e3d96f140e" + }, + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 95.0, + "start_line": 5, + "end_line": 6, + "matched_length": 14, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_product_includes_2.RULE", + "rule_relevance": 95, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_product_includes_2.RULE" + } + ], + "identifier": "apache_2_0-482220ca-c07b-bf59-66ed-6e7eaf9f3b1e" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "java_jar_manifest", + "purl": "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating" + } + ], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -638,7 +822,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/NOTICE", "type": "file", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": "apache-2.0", "detected_license_expression_spdx": "Apache-2.0", "license_detections": [ @@ -669,7 +855,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/maven", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -681,7 +869,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/maven/com.fasterxml.jackson.core", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -693,7 +883,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/maven/com.fasterxml.jackson.core/jackson-annotations", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -751,6 +943,7 @@ } ], "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/com.fasterxml.jackson.core/jackson-annotations@2.4.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "detected_license_expression": null, @@ -764,7 +957,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/maven/com.fasterxml.jackson.core/jackson-core", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -822,6 +1017,7 @@ } ], "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/com.fasterxml.jackson.core/jackson-core@2.4.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "detected_license_expression": null, @@ -835,7 +1031,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/maven/com.fasterxml.jackson.core/jackson-databind", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -944,6 +1142,7 @@ } ], "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.4.0?uuid=fixed-uid-done-for-testing-5642512d1758" ], "detected_license_expression": null, @@ -957,7 +1156,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/maven/commons-logging", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -969,7 +1170,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/maven/commons-logging/commons-logging", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -1097,6 +1300,7 @@ } ], "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/commons-logging/commons-logging@1.1.1?uuid=fixed-uid-done-for-testing-5642512d1758" ], "detected_license_expression": "apache-2.0", @@ -1129,7 +1333,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/maven/org.apache.htrace", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -1141,7 +1347,9 @@ "path": "htrace-core-4.0.0-incubating/META-INF/maven/org.apache.htrace/htrace-core", "type": "directory", "package_data": [], - "for_packages": [], + "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" + ], "detected_license_expression": null, "detected_license_expression_spdx": null, "license_detections": [], @@ -1259,6 +1467,7 @@ } ], "for_packages": [ + "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.apache.htrace/htrace-core@4.0.0-incubating?uuid=fixed-uid-done-for-testing-5642512d1758" ], "detected_license_expression": "apache-2.0", diff --git a/tests/packagedcode/data/plugin/help.txt b/tests/packagedcode/data/plugin/help.txt index f594c5ff88c..f004d93ed63 100755 --- a/tests/packagedcode/data/plugin/help.txt +++ b/tests/packagedcode/data/plugin/help.txt @@ -601,6 +601,13 @@ Package type: opam description: Ocaml Opam file path_patterns: '*opam' -------------------------------------------- +Package type: osgi + datasource_id: java_osgi_manifest + documentation URL: https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html + primary language: Java + description: Java OSGi MANIFEST.MF + path_patterns: +-------------------------------------------- Package type: pubspec datasource_id: pubspec_lock documentation URL: https://web.archive.org/web/20220330081004/https://gpalma.pt/blog/what-is-the-pubspec-lock/ diff --git a/tests/packagedcode/test_maven.py b/tests/packagedcode/test_maven.py index 821acccba48..4cb9b629ba3 100644 --- a/tests/packagedcode/test_maven.py +++ b/tests/packagedcode/test_maven.py @@ -209,9 +209,16 @@ def test_parse_to_package_then_back(self): assert package2.to_dict().items() == package.to_dict().items() def test_package_with_extracted_jars_and_metainf_poms_is_detected_correctly(self): - test_dir = self.get_test_loc('maven_misc/extracted-jar') + test_dir = self.get_test_loc('maven_misc/extracted-jar/activiti-image-generator-7-201802-EA-sources.jar-extract/') result_file = self.get_temp_file('json') - expected_file = self.get_test_loc('maven_misc/extracted-jar-expected.json') + expected_file = self.get_test_loc('maven_misc/extracted-jar/activiti-image-generator-expected.json') + run_scan_click(['--package', '--processes', '-1', test_dir, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_package_with_extracted_jars_and_metainf_manifest_is_detected_correctly(self): + test_dir = self.get_test_loc('maven_misc/extracted-jar/hsqldb-2.4.0.jar-extract/') + result_file = self.get_temp_file('json') + expected_file = self.get_test_loc('maven_misc/extracted-jar/hsqldb-2.4.0-expected.json') run_scan_click(['--package', '--processes', '-1', test_dir, '--json', result_file]) check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) diff --git a/tests/summarycode/data/classify/with_package_data.expected.json b/tests/summarycode/data/classify/with_package_data.expected.json index 43c1ba53736..ff4595c7ac1 100644 --- a/tests/summarycode/data/classify/with_package_data.expected.json +++ b/tests/summarycode/data/classify/with_package_data.expected.json @@ -1,5 +1,59 @@ { "packages": [ + { + "type": "jar", + "namespace": null, + "name": "JBoss Logging 3", + "version": "3.4.2.Final", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": null, + "role": "vendor", + "name": "JBoss by Red Hat", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "http://www.jboss.org", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": "https://github.com/jboss-logging/jboss-logging", + "vcs_url": "https://github.com/jboss-logging/jboss-logging@8d42b4ed170fd961f32663fc4b4816ba4a44d93c", + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "jar/META-INF/MANIFEST.MF" + ], + "datasource_ids": [ + "java_jar_manifest" + ], + "purl": "pkg:jar/JBoss%20Logging%203@3.4.2.Final" + }, { "type": "maven", "namespace": "org.jboss.logging", @@ -271,6 +325,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -304,6 +359,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -337,6 +393,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": true, @@ -368,8 +425,57 @@ "is_media": false, "is_source": false, "is_script": false, - "package_data": [], + "package_data": [ + { + "type": "jar", + "namespace": null, + "name": "JBoss Logging 3", + "version": "3.4.2.Final", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "", + "release_date": null, + "parties": [ + { + "role": "vendor", + "name": "JBoss by Red Hat" + } + ], + "keywords": [], + "homepage_url": "http://www.jboss.org", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": "https://github.com/jboss-logging/jboss-logging", + "vcs_url": "https://github.com/jboss-logging/jboss-logging@8d42b4ed170fd961f32663fc4b4816ba4a44d93c", + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "java_jar_manifest", + "purl": "pkg:jar/JBoss%20Logging%203@3.4.2.Final" + } + ], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -403,6 +509,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -436,6 +543,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -469,6 +577,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -502,6 +611,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -710,6 +820,7 @@ } ], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, diff --git a/tests/summarycode/data/score/jar-expected.json b/tests/summarycode/data/score/jar-expected.json index 481045af2d2..cde97425600 100644 --- a/tests/summarycode/data/score/jar-expected.json +++ b/tests/summarycode/data/score/jar-expected.json @@ -12,6 +12,79 @@ } }, "packages": [ + { + "type": "jar", + "namespace": null, + "name": "JBoss Logging 3", + "version": "3.4.2.Final", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": null, + "role": "vendor", + "name": "JBoss by Red Hat", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": "http://www.jboss.org", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": "https://github.com/jboss-logging/jboss-logging", + "vcs_url": "https://github.com/jboss-logging/jboss-logging@8d42b4ed170fd961f32663fc4b4816ba4a44d93c", + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0", + "declared_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 2, + "end_line": 202, + "matched_length": 1584, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE" + } + ], + "identifier": "apache_2_0-ab23f79b-ec38-9a8a-9b23-85059407f34d" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "jar/META-INF/MANIFEST.MF" + ], + "datasource_ids": [ + "java_jar_manifest" + ], + "purl": "pkg:jar/JBoss%20Logging%203@3.4.2.Final" + }, { "type": "maven", "namespace": "org.jboss.logging", @@ -229,6 +302,11 @@ } ], "license_detections": [ + { + "identifier": "apache_2_0-ab23f79b-ec38-9a8a-9b23-85059407f34d", + "license_expression": "apache-2.0", + "detection_count": 2 + }, { "identifier": "apache_2_0-c4e30bcd-ccfd-bbc3-d2f1-196ab911e47d", "license_expression": "apache-2.0", @@ -248,11 +326,6 @@ "identifier": "apache_2_0-4800df2e-4a56-bac0-cac1-9fd31da23344", "license_expression": "apache-2.0", "detection_count": 1 - }, - { - "identifier": "apache_2_0-ab23f79b-ec38-9a8a-9b23-85059407f34d", - "license_expression": "apache-2.0", - "detection_count": 1 } ], "files": [ @@ -318,6 +391,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -359,6 +433,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -400,6 +475,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": true, @@ -458,8 +534,76 @@ "is_media": false, "is_source": false, "is_script": false, - "package_data": [], + "package_data": [ + { + "type": "jar", + "namespace": null, + "name": "JBoss Logging 3", + "version": "3.4.2.Final", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "", + "release_date": null, + "parties": [ + { + "role": "vendor", + "name": "JBoss by Red Hat" + } + ], + "keywords": [], + "homepage_url": "http://www.jboss.org", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": "https://github.com/jboss-logging/jboss-logging", + "vcs_url": "https://github.com/jboss-logging/jboss-logging@8d42b4ed170fd961f32663fc4b4816ba4a44d93c", + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0", + "declared_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 2, + "end_line": 202, + "matched_length": 1584, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0.LICENSE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE" + } + ], + "identifier": "apache_2_0-ab23f79b-ec38-9a8a-9b23-85059407f34d" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "java_jar_manifest", + "purl": "pkg:jar/JBoss%20Logging%203@3.4.2.Final" + } + ], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -501,6 +645,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -542,6 +687,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -583,6 +729,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -624,6 +771,7 @@ "is_script": false, "package_data": [], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, @@ -840,6 +988,7 @@ } ], "for_packages": [ + "pkg:jar/JBoss%20Logging%203@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758", "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?uuid=fixed-uid-done-for-testing-5642512d1758" ], "is_legal": false, From ac04984a1274a0c15345fc759ef1ec28d3b04a70 Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Wed, 5 Jul 2023 14:56:21 +0530 Subject: [PATCH 2/6] Add maven license detection updates Add a new config variable for datafile handlers, which if enabled will run a package-ecosystem specific implementation of license detection. Added a function to implement this for maven which only keeps the relevant information and runs license detection on the whole license statement and not on the respective values/attributes one-by-one. Enabled this for maven to improve license detection there. Signed-off-by: Ayan Sinha Mahapatra --- src/packagedcode/__init__.py | 9 + src/packagedcode/licensing.py | 34 +- src/packagedcode/maven.py | 62 ++- src/packagedcode/models.py | 3 +- .../data/common/manifests-expected.json | 57 +- .../data/common/manifests-expected.jsonlines | 63 +-- .../data/common/manifests-expected.yaml | 53 +- ...cted-with-test-manifests-with-license.json | 4 +- ...instance-expected-with-test-manifests.json | 4 +- .../reference-to-package/base.expected.json | 6 +- .../google_appengine_sdk.expected.json | 24 +- .../paddlenlp.expected.json | 8 +- .../1.0/aopalliance-1.0.pom.package.json | 6 +- .../1.5.3/aspectjrt-1.5.3.pom.package.json | 24 +- .../0.0.203/bndlib-0.0.203.pom.package.json | 24 +- .../0.0.238/bndlib-0.0.238.pom.package.json | 24 +- .../data/m2/bytebuddy/pom.xml.package.json | 35 +- .../0.9.0.4/c3p0-0.9.0.4.pom.package.json | 22 +- .../1.3/commons-codec-1.3.pom.package.json | 6 +- .../commons-collections-3.2.pom.package.json | 6 +- .../jsch/0.1.23/jsch-0.1.23.pom.package.json | 47 +- .../jsch/0.1.27/jsch-0.1.27.pom.package.json | 29 +- .../xstream-parent-1.2.2.pom.package.json | 24 +- .../data/m2/depman/foo.pom.package.json | 24 +- .../1.8/commons-digester-1.8.pom.package.json | 6 +- .../1.0/commons-el-1.0.pom.package.json | 6 +- .../1.8.0.7/hsqldb-1.8.0.7.pom.package.json | 24 +- .../1.6.2/httpunit-1.6.2.pom.package.json | 30 +- .../1.3.1/commons-io-1.3.1.pom.package.json | 6 +- .../3.4.GA/javassist-3.4.GA.pom.package.json | 22 +- .../1.0/persistence-api-1.0.pom.package.json | 24 +- .../3.3.ga/javassist-3.3.ga.pom.package.json | 42 +- ...-5.0.0alpha-200607201-119.pom.package.json | 22 +- .../jtidy-4aug2000r7-dev.pom.package.json | 4 +- .../junit/3.8.1/junit-3.8.1.pom.package.json | 24 +- .../junit/3.8.2/junit-3.8.2.pom.package.json | 24 +- .../junit/4.4/junit-4.4.pom.package.json | 24 +- .../2.1/commons-lang-2.1.pom.package.json | 6 +- .../2.3/commons-lang-2.3.pom.package.json | 6 +- .../1.2.15/log4j-1.2.15.pom.package.json | 33 +- .../commons-logging-1.0.4.pom.package.json | 6 +- .../1.1/commons-logging-1.1.pom.package.json | 6 +- ...ysql-connector-java-5.0.4.pom.package.json | 67 +-- .../1.2.3/ehcache-1.2.3.pom.package.json | 40 +- .../kxml2/2.2.2/kxml2-2.2.2.pom.package.json | 24 +- ...egi-security-parent-1.0.5.pom.package.json | 33 +- ...egi-security-parent-1.0.7.pom.package.json | 33 +- .../1.1.1/master-1.1.1.pom.package.json | 42 +- .../apache/apache/1/apache-1.pom.package.json | 33 +- .../apache/apache/3/apache-3.pom.package.json | 33 +- .../apache/apache/4/apache-4.pom.package.json | 33 +- .../1.22/commons-jaxrs-1.22.pom.package.json | 24 +- .../1.1/project-config-1.1.pom.package.json | 33 +- .../maven/2.0.1/maven-2.0.1.pom.package.json | 33 +- .../maven/2.0.2/maven-2.0.2.pom.package.json | 33 +- .../maven/2.0.4/maven-2.0.4.pom.package.json | 33 +- .../maven/2.0/maven-2.0.pom.package.json | 33 +- ...ven-dependency-plugin-2.0.pom.package.json | 34 +- .../wagon-file-1.0-alpha-5.pom.package.json | 33 +- ...p-lightweight-1.0-alpha-5.pom.package.json | 33 +- ...-provider-api-1.0-alpha-5.pom.package.json | 33 +- .../wagon-ssh-1.0-alpha-5.pom.package.json | 33 +- .../wagon-1.0-alpha-6.pom.package.json | 33 +- .../build/1.1.1/build-1.1.1.pom.package.json | 24 +- .../myfaces-master-1.0.5.pom.package.json | 33 +- .../1.5/velocity-1.5.pom.package.json | 33 +- .../1.5.4/aspectjrt-1.5.4.pom.package.json | 24 +- .../1.6.0/aspectjrt-1.6.0.pom.package.json | 24 +- .../1.5.4/aspectjtools-1.5.4.pom.package.json | 24 +- .../1.6.0/aspectjtools-1.6.0.pom.package.json | 24 +- .../aspectjweaver-1.5.4.pom.package.json | 24 +- .../aspectjweaver-1.6.0.pom.package.json | 24 +- .../aspectj-maven-plugin-1.0.pom.package.json | 6 +- ...gin-1.2-20080813.143116-6.pom.package.json | 24 +- ...maven-plugin-1.2-SNAPSHOT.pom.package.json | 24 +- ...obertura-maven-plugin-2.2.pom.package.json | 33 +- ...ndbugs-maven-plugin-1.1.1.pom.package.json | 14 +- ...-buildnumber-plugin-0.9.6.pom.package.json | 22 +- .../1.0.11/plexus-1.0.11.pom.package.json | 33 +- .../2.3/easymock-2.3.pom.package.json | 14 +- ...asymockclassextension-2.3.pom.package.json | 14 +- ...nate-annotations-3.2.1.ga.pom.package.json | 22 +- ...nate-annotations-3.3.1.GA.pom.package.json | 22 +- ...mons-annotations-3.0.0.ga.pom.package.json | 22 +- ...te-entitymanager-3.2.1.ga.pom.package.json | 22 +- ...te-entitymanager-3.3.2.GA.pom.package.json | 22 +- .../hibernate-3.2.1.ga.pom.package.json | 22 +- .../hibernate-3.2.6.ga.pom.package.json | 22 +- .../7/jetty-parent-7.pom.package.json | 24 +- .../6.1.5/project-6.1.5.pom.package.json | 24 +- .../servlet-api-2.5-6.1.5.pom.package.json | 24 +- .../2.5.3/spring-aop-2.5.3.pom.package.json | 33 +- .../spring-aspects-2.5.3.pom.package.json | 33 +- .../spring-aspects-2.5.4.pom.package.json | 33 +- .../2.5.3/spring-beans-2.5.3.pom.package.json | 33 +- ...ing-context-support-2.5.3.pom.package.json | 33 +- .../spring-context-2.5.3.pom.package.json | 33 +- .../2.5.3/spring-core-2.5.3.pom.package.json | 33 +- .../2.5.3/spring-jdbc-2.5.3.pom.package.json | 33 +- .../2.5.3/spring-orm-2.5.3.pom.package.json | 33 +- .../2.5.3/spring-test-2.5.3.pom.package.json | 33 +- .../2.5.4/spring-test-2.5.4.pom.package.json | 33 +- .../2.5.3/spring-tx-2.5.3.pom.package.json | 33 +- .../2.5.3/spring-web-2.5.3.pom.package.json | 33 +- .../spring-webmvc-2.5.3.pom.package.json | 33 +- .../spring-webmvc-2.5.4.pom.package.json | 33 +- .../2.5.4/spring-2.5.4.pom.package.json | 33 +- .../testng/5.7/testng-5.7.pom.package.json | 24 +- .../testng/5.8/testng-5.8.pom.package.json | 24 +- .../p6spy/1.3/p6spy-1.3.pom.package.json | 24 +- .../jds-2.17.0718b.pom.package.json | 33 +- .../parse_error/jds-3.0.1.pom.package.json | 33 +- .../common-object-1.0.2.pom.package.json | 33 +- .../osgl-http-1.1.2.pom.package.json | 33 +- .../commons-validator-1.2.0.pom.package.json | 6 +- .../commons-validator-1.3.1.pom.package.json | 6 +- .../1.4/velocity-1.4.pom.package.json | 33 +- .../1.0.b2/xml-apis-1.0.b2.pom.package.json | 33 +- .../1.1.3.1/xmlpull-1.1.3.1.pom.package.json | 26 +- .../aopalliance-1.0.pom.package.json | 26 +- .../commons-validator-1.2.0.pom.package.json | 6 +- ...ndbugs-maven-plugin-1.1.1.pom.package.json | 14 +- .../maven2/foo-pom/foo-pom.xml.package.json | 24 +- .../jrecordbind-2.3.4.pom.package.json | 26 +- .../maven2/log4j/log4j-pom.xml.package.json | 33 +- .../logback-access.pom.package.json | 24 +- .../spring-2.5.4.pom.package.json | 33 +- .../spring-orm-2.5.3.pom.package.json | 33 +- .../spring-webmvc-2.5.3.pom.package.json | 33 +- .../data/plugin/com-package-expected.json | 14 +- .../data/plugin/maven-package-expected.json | 504 ++++++------------ .../maven-package-with-license-expected.json | 504 ++++++------------ .../data/plugin/mui-package-expected.json | 14 +- .../data/plugin/mun-package-expected.json | 14 +- .../data/plugin/python-package-expected.json | 8 +- .../data/plugin/sys-package-expected.json | 14 +- .../data/plugin/tlb-package-expected.json | 14 +- .../data/plugin/winmd-package-expected.json | 14 +- ...s-1.2.1-py2.py3-none-any.whl-expected.json | 2 +- .../dist-info-metadata/METADATA-expected.json | 2 +- .../data/pypi/metadata/PKG-INFO-expected.json | 2 +- .../pypi/metadata/v10/PKG-INFO-expected.json | 8 +- .../pypi/metadata/v11/PKG-INFO-expected.json | 2 +- .../pypi/metadata/v12/PKG-INFO-expected.json | 2 +- .../pypi/metadata/v20/PKG-INFO-expected.json | 2 +- .../pypi/metadata/v21/PKG-INFO-expected.json | 2 +- .../flask_setup.py-expected.json | 2 +- .../pyyaml_setup.py-expected.json | 2 +- .../requests_setup.py-expected.json | 2 +- .../sqlalchemy_setup.py-expected.json | 2 +- .../setup.py-expected.json | 2 +- .../certifi-2020.6.20/setup.py-expected.json | 2 +- .../cffi-1.14.0/setup.py-expected.json | 2 +- .../chardet-3.0.4/setup.py-expected.json | 2 +- .../docutils-0.16/setup.py-expected.json | 20 +- .../idna-2.9/setup.py-expected.json | 2 +- .../paho-mqtt-1.5.0/setup.py-expected.json | 2 +- .../pexpect-4.6.0/setup.py-expected.json | 2 +- .../pip-22.0.4/setup.py-expected.json | 2 +- .../pycparser-2.20/setup.py-expected.json | 2 +- .../pyserial-3.4/setup.py-expected.json | 2 +- .../pytoml-0.1.21/setup.py-expected.json | 2 +- .../requests-2.24.0/setup.py-expected.json | 2 +- .../six-1.14.0/setup.py-expected.json | 2 +- .../urllib3-1.25.9/setup.py-expected.json | 2 +- .../setup.py/bluepyopt_setup.py-expected.json | 2 +- .../boolean2_py_setup.py-expected.json | 2 +- .../container_check_setup.py-expected.json | 2 +- .../setup.py/interlap_setup.py-expected.json | 2 +- .../pypi/setup.py/ntfs_setup.py-expected.json | 2 +- .../setup.py/nvchecker_setup.py-expected.json | 2 +- ..._agents_common_code_setup.py-expected.json | 4 +- .../packageurl_python_setup.py-expected.json | 2 +- .../pipdeptree_setup.py-expected.json | 2 +- ...pygtrie_with_kwargs_setup.py-expected.json | 2 +- .../setup.py/pyrpm_2_setup.py-expected.json | 2 +- ...python_publicsuffix_setup.py-expected.json | 2 +- ...ology_py_libversion_setup.py-expected.json | 2 +- .../setup.py/saneyaml_setup.py-expected.json | 2 +- .../setup.py/simple-setup.py-expected.json | 8 +- .../setup.py/url_py_setup.py-expected.json | 2 +- .../pypi/setup.py/venv_setup.py-expected.json | 2 +- .../whatsapp-play-setup.py-expected.json | 2 +- .../setup.py/xmltodict_setup.py-expected.json | 2 +- .../site-packages/site-packages-expected.json | 4 +- .../data/pypi/solo-setup/expected.json | 2 +- .../pip-22.0.4-pypi-package-expected.json | 8 +- ...ip-22.0.4-pypi-package-setup-expected.json | 2 +- ....4-pypi-package-with-license-expected.json | 8 +- .../python-mimeparse-1.6.0-expected.json | 2 +- .../pyup-django-0.4.0-expected.json | 2 +- .../metadata-1.2/anonapi-0.0.19-expected.json | 2 +- .../celery-expected.json | 6 +- .../daglib_wheel_extracted-expected.json | 4 +- .../Jinja2-2.10.dist-info-expected.json | 2 +- ...on_mimeparse-1.6.0.dist-info-expected.json | 2 +- .../toml-0.10.1.dist-info-expected.json | 2 +- .../urllib3-1.26.4.dist-info-expected.json | 2 +- .../haruka_bot-1.2.3.dist-info-expected.json | 2 +- .../pip-20.2.2.dist-info-expected.json | 2 +- .../anonapi-0.0.19.dist-info-expected.json | 2 +- ...eLibrary.Caching.dll.package-expected.json | 14 +- .../Moq.Silverlight.dll.package-expected.json | 14 +- .../Windows.AI.winmd.package-expected.json | 14 +- .../_ctypes_test.pyd.package-expected.json | 14 +- .../win_pe/chcp.com.package-expected.json | 14 +- .../win_pe/clfs.sys.mui.package-expected.json | 14 +- .../crypt32.dll.mun.package-expected.json | 14 +- .../win_pe/euc-jp.so.package-expected.json | 14 +- .../win_pe/stdole2.tlb.package-expected.json | 14 +- .../data/win_pe/tbs.sys.package-expected.json | 14 +- .../classify/with_package_data.expected.json | 48 +- .../summarycode/data/score/jar-expected.json | 57 +- .../summary-without-holder-pypi.expected.json | 6 +- .../data/tallies/packages/expected.json | 12 +- 215 files changed, 1628 insertions(+), 3284 deletions(-) diff --git a/src/packagedcode/__init__.py b/src/packagedcode/__init__.py index 675b0be6505..c74b9bd29fc 100644 --- a/src/packagedcode/__init__.py +++ b/src/packagedcode/__init__.py @@ -254,3 +254,12 @@ def get_package_handler(package_data): raise UnknownPackageDatasource(package_data) return ppc + +PACKAGE_DATA_CLASS_WITH_CUSTOM_LICENSE_DETECTION = [ + maven.MavenPackageData +] + +PACKAGE_DATA_CLASS_BY_DATASOURCE_ID = { + package_data_class.datasource_id: package_data_class + for package_data_class in PACKAGE_DATA_CLASS_WITH_CUSTOM_LICENSE_DETECTION +} diff --git a/src/packagedcode/licensing.py b/src/packagedcode/licensing.py index ea60538833a..857fc7e1dd9 100644 --- a/src/packagedcode/licensing.py +++ b/src/packagedcode/licensing.py @@ -33,6 +33,8 @@ from summarycode.classify import LEGAL_STARTS_ENDS from summarycode.classify import README_STARTS_ENDS +import saneyaml + """ Detect and normalize licenses as found in package manifests data. @@ -683,7 +685,7 @@ def get_normalized_license_detections( license_detections.extend(detections) else: - extracted_license_statement = repr(extracted_license) + extracted_license_statement = saneyaml.dump(extracted_license) license_detections = get_license_detections_for_extracted_license_statement( extracted_license_statement=extracted_license_statement, try_as_expression=try_as_expression, @@ -725,7 +727,7 @@ def get_normalized_license_detections( license_detections.extend(detections) else: - extracted_license_statement = repr(extracted_license_item) + extracted_license_statement = saneyaml.dump(extracted_license_item) detections = get_license_detections_for_extracted_license_statement( extracted_license_statement=extracted_license_statement, @@ -749,6 +751,7 @@ def get_license_detections_and_expression( try_as_expression=True, approximate=True, expression_symbols=None, + datasource_id = None, ): """ Given a text `extracted_license_statement` return a list of LicenseDetection objects. @@ -764,22 +767,33 @@ def get_license_detections_and_expression( Return None if the `query_string` is empty. Return "unknown" as a license expression if there is a `query_string` but nothing was detected. """ + from packagedcode import PACKAGE_DATA_CLASS_BY_DATASOURCE_ID + detection_data = [] license_expression = None if not extracted_license_statement: return detection_data, license_expression - license_detections = get_normalized_license_detections( - extracted_license=extracted_license_statement, - try_as_expression=try_as_expression, - approximate=approximate, - expression_symbols=expression_symbols, - ) + if datasource_id in PACKAGE_DATA_CLASS_BY_DATASOURCE_ID: + package_data_class = PACKAGE_DATA_CLASS_BY_DATASOURCE_ID.get(datasource_id, None) + license_detections = package_data_class.get_license_detections_for_extracted_license_statement( + extracted_license=extracted_license_statement, + try_as_expression=try_as_expression, + approximate=approximate, + expression_symbols=expression_symbols, + ) + else: + license_detections = get_normalized_license_detections( + extracted_license=extracted_license_statement, + try_as_expression=try_as_expression, + approximate=approximate, + expression_symbols=expression_symbols, + ) if not license_detections: if not isinstance(extracted_license_statement, str): - extracted_license_statement = repr(extracted_license_statement) + extracted_license_statement = saneyaml.dump(extracted_license_statement) license_detection = get_unknown_license_detection(query_string=extracted_license_statement) license_detections = [license_detection] @@ -808,7 +822,7 @@ def get_license_detections_for_extracted_license_statement( return [] if not isinstance(extracted_license_statement, str): - extracted_license_statement = repr(extracted_license_statement) + extracted_license_statement = saneyaml.dump(extracted_license_statement) matches, matched_as_expression = get_license_matches_for_extracted_license_statement( query_string=extracted_license_statement, diff --git a/src/packagedcode/maven.py b/src/packagedcode/maven.py index 57ffd01af5a..2dca5fd9a07 100644 --- a/src/packagedcode/maven.py +++ b/src/packagedcode/maven.py @@ -11,7 +11,6 @@ import os.path from pprint import pformat -import attr import javaproperties import lxml from packageurl import PackageURL @@ -26,6 +25,8 @@ from textcode import analysis from typecode import contenttype +import saneyaml + TRACE = False logger = logging.getLogger(__name__) @@ -1153,7 +1154,7 @@ def _parse( )) # FIXME: there are still other data to map in a PackageData - return models.PackageData( + return MavenPackageData( datasource_id=datasource_id, type=package_type, primary_language=primary_language, @@ -1171,6 +1172,63 @@ def _parse( **urls, ) +class MavenPackageData(models.PackageData): + + datasource_id = 'maven_pom' + + def get_license_detections_for_extracted_license_statement( + extracted_license, + try_as_expression=True, + approximate=True, + expression_symbols=None, + ): + from packagedcode.licensing import get_normalized_license_detections + from packagedcode.licensing import get_license_detections_for_extracted_license_statement + + if not MavenPackageData.check_extracted_license_statement_structure(extracted_license): + return get_normalized_license_detections( + extracted_license=extracted_license, + try_as_expression=try_as_expression, + approximate=approximate, + expression_symbols=expression_symbols, + ) + + new_extracted_license = extracted_license.copy() + + for license_entry in new_extracted_license: + license_entry.pop("distribution") + if not license_entry.get("name", None): + license_entry.pop("name") + if not license_entry.get("url", None): + license_entry.pop("url") + if not license_entry.get("comments", None): + license_entry.pop("comments") + + extracted_license_statement = saneyaml.dump(new_extracted_license) + + return get_license_detections_for_extracted_license_statement( + extracted_license_statement=extracted_license_statement, + try_as_expression=try_as_expression, + approximate=approximate, + expression_symbols=expression_symbols, + ) + + + def check_extracted_license_statement_structure(extracted_license): + + is_list_of_mappings = False + if not isinstance(extracted_license, list): + return is_list_of_mappings + else: + is_list_of_mappings = True + + for extracted_license_item in extracted_license: + if not isinstance(extracted_license_item, dict): + is_list_of_mappings = False + break + + return is_list_of_mappings + def build_vcs_and_code_view_urls(scm): """ diff --git a/src/packagedcode/models.py b/src/packagedcode/models.py index dc99ad58c88..3c764f6f9df 100644 --- a/src/packagedcode/models.py +++ b/src/packagedcode/models.py @@ -879,7 +879,8 @@ def get_license_detections_and_expression(self): return get_license_detections_and_expression( extracted_license_statement=self.extracted_license_statement, - default_relation_license=default_relation_license + default_relation_license=default_relation_license, + datasource_id=self.datasource_id, ) diff --git a/tests/formattedcode/data/common/manifests-expected.json b/tests/formattedcode/data/common/manifests-expected.json index bc534672940..98d6c2a4c38 100644 --- a/tests/formattedcode/data/common/manifests-expected.json +++ b/tests/formattedcode/data/common/manifests-expected.json @@ -36,40 +36,34 @@ "end_line": 1, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", - "matched_text": "Common Development and Distribution License (CDDL) v1.0" - } - ], - "identifier": "cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5" - }, - { - "license_expression": "cddl-1.0", - "matches": [ + "matched_text": "- name: Common Development and Distribution License (CDDL) v1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", - "matched_text": "http://www.sun.com/cddl/cddl.html" + "matched_text": " url: http://www.sun.com/cddl/cddl.html" } ], - "identifier": "cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83" + "identifier": "cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/javax.persistence/persistence-api@1.0?classifier=sources" @@ -480,18 +474,13 @@ "license_expression": "apache-2.0", "detection_count": 1 }, - { - "identifier": "cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5", - "license_expression": "cddl-1.0", - "detection_count": 1 - }, { "identifier": "cddl_1_0-c6dbef4d-659c-289f-5ee9-1ca0278edad6", "license_expression": "cddl-1.0", "detection_count": 1 }, { - "identifier": "cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83", + "identifier": "cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880", "license_expression": "cddl-1.0", "detection_count": 1 }, @@ -653,40 +642,34 @@ "end_line": 1, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", - "matched_text": "Common Development and Distribution License (CDDL) v1.0" - } - ], - "identifier": "cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5" - }, - { - "license_expression": "cddl-1.0", - "matches": [ + "matched_text": "- name: Common Development and Distribution License (CDDL) v1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", - "matched_text": "http://www.sun.com/cddl/cddl.html" + "matched_text": " url: http://www.sun.com/cddl/cddl.html" } ], - "identifier": "cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83" + "identifier": "cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/javax.persistence/persistence-api@1.0?classifier=sources" @@ -1397,7 +1380,7 @@ "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE", - "matched_text": "['License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)']" + "matched_text": "- 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)'" } ], "identifier": "lgpl_3_0-272571eb-5e68-95b6-ddb0-71de2d8df321" diff --git a/tests/formattedcode/data/common/manifests-expected.jsonlines b/tests/formattedcode/data/common/manifests-expected.jsonlines index 1801968e2e6..c62f0f24dc4 100644 --- a/tests/formattedcode/data/common/manifests-expected.jsonlines +++ b/tests/formattedcode/data/common/manifests-expected.jsonlines @@ -20,11 +20,11 @@ "system_environment": { "operating_system": "linux", "cpu_architecture": "64", - "platform": "Linux-5.15.0-73-generic-x86_64-with-glibc2.29", - "platform_version": "#80~20.04.1-Ubuntu SMP Wed May 17 14:58:14 UTC 2023", + "platform": "Linux-5.15.0-75-generic-x86_64-with-glibc2.29", + "platform_version": "#82~20.04.1-Ubuntu SMP Wed Jun 7 19:37:37 UTC 2023", "python_version": "3.8.10 (default, May 26 2023, 14:05:08) \n[GCC 9.4.0]" }, - "spdx_license_list_version": "3.20", + "spdx_license_list_version": "3.21", "files_count": 4 } } @@ -68,40 +68,34 @@ "end_line": 1, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", - "matched_text": "Common Development and Distribution License (CDDL) v1.0" - } - ], - "identifier": "cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5" - }, - { - "license_expression": "cddl-1.0", - "matches": [ + "matched_text": "- name: Common Development and Distribution License (CDDL) v1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", - "matched_text": "http://www.sun.com/cddl/cddl.html" + "matched_text": " url: http://www.sun.com/cddl/cddl.html" } ], - "identifier": "cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83" + "identifier": "cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/javax.persistence/persistence-api@1.0?classifier=sources" @@ -516,18 +510,13 @@ "license_expression": "apache-2.0", "detection_count": 1 }, - { - "identifier": "cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5", - "license_expression": "cddl-1.0", - "detection_count": 1 - }, { "identifier": "cddl_1_0-c6dbef4d-659c-289f-5ee9-1ca0278edad6", "license_expression": "cddl-1.0", "detection_count": 1 }, { - "identifier": "cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83", + "identifier": "cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880", "license_expression": "cddl-1.0", "detection_count": 1 }, @@ -699,40 +688,34 @@ "end_line": 1, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", - "matched_text": "Common Development and Distribution License (CDDL) v1.0" - } - ], - "identifier": "cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5" - }, - { - "license_expression": "cddl-1.0", - "matches": [ + "matched_text": "- name: Common Development and Distribution License (CDDL) v1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", - "matched_text": "http://www.sun.com/cddl/cddl.html" + "matched_text": " url: http://www.sun.com/cddl/cddl.html" } ], - "identifier": "cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83" + "identifier": "cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/javax.persistence/persistence-api@1.0?classifier=sources" @@ -1467,7 +1450,7 @@ "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE", - "matched_text": "['License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)']" + "matched_text": "- 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)'" } ], "identifier": "lgpl_3_0-272571eb-5e68-95b6-ddb0-71de2d8df321" diff --git a/tests/formattedcode/data/common/manifests-expected.yaml b/tests/formattedcode/data/common/manifests-expected.yaml index 9175dcf44bd..9c4c89b1714 100644 --- a/tests/formattedcode/data/common/manifests-expected.yaml +++ b/tests/formattedcode/data/common/manifests-expected.yaml @@ -29,10 +29,10 @@ headers: system_environment: operating_system: linux cpu_architecture: 64 - platform: Linux-5.15.0-73-generic-x86_64-with-glibc2.29 - platform_version: '#80~20.04.1-Ubuntu SMP Wed May 17 14:58:14 UTC 2023' + platform: Linux-5.15.0-75-generic-x86_64-with-glibc2.29 + platform_version: '#82~20.04.1-Ubuntu SMP Wed Jun 7 19:37:37 UTC 2023' python_version: "3.8.10 (default, May 26 2023, 14:05:08) \n[GCC 9.4.0]" - spdx_license_list_version: '3.20' + spdx_license_list_version: '3.21' files_count: 4 summary: declared_license_expression: apache-2.0 AND cddl-1.0 AND mit @@ -98,35 +98,30 @@ packages: end_line: 1 matched_length: 8 match_coverage: '100.0' - matcher: 1-hash + matcher: 2-aho license_expression: cddl-1.0 rule_identifier: cddl-1.0.RULE rule_relevance: 100 rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE - matched_text: Common Development and Distribution License (CDDL) v1.0 - identifier: cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5 - - license_expression: cddl-1.0 - matches: + matched_text: '- name: Common Development and Distribution License (CDDL) v1.0' - score: '100.0' - start_line: 1 - end_line: 1 + start_line: 2 + end_line: 2 matched_length: 7 match_coverage: '100.0' - matcher: 1-hash + matcher: 2-aho license_expression: cddl-1.0 rule_identifier: cddl-1.0_4.RULE rule_relevance: 100 rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE - matched_text: http://www.sun.com/cddl/cddl.html - identifier: cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83 + matched_text: ' url: http://www.sun.com/cddl/cddl.html' + identifier: cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880 other_license_expression: other_license_expression_spdx: other_license_detections: [] extracted_license_statement: | - name: Common Development and Distribution License (CDDL) v1.0 url: http://www.sun.com/cddl/cddl.html - comments: - distribution: repo notice_text: source_packages: - pkg:maven/javax.persistence/persistence-api@1.0?classifier=sources @@ -469,13 +464,10 @@ license_detections: - identifier: apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0 license_expression: apache-2.0 detection_count: 1 - - identifier: cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5 - license_expression: cddl-1.0 - detection_count: 1 - identifier: cddl_1_0-c6dbef4d-659c-289f-5ee9-1ca0278edad6 license_expression: cddl-1.0 detection_count: 1 - - identifier: cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83 + - identifier: cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880 license_expression: cddl-1.0 detection_count: 1 - identifier: lgpl_3_0-272571eb-5e68-95b6-ddb0-71de2d8df321 @@ -1541,35 +1533,30 @@ files: end_line: 1 matched_length: 8 match_coverage: '100.0' - matcher: 1-hash + matcher: 2-aho license_expression: cddl-1.0 rule_identifier: cddl-1.0.RULE rule_relevance: 100 rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE - matched_text: Common Development and Distribution License (CDDL) v1.0 - identifier: cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5 - - license_expression: cddl-1.0 - matches: + matched_text: '- name: Common Development and Distribution License (CDDL) v1.0' - score: '100.0' - start_line: 1 - end_line: 1 + start_line: 2 + end_line: 2 matched_length: 7 match_coverage: '100.0' - matcher: 1-hash + matcher: 2-aho license_expression: cddl-1.0 rule_identifier: cddl-1.0_4.RULE rule_relevance: 100 rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE - matched_text: http://www.sun.com/cddl/cddl.html - identifier: cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83 + matched_text: ' url: http://www.sun.com/cddl/cddl.html' + identifier: cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880 other_license_expression: other_license_expression_spdx: other_license_detections: [] extracted_license_statement: | - name: Common Development and Distribution License (CDDL) v1.0 url: http://www.sun.com/cddl/cddl.html - comments: - distribution: repo notice_text: source_packages: - pkg:maven/javax.persistence/persistence-api@1.0?classifier=sources @@ -2253,8 +2240,8 @@ files: rule_identifier: pypi_gnu_lesser_general_public_license_v3.RULE rule_relevance: 100 rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE - matched_text: '[''License :: OSI Approved :: GNU Lesser General Public License - v3 (LGPLv3)'']' + matched_text: '- ''License :: OSI Approved :: GNU Lesser General Public License + v3 (LGPLv3)''' identifier: lgpl_3_0-272571eb-5e68-95b6-ddb0-71de2d8df321 other_license_expression: other_license_expression_spdx: diff --git a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json index bb871060e38..75ae6bc2c63 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json @@ -59,7 +59,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -216,7 +216,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json index 22beb252a64..32b4ce017c1 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json @@ -59,7 +59,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -170,7 +170,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/license_detection/reference-to-package/base.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/base.expected.json index 936eed8bd23..6db7c6e57e8 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/base.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/base.expected.json @@ -61,7 +61,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" @@ -172,7 +172,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" @@ -264,7 +264,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "detection_log": [ diff --git a/tests/packagedcode/data/license_detection/reference-to-package/google_appengine_sdk.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/google_appengine_sdk.expected.json index e7d3f2bb739..5419c027cd3 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/google_appengine_sdk.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/google_appengine_sdk.expected.json @@ -61,7 +61,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" @@ -153,7 +153,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" @@ -419,7 +419,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "detection_log": [ @@ -469,7 +469,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "detection_log": [ @@ -543,7 +543,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "detection_log": [ @@ -593,7 +593,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "detection_log": [ @@ -643,7 +643,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "detection_log": [ @@ -778,7 +778,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" @@ -1026,7 +1026,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" @@ -1204,7 +1204,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "detection_log": [ @@ -1278,7 +1278,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "detection_log": [ @@ -1438,7 +1438,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/license_detection/reference-to-package/paddlenlp.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/paddlenlp.expected.json index edd65bb7320..c118925a7e5 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/paddlenlp.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/paddlenlp.expected.json @@ -74,7 +74,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" @@ -655,7 +655,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "detection_log": [ @@ -718,7 +718,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "detection_log": [ @@ -1393,7 +1393,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" diff --git a/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json b/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json index a35e15832f0..ffa86b00097 100644 --- a/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json @@ -34,12 +34,12 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", - "matched_text": "Public Domain" + "matched_text": "- name: Public Domain" } ], "identifier": "public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77" @@ -48,7 +48,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Public Domain\n url:\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Public Domain\n", "notice_text": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json b/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json index eabee0abd70..a09b834be49 100644 --- a/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/aspectj/aspectjrt@1.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json index 516b2003af8..195255c10c4 100644 --- a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json +++ b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 12, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_239.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_239.RULE", - "matched_text": "This material is licensed under the Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-4195590c-2c42-6030-e13a-cf15b4d87b67" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: This material is licensed under the Apache Software License, Version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0" } ], - "identifier": "apache_2_0-e3a84133-3548-87fd-b873-d193344afada" + "identifier": "apache_2_0-831e58f5-7cf7-3074-9727-f830ee5eb8df" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: This material is licensed under the Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: This material is licensed under the Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0\n", "notice_text": null, "source_packages": [ "pkg:maven/biz.aQute/bndlib@0.0.203?classifier=sources" diff --git a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json index a0c144872fa..1c4fe8aa137 100644 --- a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json +++ b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 12, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_239.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_239.RULE", - "matched_text": "This material is licensed under the Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-4195590c-2c42-6030-e13a-cf15b4d87b67" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: This material is licensed under the Apache Software License, Version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0" } ], - "identifier": "apache_2_0-e3a84133-3548-87fd-b873-d193344afada" + "identifier": "apache_2_0-831e58f5-7cf7-3074-9727-f830ee5eb8df" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: This material is licensed under the Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: This material is licensed under the Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0\n", "notice_text": null, "source_packages": [ "pkg:maven/biz.aQute/bndlib@0.0.238?classifier=sources" diff --git a/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json b/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json index b159fe9a9e5..bcfd607d522 100644 --- a/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json +++ b/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments: A business-friendly OSS license\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments: A business-friendly OSS license\n", "notice_text": null, "source_packages": [ "pkg:maven/net.bytebuddy/byte-buddy-parent@1.7.1-SNAPSHOT?classifier=sources" diff --git a/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json b/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json index 430c349db60..4ba64b51216 100644 --- a/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json @@ -34,23 +34,17 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU LESSER GENERAL PUBLIC LICENSE" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", @@ -58,16 +52,16 @@ "rule_identifier": "lgpl-2.0-plus_204.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_204.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.txt" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-9e98274a-f2c6-c975-364a-16cff6b8a8f3" + "identifier": "lgpl_2_0_plus-39338b95-daca-d7de-257c-fafb876cbd6d" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/c3p0/c3p0@0.9.0.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json b/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json index 57f7414796d..14770de0f8c 100644 --- a/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json +++ b/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json @@ -161,12 +161,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -175,7 +175,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-codec/commons-codec@1.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json b/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json index 2019c304b05..9ffc8a5a9e2 100644 --- a/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json +++ b/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json @@ -700,12 +700,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -714,7 +714,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-collections/commons-collections@3.2?classifier=sources" diff --git a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json index be8885b3c1e..379a8e220a8 100644 --- a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json +++ b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json @@ -33,68 +33,43 @@ "declared_license_expression": "bsd-new", "declared_license_expression_spdx": "BSD-3-Clause", "license_detections": [ - { - "license_expression": "bsd-new", - "matches": [ - { - "score": 99.0, - "start_line": 1, - "end_line": 1, - "matched_length": 2, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", - "rule_relevance": 99, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", - "matched_text": "license BSD" - } - ], - "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882" - }, { "license_expression": "bsd-new", "matches": [ { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "bsd-new", "rule_identifier": "bsd-new_jcraft_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_jcraft_4.RULE", - "matched_text": "http://www.jcraft.com/jsch/LICENSE.txt" - } - ], - "identifier": "bsd_new-9b2ba589-3ced-488c-3ecb-90b41e97c23f" - }, - { - "license_expression": "bsd-new", - "matches": [ + "matched_text": " url: http://www.jcraft.com/jsch/LICENSE.txt" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 3, + "end_line": 3, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "bsd-new", "rule_identifier": "bsd-new_jcraft_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_jcraft_3.RULE", - "matched_text": "License information from http://www.jcraft.com/jsch" + "matched_text": " comments: License information from http://www.jcraft.com/jsch" } ], - "identifier": "bsd_new-19333726-afcc-ac06-4a44-9207b316b68e" + "identifier": "bsd_new-cb93014d-4035-1c17-df2b-272477a9ec37" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: BSD\n url: http://www.jcraft.com/jsch/LICENSE.txt\n comments: License information from http://www.jcraft.com/jsch\n distribution:\n", + "extracted_license_statement": "- name: BSD\n url: http://www.jcraft.com/jsch/LICENSE.txt\n comments: License information from http://www.jcraft.com/jsch\n", "notice_text": null, "source_packages": [ "pkg:maven/com.jcraft/jsch@0.1.23?classifier=sources" diff --git a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json index aa762a9ca9b..29c845ba07b 100644 --- a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json +++ b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json @@ -33,40 +33,21 @@ "declared_license_expression": "bsd-new", "declared_license_expression_spdx": "BSD-3-Clause", "license_detections": [ - { - "license_expression": "bsd-new", - "matches": [ - { - "score": 99.0, - "start_line": 1, - "end_line": 1, - "matched_length": 2, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", - "rule_relevance": 99, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", - "matched_text": "license BSD" - } - ], - "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882" - }, { "license_expression": "bsd-new", "matches": [ { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "bsd-new", "rule_identifier": "bsd-new_jcraft_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_jcraft_4.RULE", - "matched_text": "http://www.jcraft.com/jsch/LICENSE.txt" + "matched_text": " url: http://www.jcraft.com/jsch/LICENSE.txt" } ], "identifier": "bsd_new-9b2ba589-3ced-488c-3ecb-90b41e97c23f" @@ -75,7 +56,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: BSD\n url: http://www.jcraft.com/jsch/LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: BSD\n url: http://www.jcraft.com/jsch/LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/com.jcraft/jsch@0.1.27?classifier=sources" diff --git a/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json b/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json index 0142687236d..4159c3008f9 100644 --- a/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json +++ b/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "bsd-new", "rule_identifier": "bsd-new_878.RULE", "rule_relevance": 90, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_878.RULE", - "matched_text": "BSD style" - } - ], - "identifier": "bsd_new-a77f8bf6-d564-f8d2-8f4e-2ff70cf207f4" - }, - { - "license_expression": "bsd-new", - "matches": [ + "matched_text": "- name: BSD style" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "bsd-new", "rule_identifier": "bsd-new_xstream_maven_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_xstream_maven_4.RULE", - "matched_text": "http://xstream.codehaus.com/license.html" + "matched_text": " url: http://xstream.codehaus.com/license.html" } ], - "identifier": "bsd_new-3c28c341-2557-a170-5574-2b740318c7e1" + "identifier": "bsd_new-1fd78035-e7fa-7c3f-ed03-c132e990ddc8" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: BSD style\n url: http://xstream.codehaus.com/license.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: BSD style\n url: http://xstream.codehaus.com/license.html\n", "notice_text": null, "source_packages": [ "pkg:maven/com.thoughtworks.xstream/xstream-parent@1.2.2?classifier=sources" diff --git a/tests/packagedcode/data/m2/depman/foo.pom.package.json b/tests/packagedcode/data/m2/depman/foo.pom.package.json index 0d908cdc04c..ad563dc4c35 100644 --- a/tests/packagedcode/data/m2/depman/foo.pom.package.json +++ b/tests/packagedcode/data/m2/depman/foo.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", - "matched_text": "Apache License, Version 2.0" - } - ], - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache License, Version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-efc1b129-3bcc-a9c0-71ea-964bc53d5512" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Apache License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.jboss.shrinkwrap.resolver/shrinkwrap-resolver-bom@3.0.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json b/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json index 77ae9fcb10d..d8be6416f3b 100644 --- a/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json +++ b/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json @@ -196,12 +196,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -210,7 +210,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-digester/commons-digester@1.8?classifier=sources" diff --git a/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json b/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json index d3a320a1337..6bedce2620c 100644 --- a/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json @@ -77,12 +77,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -91,7 +91,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-el/commons-el@1.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json b/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json index d3b921e29fe..fe2dc82680f 100644 --- a/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "bsd-new", "rule_identifier": "bsd-new_363.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_363.RULE", - "matched_text": "HSQLDB License" - } - ], - "identifier": "bsd_new-a46e6f28-7101-60ae-3c6a-b57aa23264e5" - }, - { - "license_expression": "bsd-new", - "matches": [ + "matched_text": "- name: HSQLDB License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "bsd-new", "rule_identifier": "bsd-new_82.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_82.RULE", - "matched_text": "http://hsqldb.org/web/hsqlLicense.html" + "matched_text": " url: http://hsqldb.org/web/hsqlLicense.html" } ], - "identifier": "bsd_new-f1ebd3aa-2540-19a3-338e-6a998e354d0e" + "identifier": "bsd_new-4b5f8fe0-ffc8-f64d-7809-e39f0b5fe0eb" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: HSQLDB License\n url: http://hsqldb.org/web/hsqlLicense.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: HSQLDB License\n url: http://hsqldb.org/web/hsqlLicense.html\n", "notice_text": null, "source_packages": [ "pkg:maven/hsqldb/hsqldb@1.8.0.7?classifier=sources" diff --git a/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json b/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json index b30573daae0..ae9ade643a1 100644 --- a/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json +++ b/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json @@ -32,42 +32,36 @@ "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 2, + "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", - "rule_identifier": "mit_14.RULE", + "rule_identifier": "mit_1106.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", - "matched_text": "MIT License" - } - ], - "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929" - }, - { - "license_expression": "mit", - "matches": [ + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1106.RULE", + "matched_text": "- name: MIT License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", "rule_identifier": "mit_1144.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1144.RULE", - "matched_text": "http://httpunit.sourceforge.net/doc/license.html" + "matched_text": " url: http://httpunit.sourceforge.net/doc/license.html" } ], - "identifier": "mit-5bb81cd8-49b4-35fd-9aa8-fa83198f2fc0" + "identifier": "mit-958a78c0-106f-dfae-5b61-5926248408f4" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MIT License\n url: http://httpunit.sourceforge.net/doc/license.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: MIT License\n url: http://httpunit.sourceforge.net/doc/license.html\n", "notice_text": null, "source_packages": [ "pkg:maven/httpunit/httpunit@1.6.2?classifier=sources" diff --git a/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json b/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json index 40642bbc07f..c6a3edb2548 100644 --- a/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json +++ b/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json @@ -231,12 +231,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -245,7 +245,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-io/commons-io@1.3.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json b/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json index 14a3e7170d1..f53c151a492 100644 --- a/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json +++ b/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json @@ -34,23 +34,17 @@ "end_line": 1, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", - "matched_text": "lgpl" - } - ], - "identifier": "lgpl_2_0_plus-64f6d457-252f-6fe3-26b9-ae66d29ef973" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: lgpl" + }, { "score": 75.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 1, "match_coverage": 100.0, "matcher": "2-aho", @@ -58,16 +52,16 @@ "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", - "matched_text": "http://repository.jboss.com/licenses/lgpl.txt" + "matched_text": " url: http://repository.jboss.com/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-64f6d457-252f-6fe3-26b9-ae66d29ef973" + "identifier": "lgpl_2_0_plus-10aa305b-de20-e6cc-d2a0-3f4e76b8a2f9" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: lgpl\n url: http://repository.jboss.com/licenses/lgpl.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: lgpl\n url: http://repository.jboss.com/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/javassist/javassist@3.4.GA?classifier=sources" diff --git a/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json b/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json index 9f64ca21e29..374d1d08bcd 100644 --- a/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", - "matched_text": "Common Development and Distribution License (CDDL) v1.0" - } - ], - "identifier": "cddl_1_0-9893b55c-3b2b-4ee8-a932-6c6c93a63fc5" - }, - { - "license_expression": "cddl-1.0", - "matches": [ + "matched_text": "- name: Common Development and Distribution License (CDDL) v1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", - "matched_text": "http://www.sun.com/cddl/cddl.html" + "matched_text": " url: http://www.sun.com/cddl/cddl.html" } ], - "identifier": "cddl_1_0-ef82fc8c-50cb-6f35-1814-d2eb0bc13e83" + "identifier": "cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Common Development and Distribution License (CDDL) v1.0\n url: http://www.sun.com/cddl/cddl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/javax.persistence/persistence-api@1.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json b/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json index f06b43797bf..ad40872e6dc 100644 --- a/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json +++ b/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json @@ -34,7 +34,7 @@ "declared_license_expression_spdx": "MPL-1.1 AND (MPL-1.1 OR LGPL-2.1-or-later)", "license_detections": [ { - "license_expression": "mpl-1.1", + "license_expression": "mpl-1.1 AND (mpl-1.1 OR lgpl-2.1-plus)", "matches": [ { "score": 50.0, @@ -42,59 +42,47 @@ "end_line": 1, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mpl-1.1", "rule_identifier": "spdx_license_id_mpl-1.1_for_mpl-1.1.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_mpl-1.1_for_mpl-1.1.RULE", - "matched_text": "MPL 1.1" - } - ], - "identifier": "mpl_1_1-46a4067c-2548-7a1a-228e-5d500f8402d1" - }, - { - "license_expression": "mpl-1.1 OR lgpl-2.1-plus", - "matches": [ + "matched_text": "- name: MPL 1.1" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 19, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mpl-1.1 OR lgpl-2.1-plus", "rule_identifier": "mpl-1.1_or_lgpl-2.1-plus_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-1.1_or_lgpl-2.1-plus_6.RULE", - "matched_text": "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/jboss/javassist/License.html?rev=HEAD&content-type=text/html" - } - ], - "identifier": "mpl_1_1_or_lgpl_2_1_plus-31321b2f-f1fa-c104-4573-e8116789ff06" - }, - { - "license_expression": "mpl-1.1 OR lgpl-2.1-plus", - "matches": [ + "matched_text": " url: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/jboss/javassist/License.html?rev=HEAD&content-type=text/html" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 3, + "end_line": 3, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mpl-1.1 OR lgpl-2.1-plus", "rule_identifier": "mpl-1.1_or_lgpl-2.1-plus_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-1.1_or_lgpl-2.1-plus_5.RULE", - "matched_text": "Dual-license; LGPL if downloaded as part of JBoss, MPL if downloaded separately." + "matched_text": " comments: Dual-license; LGPL if downloaded as part of JBoss, MPL if downloaded separately." } ], - "identifier": "mpl_1_1_or_lgpl_2_1_plus-d37397aa-7327-b2d1-cafa-39968541289f" + "identifier": "mpl_1_1_and__mpl_1_1_or_lgpl_2_1_plus-78e94784-b15c-76e4-0a76-6ca49b732494" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MPL 1.1\n url: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/jboss/javassist/License.html?rev=HEAD&content-type=text/html\n comments: Dual-license; LGPL if downloaded as part of JBoss, MPL if downloaded separately.\n distribution:\n", + "extracted_license_statement": "- name: MPL 1.1\n url: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/jboss/javassist/License.html?rev=HEAD&content-type=text/html\n comments: Dual-license; LGPL if downloaded as part of JBoss, MPL if downloaded separately.\n", "notice_text": null, "source_packages": [ "pkg:maven/jboss/javassist@3.3.ga?classifier=sources" diff --git a/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json b/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json index 5c8f8294d7d..b943e72142e 100644 --- a/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json +++ b/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json @@ -34,23 +34,17 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU LESSER GENERAL PUBLIC LICENSE" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", @@ -58,16 +52,16 @@ "rule_identifier": "lgpl-2.0-plus_204.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_204.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.txt" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-9e98274a-f2c6-c975-364a-16cff6b8a8f3" + "identifier": "lgpl_2_0_plus-39338b95-daca-d7de-257c-fafb876cbd6d" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/jboss/jboss-archive-browsing@5.0.0alpha-200607201-119?classifier=sources" diff --git a/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json b/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json index 7f742b9e36a..868698c5b5d 100644 --- a/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json +++ b/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json @@ -47,7 +47,7 @@ "rule_identifier": "tidy_2.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/tidy_2.RULE", - "matched_text": "Java HTML Tidy License" + "matched_text": "- name: Java HTML Tidy License" } ], "identifier": "tidy-45701b40-0018-576f-ce3e-64441b0a1d40" @@ -56,7 +56,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Java HTML Tidy License\n url: http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Java HTML Tidy License\n url: http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95\n", "notice_text": null, "source_packages": [ "pkg:maven/jtidy/jtidy@4aug2000r7-dev?classifier=sources" diff --git a/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json b/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json index 4d8d76e11db..7de351b8989 100644 --- a/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json +++ b/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cpl-1.0", "rule_identifier": "cpl-1.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_5.RULE", - "matched_text": "Common Public License Version 1.0" - } - ], - "identifier": "cpl_1_0-d5e9e43c-192b-94cf-daf1-c18978294bbb" - }, - { - "license_expression": "cpl-1.0", - "matches": [ + "matched_text": "- name: Common Public License Version 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cpl-1.0", "rule_identifier": "cpl-1.0_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_10.RULE", - "matched_text": "http://www.opensource.org/licenses/cpl1.0.txt" + "matched_text": " url: http://www.opensource.org/licenses/cpl1.0.txt" } ], - "identifier": "cpl_1_0-60308403-57c0-99b0-7c5b-610723027cd5" + "identifier": "cpl_1_0-f49145e8-d9e9-2a1a-5e83-1d459e6693dd" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Common Public License Version 1.0\n url: http://www.opensource.org/licenses/cpl1.0.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Common Public License Version 1.0\n url: http://www.opensource.org/licenses/cpl1.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/junit/junit@3.8.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json b/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json index 7b95e32b8b1..fdf1a7405f2 100644 --- a/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json +++ b/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cpl-1.0", "rule_identifier": "cpl-1.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_5.RULE", - "matched_text": "Common Public License Version 1.0" - } - ], - "identifier": "cpl_1_0-d5e9e43c-192b-94cf-daf1-c18978294bbb" - }, - { - "license_expression": "cpl-1.0", - "matches": [ + "matched_text": "- name: Common Public License Version 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cpl-1.0", "rule_identifier": "cpl-1.0_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_10.RULE", - "matched_text": "http://www.opensource.org/licenses/cpl1.0.txt" + "matched_text": " url: http://www.opensource.org/licenses/cpl1.0.txt" } ], - "identifier": "cpl_1_0-60308403-57c0-99b0-7c5b-610723027cd5" + "identifier": "cpl_1_0-f49145e8-d9e9-2a1a-5e83-1d459e6693dd" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Common Public License Version 1.0\n url: http://www.opensource.org/licenses/cpl1.0.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Common Public License Version 1.0\n url: http://www.opensource.org/licenses/cpl1.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/junit/junit@3.8.2?classifier=sources" diff --git a/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json b/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json index 016cfc41190..16b213ba5d9 100644 --- a/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json +++ b/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cpl-1.0", "rule_identifier": "cpl-1.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_5.RULE", - "matched_text": "Common Public License Version 1.0" - } - ], - "identifier": "cpl_1_0-d5e9e43c-192b-94cf-daf1-c18978294bbb" - }, - { - "license_expression": "cpl-1.0", - "matches": [ + "matched_text": "- name: Common Public License Version 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cpl-1.0", "rule_identifier": "cpl-1.0_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_10.RULE", - "matched_text": "http://www.opensource.org/licenses/cpl1.0.txt" + "matched_text": " url: http://www.opensource.org/licenses/cpl1.0.txt" } ], - "identifier": "cpl_1_0-60308403-57c0-99b0-7c5b-610723027cd5" + "identifier": "cpl_1_0-f49145e8-d9e9-2a1a-5e83-1d459e6693dd" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Common Public License Version 1.0\n url: http://www.opensource.org/licenses/cpl1.0.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Common Public License Version 1.0\n url: http://www.opensource.org/licenses/cpl1.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/junit/junit@4.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json b/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json index 8d960cbfc13..0d7230f2de4 100644 --- a/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json +++ b/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json @@ -539,12 +539,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -553,7 +553,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-lang/commons-lang@2.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json b/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json index 36071480571..73fcf00aa66 100644 --- a/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json @@ -616,12 +616,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -630,7 +630,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-lang/commons-lang@2.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json b/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json index be7639496a8..41c2a25283a 100644 --- a/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json +++ b/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" diff --git a/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json index d91e9b5258d..37c29af3759 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json @@ -105,12 +105,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -119,7 +119,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-logging/commons-logging@1.0.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json index 4e6e2b9c65e..3f822949881 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json @@ -126,12 +126,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -140,7 +140,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-logging/commons-logging@1.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json b/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json index 8551f6e7505..d73fd486948 100644 --- a/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json @@ -22,71 +22,52 @@ "vcs_url": "svn+http://svn.mysql.com/svnpublic/connector-j/trunk/connector-j", "copyright": null, "holder": null, - "declared_license_expression": "gpl-2.0 AND gpl-1.0-plus AND gpl-2.0 WITH mysql-linking-exception-2018", - "declared_license_expression_spdx": "GPL-2.0-only AND GPL-1.0-or-later AND GPL-2.0-only WITH LicenseRef-scancode-mysql-linking-exception-2018", + "declared_license_expression": "gpl-2.0 WITH mysql-linking-exception-2018 AND unknown", + "declared_license_expression_spdx": "GPL-2.0-only WITH LicenseRef-scancode-mysql-linking-exception-2018 AND LicenseRef-scancode-unknown", "license_detections": [ { - "license_expression": "gpl-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_660.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_660.RULE", - "matched_text": "The GNU General Public License, Version 2" - } - ], - "identifier": "gpl_2_0-e4d948a1-2b6e-11d4-b4dd-3231d54498a5" - }, - { - "license_expression": "gpl-1.0-plus", + "license_expression": "gpl-2.0 WITH mysql-linking-exception-2018", "matches": [ { - "score": 100.0, + "score": 90.2, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_48.RULE", + "end_line": 5, + "matched_length": 46, + "match_coverage": 90.2, + "matcher": "3-seq", + "license_expression": "gpl-2.0 WITH mysql-linking-exception-2018", + "rule_identifier": "gpl-2.0_with_mysql-linking-exception-2018_3.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_48.RULE", - "matched_text": "http://www.gnu.org/licenses/gpl.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_with_mysql-linking-exception-2018_3.RULE", + "matched_text": "- name: The GNU General Public License, Version 2\n url: http://www.gnu.org/licenses/gpl.txt\n comments: \"MySQL Connector/J contains exceptions to GPL requirements when linking with other\\\n \\ components\\n \\t\\tthat are licensed under OSI-approved open source licenses, see EXCEPTIONS-CONNECTOR-J\\n\\\n \\ \\t\\tin this distribution for more details.\"" } ], - "identifier": "gpl_1_0_plus-d68122ea-2ff0-becf-00bd-2a79ec0b81db" + "identifier": "gpl_2_0_with_mysql_linking_exception_2018-427caeec-d665-62c3-0639-0449ce506336" }, { - "license_expression": "gpl-2.0 WITH mysql-linking-exception-2018", + "license_expression": "unknown", "matches": [ { - "score": 100.0, + "score": 96.3, "start_line": 1, - "end_line": 3, - "matched_length": 32, + "end_line": 5, + "matched_length": 52, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0 WITH mysql-linking-exception-2018", - "rule_identifier": "gpl-2.0_with_mysql-linking-exception-2018_4.RULE", + "matcher": "5-undetected", + "license_expression": "unknown", + "rule_identifier": "package-manifest-unknown-91b1be345430234b155decbb3e945d9349c09ea1", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_with_mysql-linking-exception-2018_4.RULE", - "matched_text": "MySQL Connector/J contains exceptions to GPL requirements when linking with other components\n \t\tthat are licensed under OSI-approved open source licenses, see EXCEPTIONS-CONNECTOR-J\n \t\tin this distribution for more details." + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-91b1be345430234b155decbb3e945d9349c09ea1", + "matched_text": "license - name: The GNU General Public License, Version 2\n url: http://www.gnu.org/licenses/gpl.txt\n comments: \"MySQL Connector/J contains exceptions to GPL requirements when linking with other\\\n \\ components\\n \\t\\tthat are licensed under OSI-approved open source licenses, see EXCEPTIONS-CONNECTOR-J\\n\\\n \\ \\t\\tin this distribution for more details.\"" } ], - "identifier": "gpl_2_0_with_mysql_linking_exception_2018-f0b93e99-a8d2-bae8-47b2-7adfca08d745" + "identifier": "unknown-f388d848-2fef-6c1f-5ca8-44f92b429373" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The GNU General Public License, Version 2\n url: http://www.gnu.org/licenses/gpl.txt\n comments: \"MySQL Connector/J contains exceptions to GPL requirements when linking with other\\\n \\ components\\n \\t\\tthat are licensed under OSI-approved open source licenses, see EXCEPTIONS-CONNECTOR-J\\n\\\n \\ \\t\\tin this distribution for more details.\"\n distribution: repo\n", + "extracted_license_statement": "- name: The GNU General Public License, Version 2\n url: http://www.gnu.org/licenses/gpl.txt\n comments: \"MySQL Connector/J contains exceptions to GPL requirements when linking with other\\\n \\ components\\n \\t\\tthat are licensed under OSI-approved open source licenses, see EXCEPTIONS-CONNECTOR-J\\n\\\n \\ \\t\\tin this distribution for more details.\"\n", "notice_text": null, "source_packages": [ "pkg:maven/mysql/mysql-connector-java@5.0.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json b/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json index dc475d29531..709db1fe57f 100644 --- a/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json +++ b/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json @@ -84,59 +84,47 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: The Apache Software License, Version 2.0" + }, { "score": 90.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_222.RULE", "rule_relevance": 90, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_222.RULE", - "matched_text": "http://ehcache.sourceforge.net/LICENSE.txt" - } - ], - "identifier": "apache_2_0-68678e2d-4ae6-784e-d799-3db57e831763" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": " url: http://ehcache.sourceforge.net/LICENSE.txt" + }, { "score": 100.0, - "start_line": 1, - "end_line": 3, + "start_line": 4, + "end_line": 6, "matched_length": 17, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_228.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_228.RULE", - "matched_text": "The license is the standard wording from the Apache license, but with\n Greg Luck as copyright\n owner." + "matched_text": " The license is the standard wording from the Apache license, but with\n Greg Luck as copyright\n owner." } ], - "identifier": "apache_2_0-b3c994c8-22a3-6277-bd10-83a2c52069b2" + "identifier": "apache_2_0-b1634344-32cc-2997-3699-6c606f9bd980" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://ehcache.sourceforge.net/LICENSE.txt\n comments: |\n The license is the standard wording from the Apache license, but with\n Greg Luck as copyright\n owner.\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://ehcache.sourceforge.net/LICENSE.txt\n comments: |\n The license is the standard wording from the Apache license, but with\n Greg Luck as copyright\n owner.\n", "notice_text": null, "source_packages": [ "pkg:maven/net.sf.ehcache/ehcache@1.2.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json b/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json index 3f225794a00..33cb172002e 100644 --- a/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json +++ b/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json @@ -49,40 +49,34 @@ "end_line": 1, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "bsd-new", "rule_identifier": "bsd-new_145.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_145.RULE", - "matched_text": "The BSD License" - } - ], - "identifier": "bsd_new-3aebf692-2747-040f-2c82-b00bb8b29c95" - }, - { - "license_expression": "bsd-new", - "matches": [ + "matched_text": "- name: The BSD License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "bsd-new", "rule_identifier": "bsd-new_335.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_335.RULE", - "matched_text": "http://www.opensource.org/licenses/bsd-license.html" + "matched_text": " url: http://www.opensource.org/licenses/bsd-license.html" } ], - "identifier": "bsd_new-139383c9-1f60-4a6c-61d8-4668422c23d5" + "identifier": "bsd_new-8c2f4fde-df38-c900-d576-b1ac6e730243" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The BSD License\n url: http://www.opensource.org/licenses/bsd-license.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The BSD License\n url: http://www.opensource.org/licenses/bsd-license.html\n", "notice_text": null, "source_packages": [ "pkg:maven/net.sf.kxml/kxml2@2.2.2?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json index be1a3d03dd1..8837748f90f 100644 --- a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json @@ -235,43 +235,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.acegisecurity/acegi-security-parent@1.0.5?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json index 5b3347fc55f..61d624df78c 100644 --- a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json @@ -235,43 +235,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.acegisecurity/acegi-security-parent@1.0.7?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json index 266af4aefa0..2711a251c9f 100644 --- a/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json @@ -48,7 +48,7 @@ "declared_license_expression_spdx": "LGPL-2.1-only AND LGPL-2.0-or-later", "license_detections": [ { - "license_expression": "lgpl-2.1", + "license_expression": "lgpl-2.1 AND lgpl-2.0-plus", "matches": [ { "score": 100.0, @@ -56,59 +56,47 @@ "end_line": 1, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.1", "rule_identifier": "lgpl-2.1_85.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_85.RULE", - "matched_text": "LGPL 2.1" - } - ], - "identifier": "lgpl_2_1-7e62c45a-04bd-cee0-7a6d-a3458d42ca35" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: LGPL 2.1" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.html" - } - ], - "identifier": "lgpl_2_0_plus-bd2014ad-7f5c-e384-8316-a0068fe42d91" - }, - { - "license_expression": "lgpl-2.1", - "matches": [ + "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 3, + "end_line": 3, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.1", "rule_identifier": "lgpl-2.1_36.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_36.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE Version 2.1" + "matched_text": " comments: GNU LESSER GENERAL PUBLIC LICENSE Version 2.1" } ], - "identifier": "lgpl_2_1-be3f3949-802d-9c3e-b5f0-b2466a0bd98b" + "identifier": "lgpl_2_1_and_lgpl_2_0_plus-d477d49d-52e2-0d03-97d9-7786a7accad2" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: LGPL 2.1\n url: http://www.gnu.org/licenses/lgpl.html\n comments: GNU LESSER GENERAL PUBLIC LICENSE Version 2.1\n distribution: repo\n", + "extracted_license_statement": "- name: LGPL 2.1\n url: http://www.gnu.org/licenses/lgpl.html\n comments: GNU LESSER GENERAL PUBLIC LICENSE Version 2.1\n", "notice_text": null, "source_packages": [ "pkg:maven/org.ajax4jsf/master@1.1.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json b/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json index c22d3714e00..9f58b031809 100644 --- a/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache/apache@1?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json index eda93795303..61d3391043d 100644 --- a/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache/apache@3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json b/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json index 3043498433a..d74ad2c3f25 100644 --- a/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache/apache@4?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json b/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json index 41a71878c58..c742d5381d2 100644 --- a/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json @@ -77,40 +77,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_182.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_182.RULE", - "matched_text": "The Apache License, Version 2.0" - } - ], - "identifier": "apache_2_0-3b481945-ec95-7509-0433-96af863c23f8" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: The Apache License, Version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-e8c40f40-3205-ccee-fa1e-76154bd59d16" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/edu.psu.swe.commons/commons-jaxrs@1.22?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json index d460b950f6e..775362ade84 100644 --- a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.geronimo.genesis.config/project-config@1.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json index 509c1d90968..0d059c5a248 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json @@ -95,43 +95,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json index 751dfeefdd9..129ee13b637 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json @@ -95,43 +95,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.2?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json index e9de0886794..9a6a14fab0b 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json @@ -95,43 +95,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json index 0a434502c83..0a3c57c17be 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json @@ -95,43 +95,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven/maven@2.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json index 5f626f363f7..2ac4773c045 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json @@ -51,45 +51,39 @@ "license_expression": "apache-2.0", "matches": [ { - "score": 75.0, + "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 4, + "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_3.RULE", - "rule_relevance": 75, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_3.RULE", - "matched_text": "Apache License 2.0" - } - ], - "identifier": "apache_2_0-62ae3761-33a2-9012-c9ab-0dd8e74dae85" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "rule_identifier": "apache-2.0_1039.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1039.RULE", + "matched_text": "- name: Apache License 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-da08e9d7-03da-b02c-1775-e1659e903285" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Apache License 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven.plugins/maven-dependency-plugin@2.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json index e87fa42a9ed..a6b6cb18084 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json @@ -60,43 +60,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-file@1.0-alpha-5?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json index 5d850c2fa59..21376774a86 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json @@ -60,43 +60,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-http-lightweight@1.0-alpha-5?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json index a6d810cfde4..7e899b208f7 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json @@ -60,43 +60,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-provider-api@1.0-alpha-5?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json index e0515dc3ede..5a3877e03c9 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json @@ -60,43 +60,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon-ssh@1.0-alpha-5?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json index cd9ad544814..5c7b54904ea 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json @@ -60,43 +60,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.maven.wagon/wagon@1.0-alpha-6?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json index 7b624731b3c..615e0de99b1 100644 --- a/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_176.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_176.RULE", - "matched_text": "Apache 2.0 License" - } - ], - "identifier": "apache_2_0-c303006c-0c7c-913e-6e1a-d71a3c906ed1" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache 2.0 License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0" } ], - "identifier": "apache_2_0-e3a84133-3548-87fd-b873-d193344afada" + "identifier": "apache_2_0-4a9b2267-c5d1-8040-ffd0-483abd649bf9" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache 2.0 License\n url: http://www.apache.org/licenses/LICENSE-2.0\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Apache 2.0 License\n url: http://www.apache.org/licenses/LICENSE-2.0\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.mina/build@1.1.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json index 0be67d87694..c28da4b4494 100644 --- a/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json @@ -298,43 +298,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.myfaces.maven/myfaces-master@1.0.5?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json index 2980806fec3..516ca449dc8 100644 --- a/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json @@ -74,43 +74,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.apache.velocity/velocity@1.5?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json index efd69983e47..7af33c626c7 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjrt@1.5.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json index aca3e96f936..1db27bb67ab 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjrt@1.6.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json index f77a7b08de6..8ddd354e6c9 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjtools@1.5.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json index 2748a5c0726..40fa85cd811 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjtools@1.6.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json index c851d4fb0a9..591b02040d9 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjweaver@1.5.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json index ef33dfa24b7..9892479ce99 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/org.aspectj/aspectjweaver@1.6.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json index c3d7ef69446..b0ebe03a4fc 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json @@ -49,12 +49,12 @@ "end_line": 1, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", "rule_identifier": "mit_27.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE", - "matched_text": "The MIT License" + "matched_text": "- name: The MIT License" } ], "identifier": "mit-3ab5a1cd-6f73-3105-a815-d0d7c55b1922" @@ -63,7 +63,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The MIT License\n url: LICENSE.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The MIT License\n url: LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/aspectj-maven-plugin@1.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json index 3c7fd417f1f..25808eac08a 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", "rule_identifier": "mit_27.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE", - "matched_text": "The MIT License" - } - ], - "identifier": "mit-3ab5a1cd-6f73-3105-a815-d0d7c55b1922" - }, - { - "license_expression": "mit", - "matches": [ + "matched_text": "- name: The MIT License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", "rule_identifier": "mit_237.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_237.RULE", - "matched_text": "http://www.opensource.org/licenses/mit-license.php" + "matched_text": " url: http://www.opensource.org/licenses/mit-license.php" } ], - "identifier": "mit-45e0259a-8088-c36b-e9e1-6ee80c86605a" + "identifier": "mit-b25fa533-c536-1062-9012-a925b16f3d93" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The MIT License\n url: http://www.opensource.org/licenses/mit-license.php\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The MIT License\n url: http://www.opensource.org/licenses/mit-license.php\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/build-helper-maven-plugin@1.2-SNAPSHOT?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json index 3c7fd417f1f..25808eac08a 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", "rule_identifier": "mit_27.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE", - "matched_text": "The MIT License" - } - ], - "identifier": "mit-3ab5a1cd-6f73-3105-a815-d0d7c55b1922" - }, - { - "license_expression": "mit", - "matches": [ + "matched_text": "- name: The MIT License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", "rule_identifier": "mit_237.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_237.RULE", - "matched_text": "http://www.opensource.org/licenses/mit-license.php" + "matched_text": " url: http://www.opensource.org/licenses/mit-license.php" } ], - "identifier": "mit-45e0259a-8088-c36b-e9e1-6ee80c86605a" + "identifier": "mit-b25fa533-c536-1062-9012-a925b16f3d93" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The MIT License\n url: http://www.opensource.org/licenses/mit-license.php\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The MIT License\n url: http://www.opensource.org/licenses/mit-license.php\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/build-helper-maven-plugin@1.2-SNAPSHOT?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json index 7b8dc80642f..aeb6df7c952 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json @@ -53,43 +53,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/cobertura-maven-plugin@2.2?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json index 47087e78817..065f52bfc50 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json @@ -61,23 +61,23 @@ "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 1, + "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-spdx-id", + "matcher": "2-aho", "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, - "rule_url": null, - "matched_text": "MIT" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", + "matched_text": "license - name: MIT" } ], - "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + "identifier": "mit-d9e3f4a1-d310-01d5-c705-8088549acd7c" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json index c65bb643334..7b8a75dc44e 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json @@ -42,23 +42,17 @@ "end_line": 1, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", "rule_identifier": "mit_27.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE", - "matched_text": "The MIT License" - } - ], - "identifier": "mit-3ab5a1cd-6f73-3105-a815-d0d7c55b1922" - }, - { - "license_expression": "mit", - "matches": [ + "matched_text": "- name: The MIT License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", @@ -66,16 +60,16 @@ "rule_identifier": "mit_1165.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1165.RULE", - "matched_text": "http://commons.ucalgary.ca/projects/licenses/mit-license.txt" + "matched_text": " url: http://commons.ucalgary.ca/projects/licenses/mit-license.txt" } ], - "identifier": "mit-4f59919c-5d20-b428-c940-a60192a6f516" + "identifier": "mit-354f40f6-580f-c342-ca94-049d79668525" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The MIT License\n url: http://commons.ucalgary.ca/projects/licenses/mit-license.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The MIT License\n url: http://commons.ucalgary.ca/projects/licenses/mit-license.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/maven-buildnumber-plugin@0.9.6?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json index 2c600219e48..e5759035f67 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json @@ -165,43 +165,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.plexus/plexus@1.0.11?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json b/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json index c521be75952..d45eefafb2e 100644 --- a/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json @@ -32,23 +32,23 @@ "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 2, + "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", - "rule_identifier": "mit_14.RULE", + "rule_identifier": "mit_1106.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", - "matched_text": "MIT License" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1106.RULE", + "matched_text": "- name: MIT License" } ], - "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929" + "identifier": "mit-8b394b05-a8d3-7669-2b85-8e2313a00b22" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MIT License\n url: http://www.easymock.org/License.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: MIT License\n url: http://www.easymock.org/License.html\n", "notice_text": null, "source_packages": [ "pkg:maven/org.easymock/easymock@2.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json b/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json index 9237fff7daf..2ce17ac168d 100644 --- a/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json @@ -32,23 +32,23 @@ "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 2, + "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "mit", - "rule_identifier": "mit_14.RULE", + "rule_identifier": "mit_1106.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", - "matched_text": "MIT License" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1106.RULE", + "matched_text": "- name: MIT License" } ], - "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929" + "identifier": "mit-8b394b05-a8d3-7669-2b85-8e2313a00b22" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MIT License\n url: http://www.easymock.org/License.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: MIT License\n url: http://www.easymock.org/License.html\n", "notice_text": null, "source_packages": [ "pkg:maven/org.easymock/easymockclassextension@2.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json index 301a0c6b13e..b1daad48292 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json @@ -34,23 +34,17 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU LESSER GENERAL PUBLIC LICENSE" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", @@ -58,16 +52,16 @@ "rule_identifier": "lgpl-2.0-plus_204.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_204.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.txt" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-9e98274a-f2c6-c975-364a-16cff6b8a8f3" + "identifier": "lgpl_2_0_plus-39338b95-daca-d7de-257c-fafb876cbd6d" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-annotations@3.2.1.ga?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json index 5ca13a940fc..b66cbab5ad1 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json @@ -34,23 +34,17 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU LESSER GENERAL PUBLIC LICENSE" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", @@ -58,16 +52,16 @@ "rule_identifier": "lgpl-2.0-plus_204.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_204.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.txt" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-9e98274a-f2c6-c975-364a-16cff6b8a8f3" + "identifier": "lgpl_2_0_plus-39338b95-daca-d7de-257c-fafb876cbd6d" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-annotations@3.3.1.GA?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json index 0fe81c0d0a6..60cbd6796ba 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json @@ -34,23 +34,17 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU LESSER GENERAL PUBLIC LICENSE" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", @@ -58,16 +52,16 @@ "rule_identifier": "lgpl-2.0-plus_204.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_204.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.txt" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-9e98274a-f2c6-c975-364a-16cff6b8a8f3" + "identifier": "lgpl_2_0_plus-39338b95-daca-d7de-257c-fafb876cbd6d" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-commons-annotations@3.0.0.ga?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json index 15f1b8778b7..c6385d86b7b 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json @@ -34,23 +34,17 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU LESSER GENERAL PUBLIC LICENSE" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", @@ -58,16 +52,16 @@ "rule_identifier": "lgpl-2.0-plus_204.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_204.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.txt" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-9e98274a-f2c6-c975-364a-16cff6b8a8f3" + "identifier": "lgpl_2_0_plus-39338b95-daca-d7de-257c-fafb876cbd6d" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-entitymanager@3.2.1.ga?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json index ccc79c00d8e..a30e5f5e8cd 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json @@ -34,23 +34,17 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU LESSER GENERAL PUBLIC LICENSE" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", @@ -58,16 +52,16 @@ "rule_identifier": "lgpl-2.0-plus_204.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_204.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.txt" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-9e98274a-f2c6-c975-364a-16cff6b8a8f3" + "identifier": "lgpl_2_0_plus-39338b95-daca-d7de-257c-fafb876cbd6d" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate-entitymanager@3.3.2.GA?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json index a08cf0dca23..73ff8db1573 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json @@ -42,23 +42,17 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU LESSER GENERAL PUBLIC LICENSE" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", @@ -66,16 +60,16 @@ "rule_identifier": "lgpl-2.0-plus_204.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_204.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.txt" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-9e98274a-f2c6-c975-364a-16cff6b8a8f3" + "identifier": "lgpl_2_0_plus-39338b95-daca-d7de-257c-fafb876cbd6d" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate@3.2.1.ga?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json index 7682b1f4919..19c5ae1a84b 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json @@ -42,23 +42,17 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU LESSER GENERAL PUBLIC LICENSE" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", @@ -66,16 +60,16 @@ "rule_identifier": "lgpl-2.0-plus_204.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_204.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.txt" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.txt" } ], - "identifier": "lgpl_2_0_plus-9e98274a-f2c6-c975-364a-16cff6b8a8f3" + "identifier": "lgpl_2_0_plus-39338b95-daca-d7de-257c-fafb876cbd6d" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU LESSER GENERAL PUBLIC LICENSE\n url: http://www.gnu.org/licenses/lgpl.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.hibernate/hibernate@3.2.6.ga?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json index cc6ee9851f0..d19948a26a9 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json @@ -119,40 +119,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", - "matched_text": "Apache License Version 2.0" - } - ], - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache License Version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0" } ], - "identifier": "apache_2_0-e3a84133-3548-87fd-b873-d193344afada" + "identifier": "apache_2_0-7d19d6db-5271-9183-f2fe-699732078833" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Apache License Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0\n", "notice_text": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/jetty-parent@7?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json index 17bebfe9af4..cbc7ab3a8cd 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json @@ -98,40 +98,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", - "matched_text": "Apache License Version 2.0" - } - ], - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache License Version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0" } ], - "identifier": "apache_2_0-e3a84133-3548-87fd-b873-d193344afada" + "identifier": "apache_2_0-7d19d6db-5271-9183-f2fe-699732078833" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Apache License Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0\n", "notice_text": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/project@6.1.5?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json index 5fdbf708d76..4c539ed7efa 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "spdx_license_id_cddl-1.0_for_cddl-1.0.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_cddl-1.0_for_cddl-1.0.RULE", - "matched_text": "CDDL 1.0" - } - ], - "identifier": "cddl_1_0-71485250-23f5-756d-2093-4784d4e3a801" - }, - { - "license_expression": "cddl-1.0", - "matches": [ + "matched_text": "- name: CDDL 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "cddl-1.0", "rule_identifier": "cddl-1.0_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_6.RULE", - "matched_text": "https://glassfish.dev.java.net/public/CDDLv1.0.html" + "matched_text": " url: https://glassfish.dev.java.net/public/CDDLv1.0.html" } ], - "identifier": "cddl_1_0-4f2bf4d0-3879-deb3-fbbc-dee2fdcf653b" + "identifier": "cddl_1_0-b43283bb-7484-67cf-7811-6578562b5d66" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: CDDL 1.0\n url: https://glassfish.dev.java.net/public/CDDLv1.0.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: CDDL 1.0\n url: https://glassfish.dev.java.net/public/CDDLv1.0.html\n", "notice_text": null, "source_packages": [ "pkg:maven/org.mortbay.jetty/servlet-api-2.5@6.1.5?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json index 388aa6307a5..7a41e449ea1 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-aop@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json index 75fc113a56d..ffed10daa2d 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-aspects@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json index f3231aca8f3..04765fa7645 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-aspects@2.5.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json index 98c90f5d404..c555da042b7 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-beans@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json index 3920e037fbb..cf7d64328ad 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-context-support@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json index c93aec3f378..43f75297084 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-context@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json index 31e90382bf3..efd25869c96 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-core@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json index 4589013c5eb..825a7edf20a 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-jdbc@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json index 1f6982b8acb..31a75d5935f 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json index bb90e43747c..f5486366447 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-test@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json index a826f1312c3..37921912109 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-test@2.5.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json index 6dc3d7bce50..52b2faf6960 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-tx@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json index e426f091055..de036dd60d2 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-web@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json index dde406375d7..2eb634eb88a 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json index d54a20e2225..c3ad7db295c 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json index d87b5a1558a..e8b0bcc7d9d 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json b/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json index d42298b1425..cb34de53d4f 100644 --- a/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", - "matched_text": "Apache License, Version 2.0" - } - ], - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache License, Version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_url_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_url_6.RULE", - "matched_text": "http://apache.org/licenses/LICENSE-2.0" + "matched_text": " url: http://apache.org/licenses/LICENSE-2.0" } ], - "identifier": "apache_2_0-7e55cb55-a391-f24f-3ad2-8e91f57d3ba4" + "identifier": "apache_2_0-2614ce7e-e1ad-7f48-a806-858afc92366a" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License, Version 2.0\n url: http://apache.org/licenses/LICENSE-2.0\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Apache License, Version 2.0\n url: http://apache.org/licenses/LICENSE-2.0\n", "notice_text": null, "source_packages": [ "pkg:maven/org.testng/testng@5.7?classifier=sources" diff --git a/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json b/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json index 264d994621e..c6640d89d70 100644 --- a/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", - "matched_text": "Apache License, Version 2.0" - } - ], - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache License, Version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_url_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_url_6.RULE", - "matched_text": "http://apache.org/licenses/LICENSE-2.0" + "matched_text": " url: http://apache.org/licenses/LICENSE-2.0" } ], - "identifier": "apache_2_0-7e55cb55-a391-f24f-3ad2-8e91f57d3ba4" + "identifier": "apache_2_0-2614ce7e-e1ad-7f48-a806-858afc92366a" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License, Version 2.0\n url: http://apache.org/licenses/LICENSE-2.0\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Apache License, Version 2.0\n url: http://apache.org/licenses/LICENSE-2.0\n", "notice_text": null, "source_packages": [ "pkg:maven/org.testng/testng@5.8?classifier=sources" diff --git a/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json b/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json index 4b5a65f750f..aad8a6970b9 100644 --- a/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json +++ b/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json @@ -70,40 +70,34 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-1.1", "rule_identifier": "apache-1.1_66.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-1.1_66.RULE", - "matched_text": "The P6Spy Software License, Version 1.1" - } - ], - "identifier": "apache_1_1-51dbace7-f45b-db27-5fbc-4d8b4fecc14d" - }, - { - "license_expression": "apache-1.1", - "matches": [ + "matched_text": "- name: The P6Spy Software License, Version 1.1" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-1.1", "rule_identifier": "apache-1.1_64.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-1.1_64.RULE", - "matched_text": "http://cvs.sourceforge.net/viewcvs.py/*checkout*/p6spy/p6spy/license.txt?rev=HEAD" + "matched_text": " url: http://cvs.sourceforge.net/viewcvs.py/*checkout*/p6spy/p6spy/license.txt?rev=HEAD" } ], - "identifier": "apache_1_1-8fd3995e-0a9b-bbca-a092-62f14299e23b" + "identifier": "apache_1_1-899582d7-4b15-83f9-6aca-75519b44b4b4" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The P6Spy Software License, Version 1.1\n url: http://cvs.sourceforge.net/viewcvs.py/*checkout*/p6spy/p6spy/license.txt?rev=HEAD\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The P6Spy Software License, Version 1.1\n url: http://cvs.sourceforge.net/viewcvs.py/*checkout*/p6spy/p6spy/license.txt?rev=HEAD\n", "notice_text": null, "source_packages": [ "pkg:maven/p6spy/p6spy@1.3?classifier=sources" diff --git a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json index dcdce0d3e05..3cc2909c728 100644 --- a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 5, + "end_line": 2, + "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", - "rule_identifier": "bsd-new_357.RULE", + "rule_identifier": "bsd-new_358.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_357.RULE", - "matched_text": "The 3-Clause BSD License" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_358.RULE", + "matched_text": "- name: The 3-Clause BSD License\n url: https://opensource.org/licenses/BSD-3-Clause" } ], - "identifier": "bsd_new-4a9d3cf0-ff09-5016-1803-17b6319e005b" - }, - { - "license_expression": "bsd-new", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_356.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_356.RULE", - "matched_text": "https://opensource.org/licenses/BSD-3-Clause" - } - ], - "identifier": "bsd_new-258b6fd3-b429-125a-31cb-35d6ddac32c5" + "identifier": "bsd_new-16562f16-7bf2-63a5-7b03-5327f109350b" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The 3-Clause BSD License\n url: https://opensource.org/licenses/BSD-3-Clause\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The 3-Clause BSD License\n url: https://opensource.org/licenses/BSD-3-Clause\n", "notice_text": null, "source_packages": [ "pkg:maven/io.github.subiyacryolite/jds@2.17.0718b?classifier=sources" diff --git a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json index 973641ea2ec..d1721532651 100644 --- a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 5, + "end_line": 2, + "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", - "rule_identifier": "bsd-new_357.RULE", + "rule_identifier": "bsd-new_358.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_357.RULE", - "matched_text": "The 3-Clause BSD License" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_358.RULE", + "matched_text": "- name: The 3-Clause BSD License\n url: https://opensource.org/licenses/BSD-3-Clause" } ], - "identifier": "bsd_new-4a9d3cf0-ff09-5016-1803-17b6319e005b" - }, - { - "license_expression": "bsd-new", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_356.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_356.RULE", - "matched_text": "https://opensource.org/licenses/BSD-3-Clause" - } - ], - "identifier": "bsd_new-258b6fd3-b429-125a-31cb-35d6ddac32c5" + "identifier": "bsd_new-16562f16-7bf2-63a5-7b03-5327f109350b" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The 3-Clause BSD License\n url: https://opensource.org/licenses/BSD-3-Clause\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The 3-Clause BSD License\n url: https://opensource.org/licenses/BSD-3-Clause\n", "notice_text": null, "source_packages": [ "pkg:maven/io.github.subiyacryolite/jds@3.0.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json index 39b9090f0f2..7c3af916b75 100644 --- a/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.xson/common-object@1.0.2?classifier=sources" diff --git a/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json index 7772b74bee6..3de47beee3b 100644 --- a/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json @@ -31,43 +31,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.osgl/osgl-http@1.1.2?classifier=sources" diff --git a/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json b/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json index 8b835e52abf..c80365bacd1 100644 --- a/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json +++ b/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json @@ -259,12 +259,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -273,7 +273,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" diff --git a/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json b/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json index ecbe84dd932..a64167ed341 100644 --- a/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json +++ b/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json @@ -266,12 +266,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -280,7 +280,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.3.1?classifier=sources" diff --git a/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json b/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json index 6ab23ad3044..f9f2b8b3da9 100644 --- a/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json +++ b/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/velocity/velocity@1.4?classifier=sources" diff --git a/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json b/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json index f95efe2d694..79b534eefe8 100644 --- a/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json +++ b/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/xml-apis/xml-apis@1.0.b2?classifier=sources" diff --git a/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json b/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json index 9a8db3bc49d..2ce5120d852 100644 --- a/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json +++ b/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json @@ -26,7 +26,7 @@ "declared_license_expression_spdx": "LicenseRef-scancode-public-domain AND SAX-PD", "license_detections": [ { - "license_expression": "public-domain", + "license_expression": "public-domain AND sax-pd", "matches": [ { "score": 70.0, @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", - "matched_text": "Public Domain" - } - ], - "identifier": "public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77" - }, - { - "license_expression": "sax-pd", - "matches": [ + "matched_text": "- name: Public Domain" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "sax-pd", "rule_identifier": "sax-pd_url_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/sax-pd_url_4.RULE", - "matched_text": "http://www.xmlpull.org/v1/download/unpacked/LICENSE.txt" + "matched_text": " url: http://www.xmlpull.org/v1/download/unpacked/LICENSE.txt" } ], - "identifier": "sax_pd-7d81647e-13a5-134c-284f-4cb78c6a80ff" + "identifier": "public_domain_and_sax_pd-d771fe18-376a-f0df-b8c9-0c2a585fd653" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Public Domain\n url: http://www.xmlpull.org/v1/download/unpacked/LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Public Domain\n url: http://www.xmlpull.org/v1/download/unpacked/LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/xmlpull/xmlpull@1.1.3.1?classifier=sources" diff --git a/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json b/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json index 70a1c2717fa..c8ad9bd7445 100644 --- a/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json +++ b/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json @@ -26,7 +26,7 @@ "declared_license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "license_detections": [ { - "license_expression": "public-domain", + "license_expression": "public-domain AND gpl-1.0-plus", "matches": [ { "score": 70.0, @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", - "matched_text": "Public Domain" - } - ], - "identifier": "public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77" - }, - { - "license_expression": "gpl-1.0-plus", - "matches": [ + "matched_text": "- name: Public Domain" + }, { "score": 50.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "gpl-1.0-plus", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", - "matched_text": "GPL" + "matched_text": "- name: GPL" } ], - "identifier": "gpl_1_0_plus-473308ff-72ce-7e72-b3a9-5b1cc6680abb" + "identifier": "public_domain_and_gpl_1_0_plus-1122e82b-9e72-f9bb-082b-2717cb5076ed" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Public Domain\n url:\n comments:\n distribution:\n- name: GPL\n url: http://nexb.com\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Public Domain\n- name: GPL\n url: http://nexb.com\n", "notice_text": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" diff --git a/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json b/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json index 8b835e52abf..c80365bacd1 100644 --- a/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json +++ b/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json @@ -259,12 +259,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -273,7 +273,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" diff --git a/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json b/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json index 47087e78817..065f52bfc50 100644 --- a/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json +++ b/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json @@ -61,23 +61,23 @@ "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 1, + "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-spdx-id", + "matcher": "2-aho", "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, - "rule_url": null, - "matched_text": "MIT" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", + "matched_text": "license - name: MIT" } ], - "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + "identifier": "mit-d9e3f4a1-d310-01d5-c705-8088549acd7c" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" diff --git a/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json b/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json index 06a4c79d19a..2e64dc79dc4 100644 --- a/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json +++ b/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?classifier=sources" diff --git a/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json b/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json index 331d4216ad0..ddf02e88a9b 100644 --- a/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json +++ b/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json @@ -34,7 +34,7 @@ "declared_license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "license_detections": [ { - "license_expression": "lgpl-2.0-plus", + "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", "matches": [ { "score": 75.0, @@ -42,40 +42,34 @@ "end_line": 1, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", - "matched_text": "LGPL" - } - ], - "identifier": "lgpl_2_0_plus-64f6d457-252f-6fe3-26b9-ae66d29ef973" - }, - { - "license_expression": "lgpl-2.1-plus", - "matches": [ + "matched_text": "- name: LGPL" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.1-plus", "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", - "matched_text": "http://www.gnu.org/copyleft/lesser.html" + "matched_text": " url: http://www.gnu.org/copyleft/lesser.html" } ], - "identifier": "lgpl_2_1_plus-b16c21f5-6aef-caba-ec70-9c220b47a1a5" + "identifier": "lgpl_2_0_plus_and_lgpl_2_1_plus-b52b959e-48c6-d927-c4d0-cf7842fb12fa" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n", "notice_text": null, "source_packages": [ "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?classifier=sources" diff --git a/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json b/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json index be7639496a8..41c2a25283a 100644 --- a/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json +++ b/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" diff --git a/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json b/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json index 9fc4e322bdd..e51f0c4ad8b 100644 --- a/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json +++ b/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json @@ -34,40 +34,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU Lesser General Public License" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU Lesser General Public License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.html" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" } ], - "identifier": "lgpl_2_0_plus-bd2014ad-7f5c-e384-8316-a0068fe42d91" + "identifier": "lgpl_2_0_plus-f1d029dc-2445-1282-73fe-2a12a25be427" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/ch.qos.logback/logback-access@0.2.5?classifier=sources" diff --git a/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json b/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json index d87b5a1558a..e8b0bcc7d9d 100644 --- a/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json +++ b/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" diff --git a/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json b/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json index 1f6982b8acb..31a75d5935f 100644 --- a/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json +++ b/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json b/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json index dde406375d7..2eb634eb88a 100644 --- a/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json +++ b/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json @@ -39,43 +39,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" - } - ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/plugin/com-package-expected.json b/tests/packagedcode/data/plugin/com-package-expected.json index ad686c6a135..785c57ba076 100644 --- a/tests/packagedcode/data/plugin/com-package-expected.json +++ b/tests/packagedcode/data/plugin/com-package-expected.json @@ -45,20 +45,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/plugin/maven-package-expected.json b/tests/packagedcode/data/plugin/maven-package-expected.json index 3451f9ede83..41702a712c1 100644 --- a/tests/packagedcode/data/plugin/maven-package-expected.json +++ b/tests/packagedcode/data/plugin/maven-package-expected.json @@ -220,7 +220,7 @@ "declared_license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "license_detections": [ { - "license_expression": "public-domain", + "license_expression": "public-domain AND gpl-1.0-plus", "matches": [ { "score": 70.0, @@ -228,40 +228,34 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", - "matched_text": "Public Domain" - } - ], - "identifier": "public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77" - }, - { - "license_expression": "gpl-1.0-plus", - "matches": [ + "matched_text": "- name: Public Domain" + }, { "score": 50.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "gpl-1.0-plus", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", - "matched_text": "GPL" + "matched_text": "- name: GPL" } ], - "identifier": "gpl_1_0_plus-473308ff-72ce-7e72-b3a9-5b1cc6680abb" + "identifier": "public_domain_and_gpl_1_0_plus-1122e82b-9e72-f9bb-082b-2717cb5076ed" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Public Domain\n url:\n comments:\n distribution:\n- name: GPL\n url: http://nexb.com\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Public Domain\n- name: GPL\n url: http://nexb.com\n", "notice_text": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" @@ -763,12 +757,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -777,7 +771,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" @@ -990,23 +984,23 @@ "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 1, + "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-spdx-id", + "matcher": "2-aho", "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, - "rule_url": null, - "matched_text": "MIT" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", + "matched_text": "license - name: MIT" } ], - "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + "identifier": "mit-d9e3f4a1-d310-01d5-c705-8088549acd7c" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" @@ -1164,40 +1158,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?classifier=sources" @@ -1376,7 +1364,7 @@ "declared_license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "license_detections": [ { - "license_expression": "lgpl-2.0-plus", + "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", "matches": [ { "score": 75.0, @@ -1384,40 +1372,34 @@ "end_line": 1, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", - "matched_text": "LGPL" - } - ], - "identifier": "lgpl_2_0_plus-64f6d457-252f-6fe3-26b9-ae66d29ef973" - }, - { - "license_expression": "lgpl-2.1-plus", - "matches": [ + "matched_text": "- name: LGPL" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.1-plus", "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", - "matched_text": "http://www.gnu.org/copyleft/lesser.html" + "matched_text": " url: http://www.gnu.org/copyleft/lesser.html" } ], - "identifier": "lgpl_2_1_plus-b16c21f5-6aef-caba-ec70-9c220b47a1a5" + "identifier": "lgpl_2_0_plus_and_lgpl_2_1_plus-b52b959e-48c6-d927-c4d0-cf7842fb12fa" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n", "notice_text": null, "source_packages": [ "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?classifier=sources" @@ -1476,43 +1458,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" @@ -1566,40 +1529,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU Lesser General Public License" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU Lesser General Public License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.html" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" } ], - "identifier": "lgpl_2_0_plus-bd2014ad-7f5c-e384-8316-a0068fe42d91" + "identifier": "lgpl_2_0_plus-f1d029dc-2445-1282-73fe-2a12a25be427" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/ch.qos.logback/logback-access@0.2.5?classifier=sources" @@ -2053,43 +2010,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" @@ -2148,43 +2086,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" @@ -2243,43 +2162,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" @@ -6717,7 +6617,7 @@ "declared_license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "license_detections": [ { - "license_expression": "public-domain", + "license_expression": "public-domain AND gpl-1.0-plus", "matches": [ { "score": 70.0, @@ -6725,40 +6625,34 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", - "matched_text": "Public Domain" - } - ], - "identifier": "public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77" - }, - { - "license_expression": "gpl-1.0-plus", - "matches": [ + "matched_text": "- name: Public Domain" + }, { "score": 50.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "gpl-1.0-plus", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", - "matched_text": "GPL" + "matched_text": "- name: GPL" } ], - "identifier": "gpl_1_0_plus-473308ff-72ce-7e72-b3a9-5b1cc6680abb" + "identifier": "public_domain_and_gpl_1_0_plus-1122e82b-9e72-f9bb-082b-2717cb5076ed" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Public Domain\n url:\n comments:\n distribution:\n- name: GPL\n url: http://nexb.com\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Public Domain\n- name: GPL\n url: http://nexb.com\n", "notice_text": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" @@ -7413,12 +7307,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -7427,7 +7321,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" @@ -7981,23 +7875,23 @@ "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 1, + "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-spdx-id", + "matcher": "2-aho", "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, - "rule_url": null, - "matched_text": "MIT" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", + "matched_text": "license - name: MIT" } ], - "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + "identifier": "mit-d9e3f4a1-d310-01d5-c705-8088549acd7c" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" @@ -8477,40 +8371,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?classifier=sources" @@ -8921,7 +8809,7 @@ "declared_license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "license_detections": [ { - "license_expression": "lgpl-2.0-plus", + "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", "matches": [ { "score": 75.0, @@ -8929,40 +8817,34 @@ "end_line": 1, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", - "matched_text": "LGPL" - } - ], - "identifier": "lgpl_2_0_plus-64f6d457-252f-6fe3-26b9-ae66d29ef973" - }, - { - "license_expression": "lgpl-2.1-plus", - "matches": [ + "matched_text": "- name: LGPL" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.1-plus", "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", - "matched_text": "http://www.gnu.org/copyleft/lesser.html" + "matched_text": " url: http://www.gnu.org/copyleft/lesser.html" } ], - "identifier": "lgpl_2_1_plus-b16c21f5-6aef-caba-ec70-9c220b47a1a5" + "identifier": "lgpl_2_0_plus_and_lgpl_2_1_plus-b52b959e-48c6-d927-c4d0-cf7842fb12fa" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n", "notice_text": null, "source_packages": [ "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?classifier=sources" @@ -9095,43 +8977,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" @@ -9279,40 +9142,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU Lesser General Public License" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU Lesser General Public License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.html" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" } ], - "identifier": "lgpl_2_0_plus-bd2014ad-7f5c-e384-8316-a0068fe42d91" + "identifier": "lgpl_2_0_plus-f1d029dc-2445-1282-73fe-2a12a25be427" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/ch.qos.logback/logback-access@0.2.5?classifier=sources" @@ -10573,43 +10430,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" @@ -11352,43 +11190,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" @@ -11641,43 +11460,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/plugin/maven-package-with-license-expected.json b/tests/packagedcode/data/plugin/maven-package-with-license-expected.json index 3451f9ede83..41702a712c1 100644 --- a/tests/packagedcode/data/plugin/maven-package-with-license-expected.json +++ b/tests/packagedcode/data/plugin/maven-package-with-license-expected.json @@ -220,7 +220,7 @@ "declared_license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "license_detections": [ { - "license_expression": "public-domain", + "license_expression": "public-domain AND gpl-1.0-plus", "matches": [ { "score": 70.0, @@ -228,40 +228,34 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", - "matched_text": "Public Domain" - } - ], - "identifier": "public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77" - }, - { - "license_expression": "gpl-1.0-plus", - "matches": [ + "matched_text": "- name: Public Domain" + }, { "score": 50.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "gpl-1.0-plus", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", - "matched_text": "GPL" + "matched_text": "- name: GPL" } ], - "identifier": "gpl_1_0_plus-473308ff-72ce-7e72-b3a9-5b1cc6680abb" + "identifier": "public_domain_and_gpl_1_0_plus-1122e82b-9e72-f9bb-082b-2717cb5076ed" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Public Domain\n url:\n comments:\n distribution:\n- name: GPL\n url: http://nexb.com\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Public Domain\n- name: GPL\n url: http://nexb.com\n", "notice_text": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" @@ -763,12 +757,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -777,7 +771,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" @@ -990,23 +984,23 @@ "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 1, + "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-spdx-id", + "matcher": "2-aho", "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, - "rule_url": null, - "matched_text": "MIT" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", + "matched_text": "license - name: MIT" } ], - "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + "identifier": "mit-d9e3f4a1-d310-01d5-c705-8088549acd7c" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" @@ -1164,40 +1158,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?classifier=sources" @@ -1376,7 +1364,7 @@ "declared_license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "license_detections": [ { - "license_expression": "lgpl-2.0-plus", + "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", "matches": [ { "score": 75.0, @@ -1384,40 +1372,34 @@ "end_line": 1, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", - "matched_text": "LGPL" - } - ], - "identifier": "lgpl_2_0_plus-64f6d457-252f-6fe3-26b9-ae66d29ef973" - }, - { - "license_expression": "lgpl-2.1-plus", - "matches": [ + "matched_text": "- name: LGPL" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.1-plus", "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", - "matched_text": "http://www.gnu.org/copyleft/lesser.html" + "matched_text": " url: http://www.gnu.org/copyleft/lesser.html" } ], - "identifier": "lgpl_2_1_plus-b16c21f5-6aef-caba-ec70-9c220b47a1a5" + "identifier": "lgpl_2_0_plus_and_lgpl_2_1_plus-b52b959e-48c6-d927-c4d0-cf7842fb12fa" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n", "notice_text": null, "source_packages": [ "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?classifier=sources" @@ -1476,43 +1458,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" @@ -1566,40 +1529,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU Lesser General Public License" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU Lesser General Public License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.html" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" } ], - "identifier": "lgpl_2_0_plus-bd2014ad-7f5c-e384-8316-a0068fe42d91" + "identifier": "lgpl_2_0_plus-f1d029dc-2445-1282-73fe-2a12a25be427" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/ch.qos.logback/logback-access@0.2.5?classifier=sources" @@ -2053,43 +2010,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" @@ -2148,43 +2086,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" @@ -2243,43 +2162,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" @@ -6717,7 +6617,7 @@ "declared_license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "license_detections": [ { - "license_expression": "public-domain", + "license_expression": "public-domain AND gpl-1.0-plus", "matches": [ { "score": 70.0, @@ -6725,40 +6625,34 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", - "matched_text": "Public Domain" - } - ], - "identifier": "public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77" - }, - { - "license_expression": "gpl-1.0-plus", - "matches": [ + "matched_text": "- name: Public Domain" + }, { "score": 50.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "gpl-1.0-plus", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", - "matched_text": "GPL" + "matched_text": "- name: GPL" } ], - "identifier": "gpl_1_0_plus-473308ff-72ce-7e72-b3a9-5b1cc6680abb" + "identifier": "public_domain_and_gpl_1_0_plus-1122e82b-9e72-f9bb-082b-2717cb5076ed" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Public Domain\n url:\n comments:\n distribution:\n- name: GPL\n url: http://nexb.com\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Public Domain\n- name: GPL\n url: http://nexb.com\n", "notice_text": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" @@ -7413,12 +7307,12 @@ "end_line": 1, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" + "matched_text": "- name: The Apache Software License, Version 2.0" } ], "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" @@ -7427,7 +7321,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n comments:\n distribution:\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/commons-validator/commons-validator@1.2.0?classifier=sources" @@ -7981,23 +7875,23 @@ "score": 100.0, "start_line": 1, "end_line": 1, - "matched_length": 1, + "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-spdx-id", + "matcher": "2-aho", "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, - "rule_url": null, - "matched_text": "MIT" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", + "matched_text": "license - name: MIT" } ], - "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf" + "identifier": "mit-d9e3f4a1-d310-01d5-c705-8088549acd7c" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: MIT\n url: LICENSE.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.codehaus.mojo/findbugs-maven-plugin@1.1.1?classifier=sources" @@ -8477,40 +8371,34 @@ "end_line": 1, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", - "matched_text": "Eclipse Public License - v 1.0" - } - ], - "identifier": "epl_1_0-08260e9e-18a1-8e8e-6b84-e5bd8fb66c01" - }, - { - "license_expression": "epl-1.0", - "matches": [ + "matched_text": "- name: Eclipse Public License - v 1.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "epl-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", - "matched_text": "http://www.eclipse.org/legal/epl-v10.html" + "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } ], - "identifier": "epl_1_0-55aef6c5-220a-7892-61d4-4edfb5d67d75" + "identifier": "epl_1_0-48d15cd3-0ccf-4f62-3d30-24dc9b7308e5" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Eclipse Public License - v 1.0\n url: http://www.eclipse.org/legal/epl-v10.html\n", "notice_text": null, "source_packages": [ "pkg:maven/com.myco.foo.bar.baz/baz-bar-parent@1.0?classifier=sources" @@ -8921,7 +8809,7 @@ "declared_license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "license_detections": [ { - "license_expression": "lgpl-2.0-plus", + "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", "matches": [ { "score": 75.0, @@ -8929,40 +8817,34 @@ "end_line": 1, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", - "matched_text": "LGPL" - } - ], - "identifier": "lgpl_2_0_plus-64f6d457-252f-6fe3-26b9-ae66d29ef973" - }, - { - "license_expression": "lgpl-2.1-plus", - "matches": [ + "matched_text": "- name: LGPL" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.1-plus", "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", - "matched_text": "http://www.gnu.org/copyleft/lesser.html" + "matched_text": " url: http://www.gnu.org/copyleft/lesser.html" } ], - "identifier": "lgpl_2_1_plus-b16c21f5-6aef-caba-ec70-9c220b47a1a5" + "identifier": "lgpl_2_0_plus_and_lgpl_2_1_plus-b52b959e-48c6-d927-c4d0-cf7842fb12fa" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: LGPL\n url: http://www.gnu.org/copyleft/lesser.html\n", "notice_text": null, "source_packages": [ "pkg:maven/it.assist.jrecordbind/jrecordbind%24%7BartifactId.ext%7D@2.3.4?classifier=sources" @@ -9095,43 +8977,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/log4j/log4j@1.2.15?classifier=sources" @@ -9279,40 +9142,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU Lesser General Public License" - } - ], - "identifier": "lgpl_2_0_plus-4a537314-959d-dbbd-2add-1b2422c6521e" - }, - { - "license_expression": "lgpl-2.0-plus", - "matches": [ + "matched_text": "- name: GNU Lesser General Public License" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl.html" + "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" } ], - "identifier": "lgpl_2_0_plus-bd2014ad-7f5c-e384-8316-a0068fe42d91" + "identifier": "lgpl_2_0_plus-f1d029dc-2445-1282-73fe-2a12a25be427" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n comments:\n distribution:\n", + "extracted_license_statement": "- name: GNU Lesser General Public License\n url: http://www.gnu.org/licenses/lgpl.html\n", "notice_text": null, "source_packages": [ "pkg:maven/ch.qos.logback/logback-access@0.2.5?classifier=sources" @@ -10573,43 +10430,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring@2.5.4?classifier=sources" @@ -11352,43 +11190,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-orm@2.5.3?classifier=sources" @@ -11641,43 +11460,24 @@ { "score": 100.0, "start_line": 1, - "end_line": 1, - "matched_length": 7, - "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_5.RULE", - "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_5.RULE", - "matched_text": "The Apache Software License, Version 2.0" - } - ], - "identifier": "apache_2_0-daaaee76-1395-c8c8-e06a-3f3f76e079b1" - }, - { - "license_expression": "apache-2.0", - "matches": [ - { - "score": 100.0, - "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 2, + "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", + "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.springframework/spring-webmvc@2.5.3?classifier=sources" diff --git a/tests/packagedcode/data/plugin/mui-package-expected.json b/tests/packagedcode/data/plugin/mui-package-expected.json index 3b289781d1e..83ae8b8f69d 100644 --- a/tests/packagedcode/data/plugin/mui-package-expected.json +++ b/tests/packagedcode/data/plugin/mui-package-expected.json @@ -45,20 +45,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/plugin/mun-package-expected.json b/tests/packagedcode/data/plugin/mun-package-expected.json index ea0706ddbe1..0602ecff548 100644 --- a/tests/packagedcode/data/plugin/mun-package-expected.json +++ b/tests/packagedcode/data/plugin/mun-package-expected.json @@ -45,20 +45,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/plugin/python-package-expected.json b/tests/packagedcode/data/plugin/python-package-expected.json index dc4852f1f7d..eb08a790467 100644 --- a/tests/packagedcode/data/plugin/python-package-expected.json +++ b/tests/packagedcode/data/plugin/python-package-expected.json @@ -150,7 +150,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -315,7 +315,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -830,7 +830,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -1411,7 +1411,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/plugin/sys-package-expected.json b/tests/packagedcode/data/plugin/sys-package-expected.json index bd3b6315a53..e851355c054 100644 --- a/tests/packagedcode/data/plugin/sys-package-expected.json +++ b/tests/packagedcode/data/plugin/sys-package-expected.json @@ -45,20 +45,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/plugin/tlb-package-expected.json b/tests/packagedcode/data/plugin/tlb-package-expected.json index c429b23c1e8..544ee1e1dcd 100644 --- a/tests/packagedcode/data/plugin/tlb-package-expected.json +++ b/tests/packagedcode/data/plugin/tlb-package-expected.json @@ -45,20 +45,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/plugin/winmd-package-expected.json b/tests/packagedcode/data/plugin/winmd-package-expected.json index dd729949003..c87bc88f96a 100644 --- a/tests/packagedcode/data/plugin/winmd-package-expected.json +++ b/tests/packagedcode/data/plugin/winmd-package-expected.json @@ -45,20 +45,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json b/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json index 7e4ed717d2f..6538e4c96d1 100644 --- a/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json +++ b/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json @@ -75,7 +75,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json b/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json index 7ecf52301bb..4e11cf188f6 100644 --- a/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json +++ b/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json @@ -73,7 +73,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json index 40d325131ed..3256e0215dd 100644 --- a/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json @@ -57,7 +57,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json index 4a6cd874416..24816226e34 100644 --- a/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json @@ -45,13 +45,13 @@ "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-54cabbf9e6e2ad452085853f06d62077e9d72ddb", + "rule_identifier": "package-manifest-unknown-623aa537047267a404620d70ae00f1448b424248", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-54cabbf9e6e2ad452085853f06d62077e9d72ddb", - "matched_text": "license {'license': 'LICENSE.txt'}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-623aa537047267a404620d70ae00f1448b424248", + "matched_text": "license license: LICENSE.txt" } ], - "identifier": "unknown-d5d1ef26-6d73-51c2-0bd1-6551bb2e6e9c" + "identifier": "unknown-083832d0-fb1a-f0bc-de38-c8d1cc1a3a8a" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json index 40d325131ed..3256e0215dd 100644 --- a/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json @@ -57,7 +57,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json index b5c2ca5bdd4..1dd108c21c2 100644 --- a/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json @@ -88,7 +88,7 @@ "rule_identifier": "pypi_python_software_foundation_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_python_software_foundation_license.RULE", - "matched_text": "['License :: OSI Approved :: Python Software Foundation License']" + "matched_text": "- 'License :: OSI Approved :: Python Software Foundation License'" } ], "identifier": "python-6e7ef500-c798-1a4b-7a70-b9728a882ea1" diff --git a/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json index 3b952192227..80c2791470c 100644 --- a/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json @@ -88,7 +88,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" diff --git a/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json index 3988286b7df..4ad8e7d9f76 100644 --- a/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json @@ -62,7 +62,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" diff --git a/tests/packagedcode/data/pypi/more_setup.py/flask_setup.py-expected.json b/tests/packagedcode/data/pypi/more_setup.py/flask_setup.py-expected.json index 5ebcaf50018..bb4563727a6 100644 --- a/tests/packagedcode/data/pypi/more_setup.py/flask_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/more_setup.py/flask_setup.py-expected.json @@ -91,7 +91,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/more_setup.py/pyyaml_setup.py-expected.json b/tests/packagedcode/data/pypi/more_setup.py/pyyaml_setup.py-expected.json index 341becee2c2..742bb22528f 100644 --- a/tests/packagedcode/data/pypi/more_setup.py/pyyaml_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/more_setup.py/pyyaml_setup.py-expected.json @@ -79,7 +79,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/more_setup.py/requests_setup.py-expected.json b/tests/packagedcode/data/pypi/more_setup.py/requests_setup.py-expected.json index 9ba2c934f3a..e0bff94b2a3 100644 --- a/tests/packagedcode/data/pypi/more_setup.py/requests_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/more_setup.py/requests_setup.py-expected.json @@ -54,7 +54,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" diff --git a/tests/packagedcode/data/pypi/more_setup.py/sqlalchemy_setup.py-expected.json b/tests/packagedcode/data/pypi/more_setup.py/sqlalchemy_setup.py-expected.json index f95b58e5d51..21764ea19fd 100644 --- a/tests/packagedcode/data/pypi/more_setup.py/sqlalchemy_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/more_setup.py/sqlalchemy_setup.py-expected.json @@ -76,7 +76,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/cdp-seattle-backend-1.0.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/cdp-seattle-backend-1.0.0/setup.py-expected.json index bee18a90a37..a71a9411f8c 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/cdp-seattle-backend-1.0.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/cdp-seattle-backend-1.0.0/setup.py-expected.json @@ -74,7 +74,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json index 9bfbdc2ca59..9d4fcf8096c 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json @@ -79,7 +79,7 @@ "rule_identifier": "pypi_mozilla_public_license_2_0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mozilla_public_license_2_0.RULE", - "matched_text": "['License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)']" + "matched_text": "- 'License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)'" } ], "identifier": "mpl_2_0-6c71f7a0-534a-b6f3-2bd5-7d6422217e0a" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/cffi-1.14.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/cffi-1.14.0/setup.py-expected.json index ef091df4d45..87c0f38d682 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/cffi-1.14.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/cffi-1.14.0/setup.py-expected.json @@ -80,7 +80,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json index 5d675cc5a97..7a969a2bc5d 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json @@ -92,7 +92,7 @@ "rule_identifier": "pypi_gnu_library_or_lesser_general_public_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_library_or_lesser_general_public_license.RULE", - "matched_text": "['License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)']" + "matched_text": "- 'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)'" } ], "identifier": "lgpl_2_0_plus-3b2c1a38-eae7-ec73-1ef5-c86a38ba040e" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/docutils-0.16/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/docutils-0.16/setup.py-expected.json index 2dcc16c681b..0d5d0787ea8 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/docutils-0.16/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/docutils-0.16/setup.py-expected.json @@ -117,12 +117,12 @@ "rule_identifier": "pypi_public_domain.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE", - "matched_text": "['License :: Public Domain', 'License :: OSI Approved :: Python Software Foundation License', 'License :: OSI Approved :: BSD License', 'License :: OSI Approved :: GNU General Public License (GPL)']" + "matched_text": "- 'License :: Public Domain'" }, { "score": 99.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", @@ -130,12 +130,12 @@ "rule_identifier": "pypi_python_software_foundation_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_python_software_foundation_license.RULE", - "matched_text": "['License :: Public Domain', 'License :: OSI Approved :: Python Software Foundation License', 'License :: OSI Approved :: BSD License', 'License :: OSI Approved :: GNU General Public License (GPL)']" + "matched_text": "- 'License :: OSI Approved :: Python Software Foundation License'" }, { "score": 99.0, - "start_line": 1, - "end_line": 1, + "start_line": 3, + "end_line": 3, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", @@ -143,12 +143,12 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: Public Domain', 'License :: OSI Approved :: Python Software Foundation License', 'License :: OSI Approved :: BSD License', 'License :: OSI Approved :: GNU General Public License (GPL)']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 4, + "end_line": 4, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", @@ -156,7 +156,7 @@ "rule_identifier": "pypi_gnu_general_public_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_general_public_license.RULE", - "matched_text": "['License :: Public Domain', 'License :: OSI Approved :: Python Software Foundation License', 'License :: OSI Approved :: BSD License', 'License :: OSI Approved :: GNU General Public License (GPL)']" + "matched_text": "- 'License :: OSI Approved :: GNU General Public License (GPL)'" } ], "identifier": "public_domain_and_python_and_bsd_new_and_gpl_1_0_plus-d42d20ce-2a05-56d2-6583-62ae92240491" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/idna-2.9/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/idna-2.9/setup.py-expected.json index 6b3092548f7..d9b031a2cd2 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/idna-2.9/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/idna-2.9/setup.py-expected.json @@ -86,7 +86,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json index 005ca7940f8..c9d048aae9f 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json @@ -97,7 +97,7 @@ "rule_identifier": "pypi_osi_approved.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_osi_approved.RULE", - "matched_text": "['License :: OSI Approved']" + "matched_text": "- 'License :: OSI Approved'" } ], "identifier": "free_unknown-e8fad921-e243-7cbb-bf61-2ac054636272" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json index fb8e8444f87..d97d3d83b19 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json @@ -87,7 +87,7 @@ "rule_identifier": "pypi_isc_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_isc_license.RULE", - "matched_text": "['License :: OSI Approved :: ISC License (ISCL)']" + "matched_text": "- 'License :: OSI Approved :: ISC License (ISCL)'" } ], "identifier": "isc-bfc709ed-b0f3-9d73-8265-40c95f813b22" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pip-22.0.4/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pip-22.0.4/setup.py-expected.json index 246491fdbd0..6b25152558a 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pip-22.0.4/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pip-22.0.4/setup.py-expected.json @@ -80,7 +80,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json index 8313257c048..92c8ba07171 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json @@ -82,7 +82,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json index c51587978d9..aa1a21e5f80 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json @@ -88,7 +88,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json index b2e0760088d..78de53878db 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json @@ -75,7 +75,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/requests-2.24.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/requests-2.24.0/setup.py-expected.json index 0c86c1de673..c8402beb798 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/requests-2.24.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/requests-2.24.0/setup.py-expected.json @@ -54,7 +54,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json index 08701f04808..9c774d3f344 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json @@ -74,7 +74,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json index 9ddcc0569a1..e0e95fd4b52 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json @@ -92,7 +92,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/bluepyopt_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/bluepyopt_setup.py-expected.json index c3b8b19456b..f8be2cb41f4 100644 --- a/tests/packagedcode/data/pypi/setup.py/bluepyopt_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/bluepyopt_setup.py-expected.json @@ -77,7 +77,7 @@ "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE", - "matched_text": "['License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)']" + "matched_text": "- 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)'" } ], "identifier": "lgpl_3_0-272571eb-5e68-95b6-ddb0-71de2d8df321" diff --git a/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json index fb64ab90e59..c165f6ee7ab 100644 --- a/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json @@ -82,7 +82,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json index 69f1a7f0b9b..8d85bd5e958 100644 --- a/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json @@ -81,7 +81,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" diff --git a/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json index dc4206a75f1..032f0f85c89 100644 --- a/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json @@ -78,7 +78,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json index 743f5410d95..e9ac569d2bc 100644 --- a/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json @@ -78,7 +78,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json index 7fcb89b9258..6064b78e254 100644 --- a/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json @@ -88,7 +88,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json index 2db75ce665f..81583c98610 100644 --- a/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json @@ -79,7 +79,7 @@ "rule_identifier": "pypi_osi_approved.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_osi_approved.RULE", - "matched_text": "['License :: OSI Approved :: GPLv3 License']" + "matched_text": "- 'License :: OSI Approved :: GPLv3 License'" }, { "score": 100.0, @@ -92,7 +92,7 @@ "rule_identifier": "gpl-3.0_90.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_90.RULE", - "matched_text": "['License :: OSI Approved :: GPLv3 License']" + "matched_text": "- 'License :: OSI Approved :: GPLv3 License'" } ], "identifier": "gpl_3_0-2214bc40-3c44-df82-f1cf-5f3180cebb36" diff --git a/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json index 077ec23061a..6441c0ab2e6 100644 --- a/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json @@ -82,7 +82,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json index cf3b2723f6f..9c56bc3e228 100644 --- a/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json @@ -77,7 +77,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/pygtrie_with_kwargs_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pygtrie_with_kwargs_setup.py-expected.json index 3eac5de44a5..04306643184 100644 --- a/tests/packagedcode/data/pypi/setup.py/pygtrie_with_kwargs_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pygtrie_with_kwargs_setup.py-expected.json @@ -79,7 +79,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" diff --git a/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json index 321f8e3e31a..bb005e5c132 100644 --- a/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json @@ -79,7 +79,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json index 213762955fc..b566194eb4e 100644 --- a/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json @@ -72,7 +72,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json index 8488128903d..acf12b3309c 100644 --- a/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json @@ -77,7 +77,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json index f39e0ce0cca..1af25fdbc16 100644 --- a/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json @@ -82,7 +82,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" diff --git a/tests/packagedcode/data/pypi/setup.py/simple-setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/simple-setup.py-expected.json index 71168b62d1b..1d90d220624 100644 --- a/tests/packagedcode/data/pypi/setup.py/simple-setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/simple-setup.py-expected.json @@ -91,7 +91,7 @@ "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License', 'License :: OSI Approved :: CC0']" + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } ], "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f" @@ -101,8 +101,8 @@ "matches": [ { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", @@ -110,7 +110,7 @@ "rule_identifier": "pypi_osi_approved.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_osi_approved.RULE", - "matched_text": "['License :: OSI Approved :: Apache Software License', 'License :: OSI Approved :: CC0']" + "matched_text": "- 'License :: OSI Approved :: CC0'" } ], "identifier": "free_unknown-e8fad921-e243-7cbb-bf61-2ac054636272" diff --git a/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json index 7d4502a41f6..fd0179301c4 100644 --- a/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json @@ -72,7 +72,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json index e5daf86143e..8da370b964c 100644 --- a/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json @@ -88,7 +88,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/whatsapp-play-setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/whatsapp-play-setup.py-expected.json index 2a9466cc9b3..7082f6dec6e 100644 --- a/tests/packagedcode/data/pypi/setup.py/whatsapp-play-setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/whatsapp-play-setup.py-expected.json @@ -87,7 +87,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json index b2edf52d5f2..d18d3c60ca7 100644 --- a/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json @@ -64,7 +64,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json index f3533539067..6c7964a3afe 100644 --- a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json +++ b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json @@ -157,7 +157,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" @@ -440,7 +440,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/solo-setup/expected.json b/tests/packagedcode/data/pypi/solo-setup/expected.json index 33298237f90..738db8e3d7d 100644 --- a/tests/packagedcode/data/pypi/solo-setup/expected.json +++ b/tests/packagedcode/data/pypi/solo-setup/expected.json @@ -81,7 +81,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json index fbae2ab7efc..4568299eeed 100644 --- a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json +++ b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json @@ -81,7 +81,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -233,7 +233,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -689,7 +689,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -826,7 +826,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-setup-expected.json b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-setup-expected.json index 52ccb301767..6c36cefee06 100644 --- a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-setup-expected.json +++ b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-setup-expected.json @@ -87,7 +87,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json index 40693f8bcdd..f2cf455c43d 100644 --- a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json +++ b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json @@ -81,7 +81,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -309,7 +309,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -976,7 +976,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -1164,7 +1164,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json index 40d325131ed..3256e0215dd 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json @@ -57,7 +57,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json index f693858f328..bf927b1f015 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json @@ -79,7 +79,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json index 22fb2902bd2..82b2dc073d1 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json @@ -74,7 +74,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json index f1c480d07ae..2e1b06c479d 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json @@ -84,7 +84,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" @@ -800,7 +800,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" @@ -926,7 +926,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/daglib_wheel_extracted-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/daglib_wheel_extracted-expected.json index e0fe3d0c3c6..52a474b1b75 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/daglib_wheel_extracted-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/daglib_wheel_extracted-expected.json @@ -72,7 +72,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -265,7 +265,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json index 60f19b9f0b0..b4f80968066 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json @@ -84,7 +84,7 @@ "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", - "matched_text": "['License :: OSI Approved :: BSD License']" + "matched_text": "- 'License :: OSI Approved :: BSD License'" } ], "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5" diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json index bd1781fcdeb..b23bf5d33da 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json @@ -57,7 +57,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json index 9ad704b0064..35a8506361b 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json @@ -84,7 +84,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json index e8611d5619c..057e566e209 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json @@ -85,7 +85,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json index ce4f9737355..05ef6fe1daf 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json @@ -76,7 +76,7 @@ "rule_identifier": "pypi_gnu_affero_general_public_license_v3_or_later.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_affero_general_public_license_v3_or_later.RULE", - "matched_text": "['License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)']" + "matched_text": "- 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)'" } ], "identifier": "agpl_3_0_plus-ecc0a5a6-21cf-0bd7-fa6f-a0b5ee8b3012" diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json index 464edc93c20..ea8806503b8 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json @@ -82,7 +82,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json index 856caf6b07f..6581c1140ff 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json @@ -74,7 +74,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json b/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json index ad5c6928f7f..a7bb31b5045 100644 --- a/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json @@ -38,20 +38,20 @@ "license_expression": "unknown", "matches": [ { - "score": 83.33, + "score": 75.0, "start_line": 1, - "end_line": 1, - "matched_length": 5, + "end_line": 3, + "matched_length": 3, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-679f097d28658555700ef170738adb0fd7151fce", + "rule_identifier": "package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-679f097d28658555700ef170738adb0fd7151fce", - "matched_text": "license {'LegalCopyright': None, 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", + "matched_text": "license LegalCopyright:\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-3a74427e-26a2-7b3f-eb84-9b610c013417" + "identifier": "unknown-d5e156bc-5560-c52a-28b9-d79ccb4407b2" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json b/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json index 6381ad6f8e1..3f8dce39874 100644 --- a/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json @@ -38,20 +38,20 @@ "license_expression": "unknown", "matches": [ { - "score": 83.33, + "score": 75.0, "start_line": 1, - "end_line": 1, - "matched_length": 5, + "end_line": 3, + "matched_length": 3, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-679f097d28658555700ef170738adb0fd7151fce", + "rule_identifier": "package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-679f097d28658555700ef170738adb0fd7151fce", - "matched_text": "license {'LegalCopyright': None, 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", + "matched_text": "license LegalCopyright:\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-3a74427e-26a2-7b3f-eb84-9b610c013417" + "identifier": "unknown-d5e156bc-5560-c52a-28b9-d79ccb4407b2" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json b/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json index 289eba3da2c..34b6fd1ed85 100644 --- a/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json +++ b/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json @@ -38,20 +38,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json b/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json index dd1613c91cd..ccb14a0a74e 100644 --- a/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json +++ b/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json @@ -30,20 +30,20 @@ "license_expression": "unknown", "matches": [ { - "score": 83.33, + "score": 75.0, "start_line": 1, - "end_line": 1, - "matched_length": 5, + "end_line": 3, + "matched_length": 3, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-679f097d28658555700ef170738adb0fd7151fce", + "rule_identifier": "package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-679f097d28658555700ef170738adb0fd7151fce", - "matched_text": "license {'LegalCopyright': None, 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", + "matched_text": "license LegalCopyright:\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-3a74427e-26a2-7b3f-eb84-9b610c013417" + "identifier": "unknown-d5e156bc-5560-c52a-28b9-d79ccb4407b2" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/win_pe/chcp.com.package-expected.json b/tests/packagedcode/data/win_pe/chcp.com.package-expected.json index a3d039f8f5a..fc58940f8b3 100644 --- a/tests/packagedcode/data/win_pe/chcp.com.package-expected.json +++ b/tests/packagedcode/data/win_pe/chcp.com.package-expected.json @@ -38,20 +38,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json b/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json index 052928c89b6..22eca18d571 100644 --- a/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json +++ b/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json @@ -38,20 +38,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json b/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json index 0801116c63c..55ddfcff862 100644 --- a/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json +++ b/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json @@ -38,20 +38,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json b/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json index dd1613c91cd..ccb14a0a74e 100644 --- a/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json +++ b/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json @@ -30,20 +30,20 @@ "license_expression": "unknown", "matches": [ { - "score": 83.33, + "score": 75.0, "start_line": 1, - "end_line": 1, - "matched_length": 5, + "end_line": 3, + "matched_length": 3, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-679f097d28658555700ef170738adb0fd7151fce", + "rule_identifier": "package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-679f097d28658555700ef170738adb0fd7151fce", - "matched_text": "license {'LegalCopyright': None, 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", + "matched_text": "license LegalCopyright:\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-3a74427e-26a2-7b3f-eb84-9b610c013417" + "identifier": "unknown-d5e156bc-5560-c52a-28b9-d79ccb4407b2" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json b/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json index f987330cc61..90c7e2696d4 100644 --- a/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json +++ b/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json @@ -38,20 +38,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json b/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json index c7fbab09173..141004ae02e 100644 --- a/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json +++ b/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json @@ -38,20 +38,20 @@ "license_expression": "unknown", "matches": [ { - "score": 90.0, + "score": 88.89, "start_line": 1, - "end_line": 1, - "matched_length": 9, + "end_line": 3, + "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-33f1f14c9c3aed427a1ebff42fd03640ebc75225", - "matched_text": "license {'LegalCopyright': '\u00a9 Microsoft Corporation. All rights reserved.', 'LegalTrademarks': '', 'License': None}" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", + "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } ], - "identifier": "unknown-7a4e31a4-3c62-cfda-29ff-b00424060fd7" + "identifier": "unknown-11be580c-3254-29b5-4813-8b152eefbe71" } ], "other_license_expression": null, diff --git a/tests/summarycode/data/classify/with_package_data.expected.json b/tests/summarycode/data/classify/with_package_data.expected.json index ff4595c7ac1..7a945b87a16 100644 --- a/tests/summarycode/data/classify/with_package_data.expected.json +++ b/tests/summarycode/data/classify/with_package_data.expected.json @@ -90,40 +90,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", - "matched_text": "Apache License, version 2.0" - } - ], - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache License, version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-efc1b129-3bcc-a9c0-71ea-964bc53d5512" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License, version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Apache License, version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?classifier=sources" @@ -680,40 +674,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", - "matched_text": "Apache License, version 2.0" - } - ], - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache License, version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-efc1b129-3bcc-a9c0-71ea-964bc53d5512" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License, version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Apache License, version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?classifier=sources" diff --git a/tests/summarycode/data/score/jar-expected.json b/tests/summarycode/data/score/jar-expected.json index cde97425600..bac8fa1fc3d 100644 --- a/tests/summarycode/data/score/jar-expected.json +++ b/tests/summarycode/data/score/jar-expected.json @@ -121,40 +121,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", - "matched_text": "Apache License, version 2.0" - } - ], - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache License, version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-efc1b129-3bcc-a9c0-71ea-964bc53d5512" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License, version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Apache License, version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?classifier=sources" @@ -313,17 +307,12 @@ "detection_count": 2 }, { - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518", - "license_expression": "apache-2.0", - "detection_count": 1 - }, - { - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce", + "identifier": "apache_2_0-4800df2e-4a56-bac0-cac1-9fd31da23344", "license_expression": "apache-2.0", "detection_count": 1 }, { - "identifier": "apache_2_0-4800df2e-4a56-bac0-cac1-9fd31da23344", + "identifier": "apache_2_0-efc1b129-3bcc-a9c0-71ea-964bc53d5512", "license_expression": "apache-2.0", "detection_count": 1 } @@ -848,40 +837,34 @@ "end_line": 1, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", - "matched_text": "Apache License, version 2.0" - } - ], - "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce" - }, - { - "license_expression": "apache-2.0", - "matches": [ + "matched_text": "- name: Apache License, version 2.0" + }, { "score": 100.0, - "start_line": 1, - "end_line": 1, + "start_line": 2, + "end_line": 2, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", - "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } ], - "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + "identifier": "apache_2_0-efc1b129-3bcc-a9c0-71ea-964bc53d5512" } ], "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Apache License, version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments:\n distribution: repo\n", + "extracted_license_statement": "- name: Apache License, version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n", "notice_text": null, "source_packages": [ "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final?classifier=sources" diff --git a/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json b/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json index 8a6df3995b6..b74c99bbd07 100644 --- a/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json +++ b/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json @@ -95,7 +95,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -352,7 +352,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" @@ -1041,7 +1041,7 @@ "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", - "matched_text": "['License :: OSI Approved :: MIT License']" + "matched_text": "- 'License :: OSI Approved :: MIT License'" } ], "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8" diff --git a/tests/summarycode/data/tallies/packages/expected.json b/tests/summarycode/data/tallies/packages/expected.json index 9348afb17aa..7ad26fe91fb 100644 --- a/tests/summarycode/data/tallies/packages/expected.json +++ b/tests/summarycode/data/tallies/packages/expected.json @@ -36,12 +36,12 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", - "matched_text": "Public Domain" + "matched_text": "- name: Public Domain" } ], "identifier": "public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77" @@ -50,7 +50,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Public Domain\n url:\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Public Domain\n", "notice_text": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" @@ -1150,12 +1150,12 @@ "end_line": 1, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", + "matcher": "2-aho", "license_expression": "public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", - "matched_text": "Public Domain" + "matched_text": "- name: Public Domain" } ], "identifier": "public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77" @@ -1164,7 +1164,7 @@ "other_license_expression": null, "other_license_expression_spdx": null, "other_license_detections": [], - "extracted_license_statement": "- name: Public Domain\n url:\n comments:\n distribution:\n", + "extracted_license_statement": "- name: Public Domain\n", "notice_text": null, "source_packages": [ "pkg:maven/aopalliance/aopalliance@1.0?classifier=sources" From f117a76cd48efdce1379caadac4da30fbf1e0f33 Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Tue, 11 Jul 2023 20:27:29 +0530 Subject: [PATCH 3/6] Fix maven package assembly Adds a fix for maven packacge assembly, combining MANIFEST.MF and pom.xml files into a single package, instead of multiple top level packages. Also fixes pom.properties file parsing. Signed-off-by: Ayan Sinha Mahapatra --- src/packagedcode/__init__.py | 5 +- src/packagedcode/jar_manifest.py | 99 +- src/packagedcode/maven.py | 187 +++- src/packagedcode/models.py | 97 +- src/packagedcode/npm.py | 2 +- .../johnzon-jsonb-1.2.11-expected.json | 949 ++++++++++++++++++ .../META-INF/DEPENDENCIES | 17 + .../johnzon-jsonb-1.2.11/META-INF/LICENSE | 4 + .../johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF | 20 + .../johnzon-jsonb-1.2.11/META-INF/NOTICE | 8 + .../johnzon-jsonb/pom.properties | 5 + .../org.apache.johnzon/johnzon-jsonb/pom.xml | 147 +++ .../jsonb/jaxrs/JsonbJaxrsProvider.class | Bin 0 -> 19611 bytes .../apache/johnzon/jsonb/JohnzonBuilder.class | Bin 0 -> 32670 bytes .../activiti-image-generator-expected.json | 51 +- tests/packagedcode/test_maven.py | 7 + .../classify/with_package_data.expected.json | 118 +-- .../summarycode/data/score/jar-expected.json | 137 +-- 18 files changed, 1585 insertions(+), 268 deletions(-) create mode 100644 tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json create mode 100644 tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/DEPENDENCIES create mode 100644 tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/LICENSE create mode 100644 tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF create mode 100644 tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/NOTICE create mode 100644 tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.properties create mode 100644 tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml create mode 100644 tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.class create mode 100644 tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/org/apache/johnzon/jsonb/JohnzonBuilder.class diff --git a/src/packagedcode/__init__.py b/src/packagedcode/__init__.py index c74b9bd29fc..729cec9211b 100644 --- a/src/packagedcode/__init__.py +++ b/src/packagedcode/__init__.py @@ -101,11 +101,10 @@ haxe.HaxelibJsonHandler, - jar_manifest.JavaJarManifestHandler, - jar_manifest.JavaOSGiManifestHandler, - maven.MavenPomXmlHandler, maven.MavenPomPropertiesHandler, + maven.JavaJarManifestHandler, + maven.JavaOSGiManifestHandler, misc.AndroidAppArchiveHandler, misc.AndroidLibraryHandler, diff --git a/src/packagedcode/jar_manifest.py b/src/packagedcode/jar_manifest.py index 1ccd16d4c48..b94061ab54b 100644 --- a/src/packagedcode/jar_manifest.py +++ b/src/packagedcode/jar_manifest.py @@ -9,8 +9,7 @@ import re -from packagedcode import models -from packagedcode.maven import parse_scm_connection +from packagedcode.utils import VCS_URLS from packagedcode.utils import normalize_vcs_url """ @@ -23,48 +22,6 @@ """ -class JavaJarManifestHandler(models.DatafileHandler): - datasource_id = 'java_jar_manifest' - path_patterns = ('*/META-INF/MANIFEST.MF',) - default_package_type = 'jar' - default_primary_language = 'Java' - description = 'Java JAR MANIFEST.MF' - documentation_url = 'https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html' - - @classmethod - def parse(cls, location): - sections = parse_manifest(location) - if sections: - main_section = sections[0] - manifest = get_normalized_java_manifest_data(main_section) - if manifest: - yield models.PackageData(**manifest,) - - @classmethod - def assign_package_to_resources(cls, package, resource, codebase, package_adder): - # we want to root of the jar, two levels up - parent = resource.parent(codebase) - if parent: - parent = resource.parent(codebase) - - if parent: - models.DatafileHandler.assign_package_to_resources( - package, - resource=parent, - codebase=codebase, - package_adder=package_adder, - ) - - -class JavaOSGiManifestHandler(JavaJarManifestHandler): - datasource_id = 'java_osgi_manifest' - # This is an empty tuple to avoid getting back two packages - # essentially this is the same as JavaJarManifestHandler - path_patterns = () - default_primary_language = 'Java' - description = 'Java OSGi MANIFEST.MF' - default_package_type = 'osgi' - def parse_manifest(location): """ @@ -258,13 +215,8 @@ def dget(s): else: name = i_title or am_nm or ext_nm or nm descriptions = [s_title, i_title, nm] - - if package_type == 'maven': - datasource_id = JavaJarManifestHandler.datasource_id - elif package_type == 'jar': - datasource_id = JavaJarManifestHandler.datasource_id - elif package_type == 'osgi': - datasource_id = JavaOSGiManifestHandler.datasource_id + + datasource_id =get_datasource_id(package_type=package_type) descriptions = unique(descriptions) descriptions = [d for d in descriptions if d and d.strip() and d != name] @@ -391,6 +343,51 @@ def dget(s): return package +def parse_scm_connection(scm_connection): + """ + Return an SPDX vcs_url given a Maven `scm_connection` string or the string + as-is if it cannot be parsed. + + See https://maven.apache.org/scm/scm-url-format.html + scm: + + scm:git:git://server_name[:port]/path_to_repository + scm:git:http://server_name[:port]/path_to_repository + scm:git:https://server_name[:port]/path_to_repository + scm:git:ssh://server_name[:port]/path_to_repository + scm:git:file://[hostname]/path_to_repository + """ + + delimiter = '|' if '|' in scm_connection else ':' + segments = scm_connection.split(delimiter, 2) + if not len(segments) == 3: + # we cannot parse this so we return it as is + return scm_connection + + _scm, scm_tool, vcs_url = segments + # TODO: vcs_tool is not yet supported + normalized = normalize_vcs_url(vcs_url, vcs_tool=scm_tool) + if normalized: + vcs_url = normalized + + if not vcs_url.startswith(VCS_URLS): + if not vcs_url.startswith(scm_tool): + vcs_url = '{scm_tool}+{vcs_url}'.format(**locals()) + + return vcs_url + + +def get_datasource_id(package_type): + from packagedcode.maven import JavaJarManifestHandler + from packagedcode.maven import JavaOSGiManifestHandler + + if package_type == 'maven': + return JavaJarManifestHandler.datasource_id + elif package_type == 'jar': + return JavaJarManifestHandler.datasource_id + elif package_type == 'osgi': + return JavaOSGiManifestHandler.datasource_id + def is_id(s): """ Return True if `s` is some kind of id. diff --git a/src/packagedcode/maven.py b/src/packagedcode/maven.py index 2dca5fd9a07..01dcc47a028 100644 --- a/src/packagedcode/maven.py +++ b/src/packagedcode/maven.py @@ -13,6 +13,7 @@ import javaproperties import lxml +from fnmatch import fnmatchcase from packageurl import PackageURL from pymaven import artifact from pymaven import pom @@ -20,8 +21,10 @@ from commoncode import fileutils from packagedcode import models +from packagedcode.jar_manifest import parse_scm_connection +from packagedcode.jar_manifest import parse_manifest +from packagedcode.jar_manifest import get_normalized_java_manifest_data from packagedcode.utils import normalize_vcs_url -from packagedcode.utils import VCS_URLS from textcode import analysis from typecode import contenttype @@ -52,10 +55,117 @@ there is no pom.properties check if there are side-by-side artifacts """ -# TODO: combine with jar_manifets.py +class MavenBasePackageHandler(models.DatafileHandler): + + @classmethod + def assemble(cls, package_data, resource, codebase, package_adder=models.add_to_package): + """ + """ + if codebase.has_single_resource: + yield from models.DatafileHandler.assemble(package_data, resource, codebase) + return + + datafile_path = resource.path + + # This order is important as we want pom.xml to be used for package + # creation and then to update from MANIFEST later + manifest_path_pattern = '*/META-INF/MANIFEST.MF' + nested_pom_xml_path_pattern = '*/META-INF/maven/**/pom.xml' + datafile_name_patterns = (nested_pom_xml_path_pattern, manifest_path_pattern) + + is_manifest = fnmatchcase(datafile_path, manifest_path_pattern) + is_pom_xml = fnmatchcase(datafile_path, nested_pom_xml_path_pattern) + if is_manifest: + meta_inf_resource = resource.parent(codebase) + elif is_pom_xml: + upward_segments = 4 + root = resource + for _ in range(upward_segments): + root = root.parent(codebase) + meta_inf_resource = root + else: + yield from MavenPomXmlHandlerMixin.assemble(package_data, resource, codebase) + return + + pom_xmls = [] + manifests = [] + for r in meta_inf_resource.walk(codebase): + if fnmatchcase(r.path, manifest_path_pattern): + manifests.append(r) + if fnmatchcase(r.path, nested_pom_xml_path_pattern): + pom_xmls.append(r) + + if len(pom_xmls) > 1: + yield from MavenPomXmlHandlerMixin.assemble(package_data, resource, codebase) + return + + if manifests and pom_xmls: + #raise Exception(resource.path, meta_inf_resource, datafile_name_patterns, package_adder) + parent_resource = meta_inf_resource.parent(codebase) + if not parent_resource: + parent_resource = meta_inf_resource + yield from cls.assemble_from_many_datafiles_in_directory( + datafile_name_patterns=datafile_name_patterns, + directory=meta_inf_resource, + codebase=codebase, + package_adder=package_adder, + ignore_name_check=True, + parent_resource=parent_resource, + ) + elif manifests and not pom_xmls: + yield from JavaJarManifestHandlerMixin.assemble(package_data, resource, codebase) + elif pom_xmls and not manifests: + yield from MavenPomXmlHandlerMixin.assemble(package_data, resource, codebase) + else: + yield from models.DatafileHandler.assemble(package_data, resource, codebase) -class MavenPomXmlHandler(models.DatafileHandler): +class JavaJarManifestHandler(MavenBasePackageHandler): + datasource_id = 'java_jar_manifest' + path_patterns = ('*/META-INF/MANIFEST.MF',) + default_package_type = 'jar' + default_primary_language = 'Java' + description = 'Java JAR MANIFEST.MF' + documentation_url = 'https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html' + + @classmethod + def parse(cls, location): + sections = parse_manifest(location) + if sections: + main_section = sections[0] + manifest = get_normalized_java_manifest_data(main_section) + if manifest: + yield models.PackageData(**manifest,) + + +class JavaJarManifestHandlerMixin(models.DatafileHandler): + + @classmethod + def assign_package_to_resources(cls, package, resource, codebase, package_adder): + # we want to root of the jar, two levels up + parent = resource.parent(codebase) + if parent: + parent = resource.parent(codebase) + if parent: + models.DatafileHandler.assign_package_to_resources( + package, + resource=parent, + codebase=codebase, + package_adder=package_adder, + ) + + +class JavaOSGiManifestHandler(JavaJarManifestHandler): + datasource_id = 'java_osgi_manifest' + # This is an empty tuple to avoid getting back two packages + # essentially this is the same as JavaJarManifestHandler + path_patterns = () + default_primary_language = 'Java' + description = 'Java OSGi MANIFEST.MF' + default_package_type = 'osgi' + + +class MavenPomXmlHandler(MavenBasePackageHandler): datasource_id = 'maven_pom' # NOTE: Maven 1.x used project.xml path_patterns = ('*.pom', '*pom.xml',) @@ -64,8 +174,6 @@ class MavenPomXmlHandler(models.DatafileHandler): description = 'Apache Maven pom' documentation_url = 'https://maven.apache.org/pom.html' - # TODO: implment more sophistcaed assembly with META-INF/MANIFEST.MF and META-INF/LICENSE - @classmethod def is_datafile(cls, location, filetypes=tuple()): """ @@ -106,6 +214,23 @@ def parse(cls, location, base_url='https://repo1.maven.org/maven2'): if package_data: yield package_data + @classmethod + def get_top_level_resources(cls, manifest_resource, codebase): + """ + Yield Resources that are top-level based on a JAR's directory structure + """ + if 'META-INF' in manifest_resource.path: + path_segments = manifest_resource.path.split('META-INF') + leading_segment = path_segments[0].strip() + meta_inf_dir_path = f'{leading_segment}/META-INF' + meta_inf_resource = codebase.get_resource(meta_inf_dir_path) + if meta_inf_resource: + yield meta_inf_resource + yield from meta_inf_resource.walk(codebase) + + +class MavenPomXmlHandlerMixin(models.DatafileHandler): + @classmethod def assign_package_to_resources(cls, package, resource, codebase, package_adder): """ @@ -164,20 +289,6 @@ def assign_package_to_resources(cls, package, resource, codebase, package_adder) package_adder=package_adder ) - @classmethod - def get_top_level_resources(cls, manifest_resource, codebase): - """ - Yield Resources that are top-level based on a JAR's directory structure - """ - if 'META-INF' in manifest_resource.path: - path_segments = manifest_resource.path.split('META-INF') - leading_segment = path_segments[0].strip() - meta_inf_dir_path = f'{leading_segment}/META-INF' - meta_inf_resource = codebase.get_resource(meta_inf_dir_path) - if meta_inf_resource: - yield meta_inf_resource - yield from meta_inf_resource.walk(codebase) - # TODO: assemble with its pom!! class MavenPomPropertiesHandler(models.NonAssemblableDatafileHandler): @@ -201,8 +312,8 @@ def parse(cls, location): if properties: yield models.PackageData( datasource_id=cls.datasource_id, - type=cls.package_type, - primary_language=cls.primary_language, + type=cls.default_package_type, + primary_language=cls.default_primary_language, extra_data=dict(pom_properties=properties) ) @@ -1267,40 +1378,6 @@ def build_vcs_and_code_view_urls(scm): return dict(vcs_url=vcs_url, code_view_url=code_view_url,) -def parse_scm_connection(scm_connection): - """ - Return an SPDX vcs_url given a Maven `scm_connection` string or the string - as-is if it cannot be parsed. - - See https://maven.apache.org/scm/scm-url-format.html - scm: - - scm:git:git://server_name[:port]/path_to_repository - scm:git:http://server_name[:port]/path_to_repository - scm:git:https://server_name[:port]/path_to_repository - scm:git:ssh://server_name[:port]/path_to_repository - scm:git:file://[hostname]/path_to_repository - """ - - delimiter = '|' if '|' in scm_connection else ':' - segments = scm_connection.split(delimiter, 2) - if not len(segments) == 3: - # we cannot parse this so we return it as is - return scm_connection - - _scm, scm_tool, vcs_url = segments - # TODO: vcs_tool is not yet supported - normalized = normalize_vcs_url(vcs_url, vcs_tool=scm_tool) - if normalized: - vcs_url = normalized - - if not vcs_url.startswith(VCS_URLS): - if not vcs_url.startswith(scm_tool): - vcs_url = '{scm_tool}+{vcs_url}'.format(**locals()) - - return vcs_url - - def get_extension(packaging): """ We only care for certain artifacts extension/packaging/classifier. diff --git a/src/packagedcode/models.py b/src/packagedcode/models.py index 3c764f6f9df..1e304dc7e08 100644 --- a/src/packagedcode/models.py +++ b/src/packagedcode/models.py @@ -1121,7 +1121,14 @@ def assign_package_to_parent_tree(cls, package, resource, codebase, package_adde cls.assign_package_to_resources(package, resource, codebase, package_adder) @classmethod - def assemble_from_many(cls, pkgdata_resources, codebase, package_adder=add_to_package): + def assemble_from_many( + cls, + pkgdata_resources, + codebase, + package_adder=add_to_package, + ignore_name_check=False, + parent_resource=None, + ): """ Yield Package, Resources or Dependency given a ``pkgdata_resources`` list of tuple (PackageData, Resource) in ``codebase``. @@ -1148,6 +1155,8 @@ def assemble_from_many(cls, pkgdata_resources, codebase, package_adder=add_to_pa package = None package_uid = None base_resource = None + if parent_resource: + base_resource = parent_resource # process each package in sequence. The first item creates a package and # the other only update @@ -1176,6 +1185,7 @@ def assemble_from_many(cls, pkgdata_resources, codebase, package_adder=add_to_pa package.update( package_data=package_data, datafile_path=resource.path, + ignore_name_check=ignore_name_check, ) if package_uid: @@ -1215,6 +1225,9 @@ def assemble_from_many(cls, pkgdata_resources, codebase, package_adder=add_to_pa for res in base_resource.walk(codebase): package_adder(package_uid, res, codebase) yield res + if parent_resource: + package_adder(package_uid, parent_resource, codebase) + yield parent_resource @classmethod def assemble_from_many_datafiles( @@ -1265,11 +1278,74 @@ def assemble_from_many_datafiles( if pkgdata_resources: if TRACE: logger_debug(f' assemble_from_many_datafiles: pkgdata_resources: {pkgdata_resources!r}') + yield from cls.assemble_from_many( + pkgdata_resources=pkgdata_resources, + codebase=codebase, + package_adder=package_adder, + ) + + @classmethod + def assemble_from_many_datafiles_in_directory( + cls, + datafile_name_patterns, + directory, + codebase, + package_adder=add_to_package, + ignore_name_check=False, + parent_resource=None, + ): + """ + Assemble Package and Dependency from package data of the datafiles found + in multiple ``datafile_name_patterns`` name patterns (case- sensitive) + found in the ``directory`` Resource among it's children and descendants. + + Create a Package from the first package data item. Update this package + with other items. Assign to this Package the file tree from the parent + of the first resource item. + + Because of this, set the order of ``datafile_name_patterns`` items carefully. + This is a convenience method that subclasses can reuse when overriding + `assemble()` + + NOTE: ATTENTION!: this will not work well for datafile that yields + multiple PackageData for unrelated Packages. + """ + if TRACE: + logger_debug(f'assemble_from_many_datafiles: datafile_name_patterns: {datafile_name_patterns!r}') + + if not codebase.has_single_resource: + resources = [ + resource + for resource in directory.walk(codebase) + if resource.is_file + ] + else: + if resources: + resources = [directory] + else: + resources = [] + + pkgdata_resources = [] + + # we iterate on datafile_name_patterns because their order matters + for datafile_name_pattern in datafile_name_patterns: + for resource in resources: + if fnmatchcase(resource.path, datafile_name_pattern): + for package_data in resource.package_data: + package_data = PackageData.from_dict(package_data) + pkgdata_resources.append((package_data, resource,)) + + #raise Exception(pkgdata_resources) + if pkgdata_resources: + if TRACE: + logger_debug(f' assemble_from_many_datafiles: pkgdata_resources: {pkgdata_resources!r}') yield from cls.assemble_from_many( pkgdata_resources=pkgdata_resources, codebase=codebase, package_adder=package_adder, + ignore_name_check=ignore_name_check, + parent_resource=parent_resource, ) @classmethod @@ -1460,6 +1536,7 @@ def update( include_version=True, include_qualifiers=False, include_subpath=False, + ignore_name_check=False, ): """ Update this Package with data from the ``package_data`` PackageData. @@ -1492,6 +1569,7 @@ def update( include_version=include_version, include_qualifiers=include_qualifiers, include_subpath=include_subpath, + ignore_name_check=ignore_name_check, ): if TRACE_UPDATE: logger_debug(f'update: skipping: {self.purl} is not compatible with: {package_data.purl}') @@ -1562,6 +1640,7 @@ def is_compatible( include_version=True, include_qualifiers=True, include_subpath=True, + ignore_name_check=False, ): """ Return True if the ``purl1`` PackageURL-like object is compatible with @@ -1589,11 +1668,17 @@ def is_compatible( >>> is_compatible(p1, p5, include_subpath=False) True """ - is_compatible = ( - purl1.type == purl2.type - and purl1.namespace == purl2.namespace - and purl1.name == purl2.name - ) + if ignore_name_check: + is_compatible = ( + purl1.type == purl2.type + and purl1.namespace == purl2.namespace + ) + else: + is_compatible = ( + purl1.type == purl2.type + and purl1.namespace == purl2.namespace + and purl1.name == purl2.name + ) if include_version: is_compatible = is_compatible and (purl1.version == purl2.version) diff --git a/src/packagedcode/npm.py b/src/packagedcode/npm.py index d6e34c0e406..6059850448e 100644 --- a/src/packagedcode/npm.py +++ b/src/packagedcode/npm.py @@ -70,7 +70,7 @@ def assemble(cls, package_data, resource, codebase, package_adder): to create and yield the package, the package dependencies, and the package resources. - When reporting the resources of a package, we alk the codebase, skipping + When reporting the resources of a package, we walk the codebase, skipping the node_modules directory, assign resources to the package and yield resources. diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json new file mode 100644 index 00000000000..05ae92f6d09 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json @@ -0,0 +1,949 @@ +{ + "packages": [ + { + "type": "maven", + "namespace": "org.apache.johnzon", + "name": "johnzon-jsonb", + "version": "1.2.11", + "qualifiers": {}, + "subpath": null, + "primary_language": "Java", + "description": "Johnzon :: JSON-B Implementation", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0", + "declared_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 3, + "end_line": 18, + "matched_length": 119, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_2.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" + } + ], + "detection_log": [ + "from-package-file" + ], + "identifier": "apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?classifier=sources" + ], + "extra_data": {}, + "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/johnzon/johnzon-jsonb/1.2.11/", + "repository_download_url": "https://repo1.maven.org/maven2/org/apache/johnzon/johnzon-jsonb/1.2.11/johnzon-jsonb-1.2.11.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/apache/johnzon/johnzon-jsonb/1.2.11/johnzon-jsonb-1.2.11.pom", + "package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml" + ], + "datasource_ids": [ + "maven_pom" + ], + "purl": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11" + } + ], + "dependencies": [ + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-annotation_1.3_spec@1.1", + "extracted_requirement": "1.1", + "scope": "provided", + "is_runtime": true, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.geronimo.specs/geronimo-annotation_1.3_spec@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-jaxrs_2.1_spec@1.1", + "extracted_requirement": "1.1", + "scope": "provided", + "is_runtime": true, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.geronimo.specs/geronimo-jaxrs_2.1_spec@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-jcdi_2.0_spec@1.1", + "extracted_requirement": "1.1", + "scope": "provided", + "is_runtime": true, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.geronimo.specs/geronimo-jcdi_2.0_spec@1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-jsonb_1.0_spec", + "extracted_requirement": null, + "scope": "provided", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.geronimo.specs/geronimo-jsonb_1.0_spec?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.johnzon/johnzon-mapper@1.2.11", + "extracted_requirement": "1.2.11", + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.johnzon/johnzon-mapper@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.cxf/cxf-rt-rs-client", + "extracted_requirement": "${cxf.version}", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.cxf/cxf-rt-rs-client?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.cxf/cxf-rt-frontend-jaxrs", + "extracted_requirement": "${cxf.version}", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.cxf/cxf-rt-frontend-jaxrs?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.cxf/cxf-rt-transports-local", + "extracted_requirement": "${cxf.version}", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.cxf/cxf-rt-transports-local?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-interceptor_1.2_spec@1.0", + "extracted_requirement": "1.0", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.geronimo.specs/geronimo-interceptor_1.2_spec@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-atinject_1.0_spec@1.0", + "extracted_requirement": "1.0", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.geronimo.specs/geronimo-atinject_1.0_spec@1.0?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + }, + { + "purl": "pkg:maven/org.apache.openwebbeans/openwebbeans-impl", + "extracted_requirement": "${owb.version}", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:maven/org.apache.openwebbeans/openwebbeans-impl?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "datasource_id": "maven_pom" + } + ], + "license_detections": [ + { + "identifier": "apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de", + "license_expression": "apache-2.0", + "detection_count": 2, + "detection_log": [ + "from-package-file" + ] + }, + { + "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518", + "license_expression": "apache-2.0", + "detection_count": 1, + "detection_log": [] + }, + { + "identifier": "apache_2_0-482220ca-c07b-bf59-66ed-6e7eaf9f3b1e", + "license_expression": "apache-2.0", + "detection_count": 1, + "detection_log": [] + }, + { + "identifier": "apache_2_0-8352cbe6-d199-3a43-cdc8-b14a837e2ce6", + "license_expression": "apache-2.0", + "detection_count": 1, + "detection_log": [] + }, + { + "identifier": "apache_2_0-aef5c472-cdfd-dc5f-c152-40e3d96f140e", + "license_expression": "apache-2.0", + "detection_count": 1, + "detection_log": [] + }, + { + "identifier": "apache_2_0-f089be2e-5d2c-9289-8733-3880be15665c", + "license_expression": "apache-2.0", + "detection_count": 1, + "detection_log": [] + } + ], + "files": [ + { + "path": "johnzon-jsonb-1.2.11", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF/DEPENDENCIES", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 64.18, + "start_line": 9, + "end_line": 13, + "matched_length": 43, + "match_coverage": 100.0, + "matcher": "3-seq", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_1247.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1247.RULE" + } + ], + "detection_log": [], + "identifier": "apache_2_0-f089be2e-5d2c-9289-8733-3880be15665c" + } + ], + "license_clues": [], + "percentage_of_license_text": 45.74, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF/LICENSE", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 2, + "end_line": 4, + "matched_length": 12, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_791.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_791.RULE" + } + ], + "detection_log": [], + "identifier": "apache_2_0-aef5c472-cdfd-dc5f-c152-40e3d96f140e" + } + ], + "license_clues": [], + "percentage_of_license_text": 100.0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF", + "type": "file", + "package_data": [ + { + "type": "jar", + "namespace": "org.apache.johnzon", + "name": "Johnzon :: JSON-B Implementation", + "version": "1.2.11", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "Apache Johnzon is an implementation of JSR-353 (JavaTM API for JSON Processing).", + "release_date": null, + "parties": [ + { + "role": "vendor", + "name": "The Apache Software Foundation" + } + ], + "keywords": [], + "homepage_url": "http://johnzon.apache.org/johnzon-jsonb", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0", + "declared_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 1, + "matched_length": 9, + "match_coverage": 100.0, + "matcher": "1-hash", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_42.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", + "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" + } + ], + "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": "http://www.apache.org/licenses/LICENSE-2.0.txt", + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "java_jar_manifest", + "purl": "pkg:jar/org.apache.johnzon/Johnzon%20::%20JSON-B%20Implementation@1.2.11" + } + ], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 6, + "end_line": 6, + "matched_length": 11, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_osgi.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_osgi.RULE" + } + ], + "detection_log": [], + "identifier": "apache_2_0-8352cbe6-d199-3a43-cdc8-b14a837e2ce6" + } + ], + "license_clues": [], + "percentage_of_license_text": 9.48, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF/NOTICE", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 95.0, + "start_line": 5, + "end_line": 6, + "matched_length": 14, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_product_includes_2.RULE", + "rule_relevance": 95, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_product_includes_2.RULE" + } + ], + "detection_log": [], + "identifier": "apache_2_0-482220ca-c07b-bf59-66ed-6e7eaf9f3b1e" + } + ], + "license_clues": [], + "percentage_of_license_text": 56.0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF/maven", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.properties", + "type": "file", + "package_data": [ + { + "type": "maven", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Java", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": null, + "declared_license_expression_spdx": null, + "license_detections": [], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": { + "pom_properties": { + "groupId": "org.apache.johnzon", + "artifactId": "johnzon-jsonb", + "version": "1.2.11" + } + }, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "maven_pom_properties", + "purl": null + } + ], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "type": "file", + "package_data": [ + { + "type": "maven", + "namespace": "org.apache.johnzon", + "name": "johnzon-jsonb", + "version": "1.2.11", + "qualifiers": {}, + "subpath": null, + "primary_language": "Java", + "description": "Johnzon :: JSON-B Implementation", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0", + "declared_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 3, + "end_line": 18, + "matched_length": 119, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_2.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" + } + ], + "detection_log": [ + "from-package-file" + ], + "identifier": "apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?classifier=sources" + ], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-annotation_1.3_spec@1.1", + "extracted_requirement": "1.1", + "scope": "provided", + "is_runtime": true, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-jaxrs_2.1_spec@1.1", + "extracted_requirement": "1.1", + "scope": "provided", + "is_runtime": true, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-jcdi_2.0_spec@1.1", + "extracted_requirement": "1.1", + "scope": "provided", + "is_runtime": true, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-jsonb_1.0_spec", + "extracted_requirement": null, + "scope": "provided", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.johnzon/johnzon-mapper@1.2.11", + "extracted_requirement": "1.2.11", + "scope": "compile", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.cxf/cxf-rt-rs-client", + "extracted_requirement": "${cxf.version}", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.cxf/cxf-rt-frontend-jaxrs", + "extracted_requirement": "${cxf.version}", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.cxf/cxf-rt-transports-local", + "extracted_requirement": "${cxf.version}", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-interceptor_1.2_spec@1.0", + "extracted_requirement": "1.0", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.geronimo.specs/geronimo-atinject_1.0_spec@1.0", + "extracted_requirement": "1.0", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": true, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:maven/org.apache.openwebbeans/openwebbeans-impl", + "extracted_requirement": "${owb.version}", + "scope": "test", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://repo1.maven.org/maven2/org/apache/johnzon/johnzon-jsonb/1.2.11/", + "repository_download_url": "https://repo1.maven.org/maven2/org/apache/johnzon/johnzon-jsonb/1.2.11/johnzon-jsonb-1.2.11.jar", + "api_data_url": "https://repo1.maven.org/maven2/org/apache/johnzon/johnzon-jsonb/1.2.11/johnzon-jsonb-1.2.11.pom", + "datasource_id": "maven_pom", + "purl": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11" + } + ], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 3, + "end_line": 18, + "matched_length": 119, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_2.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" + } + ], + "detection_log": [ + "from-package-file" + ], + "identifier": "apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de" + } + ], + "license_clues": [], + "percentage_of_license_text": 22.08, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/org", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/org/apache", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/org/apache/johnzon", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/org/apache/johnzon/jaxrs", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/org/apache/johnzon/jaxrs/jsonb", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/org/apache/johnzon/jaxrs/jsonb/jaxrs", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.class", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/org/apache/johnzon/jsonb", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "johnzon-jsonb-1.2.11/org/apache/johnzon/jsonb/JohnzonBuilder.class", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/DEPENDENCIES b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/DEPENDENCIES new file mode 100644 index 00000000000..07359ac285b --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/DEPENDENCIES @@ -0,0 +1,17 @@ +// ------------------------------------------------------------------ +// Transitive dependencies of this project determined from the +// maven pom organized by organization. +// ------------------------------------------------------------------ + +Johnzon :: JSON-B Implementation + + +From: 'The Apache Software Foundation' (https://www.apache.org/) + - Johnzon :: Core (http://johnzon.apache.org/johnzon-core) org.apache.johnzon:johnzon-core:bundle:1.2.11 + License: The Apache Software License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt) + - Johnzon :: Mapper (http://johnzon.apache.org/johnzon-mapper) org.apache.johnzon:johnzon-mapper:bundle:1.2.11 + License: The Apache Software License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt) + + + + diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/LICENSE b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/LICENSE new file mode 100644 index 00000000000..f6d12db74dc --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/LICENSE @@ -0,0 +1,4 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..ea4ad60c78b --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Build-Jdk: 11.0.10 +Bundle-Description: Apache Johnzon is an implementation of JSR-353 (Ja + vaTM API for JSON Processing). +Bundle-DocURL: http://johnzon.apache.org/ +Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt +Bundle-ManifestVersion: 2 +Bundle-Name: Johnzon :: JSON-B Implementation +Bundle-SymbolicName: org.apache.johnzon.jsonb +Bundle-Vendor: The Apache Software Foundation +Bundle-Version: 1.2.11 +Implementation-Title: Johnzon :: JSON-B Implementation +Implementation-URL: http://johnzon.apache.org/johnzon-jsonb +Implementation-Vendor: The Apache Software Foundation +Implementation-Vendor-Id: org.apache.johnzon +Implementation-Version: 1.2.11 +Specification-Title: Johnzon :: JSON-B Implementation +Specification-Vendor: The Apache Software Foundation +Specification-Version: 1.2.11 + diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/NOTICE b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/NOTICE new file mode 100644 index 00000000000..50e9c5a9644 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/NOTICE @@ -0,0 +1,8 @@ + +Johnzon :: JSON-B Implementation +Copyright 2014-2021 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + + diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.properties b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.properties new file mode 100644 index 00000000000..8da6b0dfa80 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.properties @@ -0,0 +1,5 @@ +#Generated by org.apache.felix.bundleplugin +#Mon Apr 26 09:25:28 CEST 2021 +groupId=org.apache.johnzon +artifactId=johnzon-jsonb +version=1.2.11 \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml new file mode 100644 index 00000000000..e92773fd04f --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml @@ -0,0 +1,147 @@ + + + + + johnzon + org.apache.johnzon + 1.2.11 + + 4.0.0 + + johnzon-jsonb + Johnzon :: JSON-B Implementation + bundle + + + ${project.parent.reporting.outputDirectory} + + + + + org.apache.geronimo.specs + geronimo-annotation_1.3_spec + 1.1 + provided + true + + + org.apache.geronimo.specs + geronimo-jaxrs_2.1_spec + 1.1 + provided + true + + + org.apache.geronimo.specs + geronimo-jcdi_2.0_spec + 1.1 + provided + true + + + org.apache.geronimo.specs + geronimo-jsonb_1.0_spec + provided + + + + org.apache.johnzon + johnzon-mapper + ${project.version} + + + + org.apache.cxf + cxf-rt-rs-client + ${cxf.version} + test + + + org.apache.cxf + cxf-rt-frontend-jaxrs + ${cxf.version} + test + + + org.apache.cxf + cxf-rt-transports-local + ${cxf.version} + test + + + org.apache.geronimo.specs + geronimo-interceptor_1.2_spec + 1.0 + test + + + org.apache.geronimo.specs + geronimo-atinject_1.0_spec + 1.0 + test + + + org.apache.openwebbeans + openwebbeans-impl + ${owb.version} + test + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.2 + + + org.apache.felix + maven-bundle-plugin + + + + javax.ws.rs.*;resolution:=optional, + * + + + osgi.extender;filter:="(osgi.extender=osgi.serviceloader.registrar)" + + <_contract> + JavaAnnotation, + !JavaCDI, + !JavaJAXRS, + JavaJSONB, + JavaJSONP + + osgi.serviceloader;osgi.serviceloader=javax.json.bind.spi.JsonbProvider + + + + + biz.aQute.bnd + biz.aQute.bndlib + 4.3.1 + + + + + + diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.class b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..5872af461328c141db7d8f53cd20829079775d64 GIT binary patch literal 19611 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 Date: Tue, 11 Jul 2023 21:18:25 +0530 Subject: [PATCH 4/6] Refactor and address feedback Signed-off-by: Ayan Sinha Mahapatra --- src/packagedcode/__init__.py | 7 +----- src/packagedcode/jar_manifest.py | 22 ++++++++++++++----- src/packagedcode/licensing.py | 4 ++-- src/packagedcode/maven.py | 9 +++++--- .../johnzon-jsonb-1.2.11-expected.json | 4 +++- .../manifest/10/MANIFEST.MF.package-data.json | 5 ++++- .../manifest/24/MANIFEST.MF.package-data.json | 5 ++++- .../manifest/4/MANIFEST.MF.package-data.json | 5 ++++- .../manifest/5/MANIFEST.MF.package-data.json | 5 ++++- .../manifest/7/MANIFEST.MF.package-data.json | 5 ++++- .../manifest/8/MANIFEST.MF.package-data.json | 5 ++++- 11 files changed, 53 insertions(+), 23 deletions(-) diff --git a/src/packagedcode/__init__.py b/src/packagedcode/__init__.py index 729cec9211b..0887a1859da 100644 --- a/src/packagedcode/__init__.py +++ b/src/packagedcode/__init__.py @@ -254,11 +254,6 @@ def get_package_handler(package_data): return ppc -PACKAGE_DATA_CLASS_WITH_CUSTOM_LICENSE_DETECTION = [ - maven.MavenPackageData -] - PACKAGE_DATA_CLASS_BY_DATASOURCE_ID = { - package_data_class.datasource_id: package_data_class - for package_data_class in PACKAGE_DATA_CLASS_WITH_CUSTOM_LICENSE_DETECTION + maven.MavenPackageData.datasource_id: maven.MavenPackageData } diff --git a/src/packagedcode/jar_manifest.py b/src/packagedcode/jar_manifest.py index b94061ab54b..adc2a6882f7 100644 --- a/src/packagedcode/jar_manifest.py +++ b/src/packagedcode/jar_manifest.py @@ -248,7 +248,7 @@ def dget(s): package['homepage_url'] = dget('Implementation-URL') or dget('Implementation-Url') # Bundle-DocURL: http://logging.apache.org/log4j/1.2 - #package['documentation_url'] = dget('Bundle-DocURL') + doc_url = dget('Bundle-DocURL') # vendor/owner/contact ######################### @@ -339,7 +339,15 @@ def dget(s): # Deps: # Require-Bundle - #package['notes'] = dget('Comment') + comment = dget('Comment') + + if comment or doc_url: + package["extra_data"] = {} + if comment: + package["extra_data"]['notes'] = comment + if doc_url: + package["extra_data"]['documentation_url'] = doc_url + return package @@ -378,16 +386,20 @@ def parse_scm_connection(scm_connection): def get_datasource_id(package_type): + """ + Get the corresponding `datasource_id` for the given + `package_type`. This is a seperate function to avoid + cyclic imports. + """ from packagedcode.maven import JavaJarManifestHandler from packagedcode.maven import JavaOSGiManifestHandler - if package_type == 'maven': - return JavaJarManifestHandler.datasource_id - elif package_type == 'jar': + if package_type in ['maven', 'jar']: return JavaJarManifestHandler.datasource_id elif package_type == 'osgi': return JavaOSGiManifestHandler.datasource_id + def is_id(s): """ Return True if `s` is some kind of id. diff --git a/src/packagedcode/licensing.py b/src/packagedcode/licensing.py index 857fc7e1dd9..daa53483a25 100644 --- a/src/packagedcode/licensing.py +++ b/src/packagedcode/licensing.py @@ -775,8 +775,8 @@ def get_license_detections_and_expression( if not extracted_license_statement: return detection_data, license_expression - if datasource_id in PACKAGE_DATA_CLASS_BY_DATASOURCE_ID: - package_data_class = PACKAGE_DATA_CLASS_BY_DATASOURCE_ID.get(datasource_id, None) + package_data_class = PACKAGE_DATA_CLASS_BY_DATASOURCE_ID.get(datasource_id) + if package_data_class: license_detections = package_data_class.get_license_detections_for_extracted_license_statement( extracted_license=extracted_license_statement, try_as_expression=try_as_expression, diff --git a/src/packagedcode/maven.py b/src/packagedcode/maven.py index 01dcc47a028..f9ab04c0141 100644 --- a/src/packagedcode/maven.py +++ b/src/packagedcode/maven.py @@ -60,6 +60,9 @@ class MavenBasePackageHandler(models.DatafileHandler): @classmethod def assemble(cls, package_data, resource, codebase, package_adder=models.add_to_package): """ + Assembles from codebases where both a pom.xml and a MANIFEST.MF is present, + otherwise uses the default assemble function and `assign_package_to_resources` + function from respective DatafileHandlers. """ if codebase.has_single_resource: yield from models.DatafileHandler.assemble(package_data, resource, codebase) @@ -1308,11 +1311,11 @@ def get_license_detections_for_extracted_license_statement( for license_entry in new_extracted_license: license_entry.pop("distribution") - if not license_entry.get("name", None): + if not license_entry.get("name"): license_entry.pop("name") - if not license_entry.get("url", None): + if not license_entry.get("url"): license_entry.pop("url") - if not license_entry.get("comments", None): + if not license_entry.get("comments"): license_entry.pop("comments") extracted_license_statement = saneyaml.dump(new_extracted_license) diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json index 05ae92f6d09..9117d46dd76 100644 --- a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json @@ -427,7 +427,9 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": {}, + "extra_data": { + "documentation_url": "http://johnzon.apache.org/" + }, "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, diff --git a/tests/packagedcode/data/maven_misc/manifest/10/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/10/MANIFEST.MF.package-data.json index f5250218377..4a0f92d8a7e 100644 --- a/tests/packagedcode/data/maven_misc/manifest/10/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/10/MANIFEST.MF.package-data.json @@ -15,5 +15,8 @@ } ], "vcs_url": null, - "code_view_url": null + "code_view_url": null, + "extra_data": { + "documentation_url": "http://www.hibernate.org/orm/5.3" + } } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/24/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/24/MANIFEST.MF.package-data.json index 29ce58d9152..953d19acd66 100644 --- a/tests/packagedcode/data/maven_misc/manifest/24/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/24/MANIFEST.MF.package-data.json @@ -15,5 +15,8 @@ } ], "vcs_url": null, - "code_view_url": null + "code_view_url": null, + "extra_data": { + "documentation_url": "http://www.oracle.com" + } } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/4/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/4/MANIFEST.MF.package-data.json index 8c1ce3761b3..3b285fbfb08 100644 --- a/tests/packagedcode/data/maven_misc/manifest/4/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/4/MANIFEST.MF.package-data.json @@ -15,5 +15,8 @@ } ], "vcs_url": null, - "code_view_url": null + "code_view_url": null, + "extra_data": { + "documentation_url": "http://logging.apache.org/log4j/1.2" + } } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/5/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/5/MANIFEST.MF.package-data.json index 531ed713318..1ca7b6e1c01 100644 --- a/tests/packagedcode/data/maven_misc/manifest/5/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/5/MANIFEST.MF.package-data.json @@ -15,5 +15,8 @@ } ], "vcs_url": null, - "code_view_url": null + "code_view_url": null, + "extra_data": { + "documentation_url": "http://www.oracle.com" + } } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/7/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/7/MANIFEST.MF.package-data.json index e98f8e7fc6b..0edf7f12934 100644 --- a/tests/packagedcode/data/maven_misc/manifest/7/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/7/MANIFEST.MF.package-data.json @@ -15,5 +15,8 @@ } ], "vcs_url": null, - "code_view_url": null + "code_view_url": null, + "extra_data": { + "documentation_url": "http://fusesource.com/" + } } \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/manifest/8/MANIFEST.MF.package-data.json b/tests/packagedcode/data/maven_misc/manifest/8/MANIFEST.MF.package-data.json index 37ed9f42fc7..d07a4e536fb 100644 --- a/tests/packagedcode/data/maven_misc/manifest/8/MANIFEST.MF.package-data.json +++ b/tests/packagedcode/data/maven_misc/manifest/8/MANIFEST.MF.package-data.json @@ -19,5 +19,8 @@ } ], "vcs_url": null, - "code_view_url": null + "code_view_url": null, + "extra_data": { + "documentation_url": "http://jodd.org" + } } \ No newline at end of file From d27a33c188d5bf95cd2e67b3b5b274faffbc5f4e Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Wed, 12 Jul 2023 19:57:19 +0530 Subject: [PATCH 5/6] Fix misc license/package detection bugs * Add rules for license detection fixes * Fix detection for pom.properties file * Fix --todo plugin for package detection * Fix false positive case for bare word rules * Fix issue of unknown license detection in package manifest Signed-off-by: Ayan Sinha Mahapatra --- src/licensedcode/data/rules/bsd-new_1300.RULE | 11 + src/licensedcode/data/rules/cc0-1.0_203.RULE | 10 + src/licensedcode/detection.py | 77 ++- src/packagedcode/maven.py | 27 +- src/summarycode/todo.py | 10 +- .../reference-to-package/samba.expected.json | 4 +- ...ackson-dataformat-xml-2.13.5-expected.json | 410 +++++++++++++++ .../META-INF/LICENSE | 8 + .../META-INF/MANIFEST.MF | 12 + .../META-INF/NOTICE | 20 + .../johnzon-jsonb-1.2.11-expected.json | 16 +- .../jsonb/jaxrs/JsonbJaxrsProvider.class | Bin 19611 -> 0 bytes .../apache/johnzon/jsonb/JohnzonBuilder.class | Bin 32670 -> 0 bytes .../assemble/numbers-1.7.4-expected.json | 484 ++++++++++++++++++ .../numbers-1.7.4/META-INF/MANIFEST.MF | 6 + .../numbers/pom.properties | 5 + .../com.github.peteroupc/numbers/pom.xml | 132 +++++ .../com/upokecenter/numbers/FastInteger.class | 0 .../activiti-image-generator-expected.json | 16 +- tests/packagedcode/test_maven.py | 15 + .../classify/with_package_data.expected.json | 16 +- .../summarycode/data/score/jar-expected.json | 16 +- 22 files changed, 1232 insertions(+), 63 deletions(-) create mode 100644 src/licensedcode/data/rules/bsd-new_1300.RULE create mode 100644 src/licensedcode/data/rules/cc0-1.0_203.RULE create mode 100644 tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5-expected.json create mode 100644 tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/LICENSE create mode 100644 tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/MANIFEST.MF create mode 100644 tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/NOTICE create mode 100644 tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4-expected.json create mode 100644 tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4/META-INF/MANIFEST.MF create mode 100644 tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4/META-INF/maven/com.github.peteroupc/numbers/pom.properties create mode 100644 tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4/META-INF/maven/com.github.peteroupc/numbers/pom.xml create mode 100644 tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4/com/upokecenter/numbers/FastInteger.class diff --git a/src/licensedcode/data/rules/bsd-new_1300.RULE b/src/licensedcode/data/rules/bsd-new_1300.RULE new file mode 100644 index 00000000000..81a0db2c0a0 --- /dev/null +++ b/src/licensedcode/data/rules/bsd-new_1300.RULE @@ -0,0 +1,11 @@ +--- +license_expression: bsd-new +is_license_tag: yes +referenced_filenames: + - https://github.com/jimsch/COSE-JAVA/blob/master/LICENSE +ignorable_urls: + - https://github.com/jimsch/COSE-JAVA/blob/master/LICENSE +--- + +name: BSD3 +url: {{https://github.com/jimsch/COSE-JAVA/blob/master/LICENSE}} \ No newline at end of file diff --git a/src/licensedcode/data/rules/cc0-1.0_203.RULE b/src/licensedcode/data/rules/cc0-1.0_203.RULE new file mode 100644 index 00000000000..a02fb4ebc81 --- /dev/null +++ b/src/licensedcode/data/rules/cc0-1.0_203.RULE @@ -0,0 +1,10 @@ +--- +license_expression: cc0-1.0 +is_license_tag: yes +relevance: 100 +ignorable_urls: + - http://www.creativecommons.org/publicdomain/zero/1.0/ +--- + +name: CC0 universal +url: http://www.creativecommons.org/publicdomain/zero/1.0/ \ No newline at end of file diff --git a/src/licensedcode/detection.py b/src/licensedcode/detection.py index 2f623e54dcf..7bee3330e18 100644 --- a/src/licensedcode/detection.py +++ b/src/licensedcode/detection.py @@ -667,7 +667,14 @@ def to_dict( def collect_license_detections(codebase, include_license_clues=True): """ - Return a list of LicenseDetectionFromResult from a ``codebase`` + Return a list of LicenseDetectionFromResult object rehydrated from + LicenseDetection mappings, from resources and packages in a ``codebase``. + + As a side effect, this also corrects `declared_license_expression` in packages + according to their license detections. This is required because package fields + are populated in package plugin, which runs before the license plugin, and thus + the license plugin step where unknown references to other files are dereferenced + does not show up automatically in package attributes. """ has_packages = hasattr(codebase.root, 'package_data') has_licenses = hasattr(codebase.root, 'license_detections') @@ -711,13 +718,33 @@ def collect_license_detections(codebase, include_license_clues=True): package_data = getattr(resource, 'package_data', []) or [] package_license_detection_mappings = [] + modified = False for package in package_data: - if package["license_detections"]: - package_license_detection_mappings.extend(package["license_detections"]) - - if package["other_license_detections"]: - package_license_detection_mappings.extend(package["other_license_detections"]) + package_license_detections = package["license_detections"] + if package_license_detections: + package_license_detection_mappings.extend(package_license_detections) + detection_is_same, license_expression = verify_package_license_expression( + license_detection_mappings=package_license_detections, + license_expression=package["declared_license_expression"] + ) + if not detection_is_same: + package["declared_license_expression"] = license_expression + modified = True + + other_license_detections = package["other_license_detections"] + if other_license_detections: + package_license_detection_mappings.extend(other_license_detections) + detection_is_same, license_expression = verify_package_license_expression( + license_detection_mappings=other_license_detections, + license_expression=package["other_license_expression"] + ) + if not detection_is_same: + package["other_license_expression"] = license_expression + modified = True + + if modified: + codebase.save_resource(resource) if package_license_detection_mappings: package_license_detection_objects = detections_from_license_detection_mappings( @@ -729,6 +756,33 @@ def collect_license_detections(codebase, include_license_clues=True): return all_license_detections + +def verify_package_license_expression(license_detection_mappings, license_expression): + """ + Returns a tuple of two files: `detection_is_same` and `license_expression` depending + on whether the `license_expression` is same as the license_expression computed from + `license_detection_mappings`: + 1. If they are the same, we return True and None for the `license_expression` + 2. If they are not the same, we return False, and the computed `license_expression` + """ + license_expressions_from_detections = [ + detection["license_expression"] + for detection in license_detection_mappings + ] + + license_expression_from_detections = str(combine_expressions( + expressions=license_expressions_from_detections, + relation='AND', + unique=True, + )) + + if not license_expression_from_detections == license_expression: + return False, license_expression_from_detections + else: + return True, None + + + @attr.s class UniqueDetection: """ @@ -978,9 +1032,12 @@ def is_false_positive(license_matches, package_license=False): match_rule_length == 1 for match_rule_length in match_rule_length_values ) - - is_gpl_bare = all( - 'gpl_bare' in license_match.rule.identifier + bare_rules = ['gpl_bare', 'freeware_bare', 'public-domain_bare'] + is_bare_rule = all( + any([ + bare_rule in license_match.rule.identifier + for bare_rule in bare_rules + ]) for license_match in license_matches ) @@ -995,7 +1052,7 @@ def is_false_positive(license_matches, package_license=False): is_single_match = len(license_matches) == 1 - if is_single_match and is_gpl_bare: + if is_single_match and is_bare_rule: return True if is_gpl and all_match_rule_length_one: diff --git a/src/packagedcode/maven.py b/src/packagedcode/maven.py index f9ab04c0141..b5d521dc44a 100644 --- a/src/packagedcode/maven.py +++ b/src/packagedcode/maven.py @@ -313,12 +313,27 @@ def parse(cls, location): if TRACE: logger.debug(f'MavenPomPropertiesHandler.parse: properties: {properties!r}') if properties: - yield models.PackageData( - datasource_id=cls.datasource_id, - type=cls.default_package_type, - primary_language=cls.default_primary_language, - extra_data=dict(pom_properties=properties) - ) + yield from cls.parse_pom_properties(properties=properties) + + @classmethod + def parse_pom_properties(cls, properties): + namespace = properties.pop("groupId", None) + name = properties.pop("artifactId", None) + version = properties.pop("version", None) + if properties: + extra_data = dict(pom_properties=properties) + else: + extra_data = {} + + yield models.PackageData( + datasource_id=cls.datasource_id, + type=cls.default_package_type, + primary_language=cls.default_primary_language, + name=name, + namespace=namespace, + version=version, + extra_data=extra_data, + ) def build_url( diff --git a/src/summarycode/todo.py b/src/summarycode/todo.py index bce5b633571..91c14971a74 100644 --- a/src/summarycode/todo.py +++ b/src/summarycode/todo.py @@ -21,6 +21,7 @@ from licensedcode.detection import get_uuid_on_content from licensedcode.detection import UniqueDetection from plugincode.post_scan import PostScanPlugin, post_scan_impl +from packageurl import PackageURL TRACE = os.environ.get('SCANCODE_DEBUG_REVIEW', False) @@ -171,7 +172,7 @@ def get_ambiguous_package_detections(codebase): for package in package_data: detection_type = None if not package["purl"]: - if resource.path not in deps_datafile_paths: + if resource.path not in deps_datafile_paths and not resource.for_packages: detection_type=PackageDetectionCategory.CANNOT_CREATE_PURL.value else: if package["purl"] not in codebase_packages_purls: @@ -211,6 +212,11 @@ def get_package_identifier(package_data, file_path): return get_uuid_on_content(content=[identifier_elements]) +def get_unknown_purl(package_type): + purl = PackageURL(type=package_type, name="unknown") + return purl.to_string() + + @attr.s class AmbiguousDetection: """ @@ -252,6 +258,8 @@ class AmbiguousDetection: @classmethod def from_package(cls, package_data, detection_log, file_path): purl = package_data["purl"] + if not purl: + purl = get_unknown_purl(package_data["type"]) identifier = get_package_identifier(package_data, file_path) detection_id = f"{purl}-{identifier}" file_region = FileRegion( diff --git a/tests/packagedcode/data/license_detection/reference-to-package/samba.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/samba.expected.json index 3d59bc7082d..84e7e2eaa17 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/samba.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/samba.expected.json @@ -795,7 +795,7 @@ "vcs_url": null, "copyright": null, "holder": null, - "declared_license_expression": "gpl-3.0 AND (gpl-3.0 AND lgpl-3.0 AND gpl-2.0) AND (gpl-2.0-plus AND free-unknown AND gpl-1.0-plus) AND (gpl-1.0-plus AND lgpl-3.0-plus AND gpl-3.0 AND lgpl-3.0) AND (cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1) AND gpl-2.0 AND gpl-1.0-plus", + "declared_license_expression": "gpl-3.0 AND (gpl-3.0 AND lgpl-3.0 AND gpl-2.0) AND (gpl-2.0-plus AND free-unknown AND gpl-1.0-plus) AND (gpl-1.0-plus AND lgpl-3.0-plus AND gpl-3.0 AND lgpl-3.0) AND (cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1) AND gpl-2.0", "declared_license_expression_spdx": "GPL-3.0-only AND (GPL-3.0-only AND LGPL-3.0-only AND GPL-2.0-only) AND (GPL-2.0-or-later AND LicenseRef-scancode-free-unknown AND GPL-1.0-or-later) AND (GPL-1.0-or-later AND LGPL-3.0-or-later AND GPL-3.0-only AND LGPL-3.0-only) AND (CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND LicenseRef-scancode-dco-1.1) AND GPL-2.0-only AND GPL-1.0-or-later", "license_detections": [ { @@ -1157,7 +1157,7 @@ "vcs_url": null, "copyright": null, "holder": null, - "declared_license_expression": "gpl-3.0 AND (gpl-3.0 AND lgpl-3.0 AND gpl-2.0) AND (gpl-2.0-plus AND free-unknown AND gpl-1.0-plus) AND (gpl-1.0-plus AND lgpl-3.0-plus AND gpl-3.0 AND lgpl-3.0) AND (cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1) AND gpl-2.0 AND gpl-1.0-plus", + "declared_license_expression": "gpl-3.0 AND (gpl-3.0 AND lgpl-3.0 AND gpl-2.0) AND (gpl-2.0-plus AND free-unknown AND gpl-1.0-plus) AND (gpl-1.0-plus AND lgpl-3.0-plus AND gpl-3.0 AND lgpl-3.0) AND (cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1) AND gpl-2.0", "declared_license_expression_spdx": "GPL-3.0-only AND (GPL-3.0-only AND LGPL-3.0-only AND GPL-2.0-only) AND (GPL-2.0-or-later AND LicenseRef-scancode-free-unknown AND GPL-1.0-or-later) AND (GPL-1.0-or-later AND LGPL-3.0-or-later AND GPL-3.0-only AND LGPL-3.0-only) AND (CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND LicenseRef-scancode-dco-1.1) AND GPL-2.0-only AND GPL-1.0-or-later", "license_detections": [ { diff --git a/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5-expected.json b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5-expected.json new file mode 100644 index 00000000000..54952553efa --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5-expected.json @@ -0,0 +1,410 @@ +{ + "packages": [ + { + "type": "jar", + "namespace": null, + "name": "Jackson-dataformat-XML", + "version": "2.13.5", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": null, + "release_date": null, + "parties": [ + { + "type": null, + "role": "vendor", + "name": "FasterXML", + "email": null, + "url": null + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0 AND free-unknown AND unknown-license-reference", + "declared_license_expression_spdx": "Apache-2.0 AND LicenseRef-scancode-free-unknown AND LicenseRef-scancode-unknown-license-reference", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 8, + "matched_length": 43, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_394.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" + } + ], + "detection_log": [], + "identifier": "apache_2_0-8607fc22-7931-3e71-b7d5-bd208970dc6f" + }, + { + "license_expression": "free-unknown", + "matches": [ + { + "score": 100.0, + "start_line": 3, + "end_line": 3, + "matched_length": 3, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "free-unknown", + "rule_identifier": "free-unknown_85.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown_85.RULE" + } + ], + "detection_log": [ + "unknown-match" + ], + "identifier": "free_unknown-998e0fe1-3b73-fcf9-a86b-09f04f518687" + }, + { + "license_expression": "unknown-license-reference", + "matches": [ + { + "score": 100.0, + "start_line": 11, + "end_line": 13, + "matched_length": 26, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "unknown-license-reference", + "rule_identifier": "unknown-license-reference_375.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_375.RULE" + } + ], + "detection_log": [], + "identifier": "unknown_license_reference-2fec5f0c-deef-fe36-7c0d-527b4552d10c" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "package_uid": "pkg:jar/Jackson-dataformat-XML@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "jackson-dataformat-xml-2.13.5/META-INF/MANIFEST.MF" + ], + "datasource_ids": [ + "java_jar_manifest" + ], + "purl": "pkg:jar/Jackson-dataformat-XML@2.13.5" + } + ], + "dependencies": [], + "license_detections": [ + { + "identifier": "apache-2.0-31344ceb-eee7-3f95-45bb-cc86209f76f8", + "license_expression": "apache-2.0", + "detection_count": 2, + "detection_log": [ + "unknown-reference-to-local-file" + ] + }, + { + "identifier": "apache_2_0-8607fc22-7931-3e71-b7d5-bd208970dc6f", + "license_expression": "apache-2.0", + "detection_count": 2, + "detection_log": [] + }, + { + "identifier": "free_unknown-998e0fe1-3b73-fcf9-a86b-09f04f518687", + "license_expression": "free-unknown", + "detection_count": 2, + "detection_log": [ + "unknown-match" + ] + } + ], + "files": [ + { + "path": "jackson-dataformat-xml-2.13.5", + "type": "directory", + "package_data": [], + "for_packages": [], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "jackson-dataformat-xml-2.13.5/META-INF", + "type": "directory", + "package_data": [], + "for_packages": [ + "pkg:jar/Jackson-dataformat-XML@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "jackson-dataformat-xml-2.13.5/META-INF/LICENSE", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:jar/Jackson-dataformat-XML@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "apache-2.0", + "detected_license_expression_spdx": "Apache-2.0", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 8, + "matched_length": 43, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_394.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" + } + ], + "detection_log": [], + "identifier": "apache_2_0-8607fc22-7931-3e71-b7d5-bd208970dc6f" + } + ], + "license_clues": [], + "percentage_of_license_text": 84.31, + "scan_errors": [] + }, + { + "path": "jackson-dataformat-xml-2.13.5/META-INF/MANIFEST.MF", + "type": "file", + "package_data": [ + { + "type": "jar", + "namespace": null, + "name": "Jackson-dataformat-XML", + "version": "2.13.5", + "qualifiers": {}, + "subpath": null, + "primary_language": null, + "description": "", + "release_date": null, + "parties": [ + { + "role": "vendor", + "name": "FasterXML" + } + ], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "holder": null, + "declared_license_expression": "apache-2.0 AND free-unknown", + "declared_license_expression_spdx": "Apache-2.0 AND LicenseRef-scancode-free-unknown AND LicenseRef-scancode-unknown-license-reference", + "license_detections": [ + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 1, + "end_line": 8, + "matched_length": 43, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_394.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" + } + ], + "detection_log": [], + "identifier": "apache_2_0-8607fc22-7931-3e71-b7d5-bd208970dc6f" + }, + { + "license_expression": "free-unknown", + "matches": [ + { + "score": 100.0, + "start_line": 3, + "end_line": 3, + "matched_length": 3, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "free-unknown", + "rule_identifier": "free-unknown_85.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown_85.RULE" + } + ], + "detection_log": [ + "unknown-match" + ], + "identifier": "free_unknown-998e0fe1-3b73-fcf9-a86b-09f04f518687" + }, + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 11, + "end_line": 13, + "matched_length": 26, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "unknown-license-reference", + "rule_identifier": "unknown-license-reference_375.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_375.RULE" + }, + { + "score": 100.0, + "start_line": 1, + "end_line": 8, + "matched_length": 43, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_394.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" + } + ], + "detection_log": [ + "unknown-reference-to-local-file" + ], + "identifier": "apache-2.0-31344ceb-eee7-3f95-45bb-cc86209f76f8" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [], + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null, + "datasource_id": "java_jar_manifest", + "purl": "pkg:jar/Jackson-dataformat-XML@2.13.5" + } + ], + "for_packages": [ + "pkg:jar/Jackson-dataformat-XML@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": null, + "detected_license_expression_spdx": null, + "license_detections": [], + "license_clues": [], + "percentage_of_license_text": 0, + "scan_errors": [] + }, + { + "path": "jackson-dataformat-xml-2.13.5/META-INF/NOTICE", + "type": "file", + "package_data": [], + "for_packages": [ + "pkg:jar/Jackson-dataformat-XML@2.13.5?uuid=fixed-uid-done-for-testing-5642512d1758" + ], + "detected_license_expression": "free-unknown AND apache-2.0", + "detected_license_expression_spdx": "LicenseRef-scancode-free-unknown AND Apache-2.0", + "license_detections": [ + { + "license_expression": "free-unknown", + "matches": [ + { + "score": 100.0, + "start_line": 3, + "end_line": 3, + "matched_length": 3, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "free-unknown", + "rule_identifier": "free-unknown_85.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown_85.RULE" + } + ], + "detection_log": [ + "unknown-match" + ], + "identifier": "free_unknown-998e0fe1-3b73-fcf9-a86b-09f04f518687" + }, + { + "license_expression": "apache-2.0", + "matches": [ + { + "score": 100.0, + "start_line": 11, + "end_line": 13, + "matched_length": 26, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "unknown-license-reference", + "rule_identifier": "unknown-license-reference_375.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_375.RULE" + }, + { + "score": 100.0, + "start_line": 1, + "end_line": 8, + "matched_length": 43, + "match_coverage": 100.0, + "matcher": "2-aho", + "license_expression": "apache-2.0", + "rule_identifier": "apache-2.0_394.RULE", + "rule_relevance": 100, + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" + } + ], + "detection_log": [ + "unknown-reference-to-local-file" + ], + "identifier": "apache-2.0-31344ceb-eee7-3f95-45bb-cc86209f76f8" + } + ], + "license_clues": [], + "percentage_of_license_text": 24.37, + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/LICENSE b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/LICENSE new file mode 100644 index 00000000000..6acf75483f9 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor databind module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivate works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/MANIFEST.MF b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..1b490dbff37 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/MANIFEST.MF @@ -0,0 +1,12 @@ +Manifest-Version: 1.0 +Implementation-Title: Jackson-dataformat-XML +Implementation-Version: 2.13.5 +X-Compile-Target-JDK: 1.8 +Specification-Vendor: FasterXML +Specification-Title: Jackson-dataformat-XML +X-Compile-Source-JDK: 1.8 +Created-By: Maven Source Plugin 3.2.1 +Specification-Version: 2.13 +Implementation-Vendor: FasterXML +Implementation-Build-Date: 2023-01-23 01:39:52+0000 + diff --git a/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/NOTICE b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/NOTICE new file mode 100644 index 00000000000..5ab1e563603 --- /dev/null +++ b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5/META-INF/NOTICE @@ -0,0 +1,20 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers, as well as supported +commercially by FasterXML.com. + +## Licensing + +Jackson core and extension components may be licensed under different licenses. +To find the details that apply to this artifact see the accompanying LICENSE file. +For more information, including possible other licensing options, contact +FasterXML.com (http://fasterxml.com). + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json index 9117d46dd76..c2aff001579 100644 --- a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json @@ -550,9 +550,9 @@ "package_data": [ { "type": "maven", - "namespace": null, - "name": null, - "version": null, + "namespace": "org.apache.johnzon", + "name": "johnzon-jsonb", + "version": "1.2.11", "qualifiers": {}, "subpath": null, "primary_language": "Java", @@ -582,19 +582,13 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": { - "pom_properties": { - "groupId": "org.apache.johnzon", - "artifactId": "johnzon-jsonb", - "version": "1.2.11" - } - }, + "extra_data": {}, "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, "datasource_id": "maven_pom_properties", - "purl": null + "purl": "pkg:maven/org.apache.johnzon/johnzon-jsonb@1.2.11" } ], "for_packages": [ diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.class b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11/org/apache/johnzon/jaxrs/jsonb/jaxrs/JsonbJaxrsProvider.class index 5872af461328c141db7d8f53cd20829079775d64..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 19611 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 + 4.0.0 + com.github.peteroupc + numbers + jar + 1.7.4 + Arbitrary-Precision Number Library + A Java library that supports arbitrary-precision binary and decimal floating-point numbers and rational numbers with arbitrary-precision components, and supports arithmetic with these numbers. + https://github.com/peteroupc/Numbers-Java + + + release + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.0.1 + + Numbers for Java documentation, generated in {currentYear}. + + -html5 + + + + + attach-javadocs + + jar + + + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + attach-sources + + jar-no-fork + + + + + + + + + + scm:git:https://github.com/peteroupc/Numbers-Java + scm:git:https://github.com/peteroupc/Numbers-Java.git + https://github.com/peteroupc/Numbers-Java + + + + + + + + Peter Occil + poccil14@gmail.com + + + + UTF-8 + 6 + 1.6 + + + + CC0 Universal + repo + http://www.creativecommons.org/publicdomain/zero/1.0/ + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.7.0 + + + -Xlint:all + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + true + 1.6.1 + + ossrh + true + https://oss.sonatype.org/ + + + + + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + + + junit + junit + 4.13-beta-3 + test + + + diff --git a/tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4/com/upokecenter/numbers/FastInteger.class b/tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4/com/upokecenter/numbers/FastInteger.class new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-expected.json b/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-expected.json index 32fc27d3ba3..90c9bffb991 100644 --- a/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-expected.json +++ b/tests/packagedcode/data/maven_misc/extracted-jar/activiti-image-generator-expected.json @@ -323,9 +323,9 @@ "package_data": [ { "type": "maven", - "namespace": null, - "name": null, - "version": null, + "namespace": "org.activiti", + "name": "activiti-image-generator", + "version": "7-201802-EA", "qualifiers": {}, "subpath": null, "primary_language": "Java", @@ -355,19 +355,13 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": { - "pom_properties": { - "version": "7-201802-EA", - "groupId": "org.activiti", - "artifactId": "activiti-image-generator" - } - }, + "extra_data": {}, "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, "datasource_id": "maven_pom_properties", - "purl": null + "purl": "pkg:maven/org.activiti/activiti-image-generator@7-201802-EA" } ], "for_packages": [ diff --git a/tests/packagedcode/test_maven.py b/tests/packagedcode/test_maven.py index 1f934cefb3d..6898261423e 100644 --- a/tests/packagedcode/test_maven.py +++ b/tests/packagedcode/test_maven.py @@ -236,6 +236,21 @@ def test_maven_assembly_with_pom_and_manifest(self): run_scan_click(['--package', '--license', '--license-diagnostics', '--processes', '-1', test_dir, '--json', result_file]) check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + def test_maven_assembly_with_pom_and_jar_manifest(self): + test_dir = self.get_test_loc('maven_misc/assemble/numbers-1.7.4') + result_file = self.get_temp_file('json') + expected_file = self.get_test_loc('maven_misc/assemble/numbers-1.7.4-expected.json') + run_scan_click(['--package', '--license', '--license-diagnostics', '--processes', '-1', test_dir, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_maven_unknown_reference_to_license_in_manifest(self): + test_dir = self.get_test_loc('maven_misc/assemble/jackson-dataformat-xml-2.13.5') + result_file = self.get_temp_file('json') + expected_file = self.get_test_loc('maven_misc/assemble/jackson-dataformat-xml-2.13.5-expected.json') + run_scan_click(['--package', '--license', '--license-diagnostics', '--processes', '-1', test_dir, '--json', result_file]) + check_json_scan(expected_file, result_file, remove_uuid=True, regen=REGEN_TEST_FIXTURES) + + def test_package_dependency_not_missing(self): test_file = self.get_test_loc('maven2/log4j/log4j-pom.xml') self.check_parse_to_package(test_file, regen=REGEN_TEST_FIXTURES) diff --git a/tests/summarycode/data/classify/with_package_data.expected.json b/tests/summarycode/data/classify/with_package_data.expected.json index 0874f0af931..b627df979b7 100644 --- a/tests/summarycode/data/classify/with_package_data.expected.json +++ b/tests/summarycode/data/classify/with_package_data.expected.json @@ -545,9 +545,9 @@ "package_data": [ { "type": "maven", - "namespace": null, - "name": null, - "version": null, + "namespace": "org.jboss.logging", + "name": "jboss-logging", + "version": "3.4.2.Final", "qualifiers": {}, "subpath": null, "primary_language": "Java", @@ -577,19 +577,13 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": { - "pom_properties": { - "version": "3.4.2.Final", - "groupId": "org.jboss.logging", - "artifactId": "jboss-logging" - } - }, + "extra_data": {}, "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, "datasource_id": "maven_pom_properties", - "purl": null + "purl": "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final" } ], "for_packages": [ diff --git a/tests/summarycode/data/score/jar-expected.json b/tests/summarycode/data/score/jar-expected.json index 858da18e020..3407c091ef2 100644 --- a/tests/summarycode/data/score/jar-expected.json +++ b/tests/summarycode/data/score/jar-expected.json @@ -681,9 +681,9 @@ "package_data": [ { "type": "maven", - "namespace": null, - "name": null, - "version": null, + "namespace": "org.jboss.logging", + "name": "jboss-logging", + "version": "3.4.2.Final", "qualifiers": {}, "subpath": null, "primary_language": "Java", @@ -713,19 +713,13 @@ "notice_text": null, "source_packages": [], "file_references": [], - "extra_data": { - "pom_properties": { - "version": "3.4.2.Final", - "groupId": "org.jboss.logging", - "artifactId": "jboss-logging" - } - }, + "extra_data": {}, "dependencies": [], "repository_homepage_url": null, "repository_download_url": null, "api_data_url": null, "datasource_id": "maven_pom_properties", - "purl": null + "purl": "pkg:maven/org.jboss.logging/jboss-logging@3.4.2.Final" } ], "for_packages": [ From e3a1c90cc863c7fdf354d0cfa772cd56d6a41da1 Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Wed, 12 Jul 2023 21:03:14 +0530 Subject: [PATCH 6/6] Add more license rules Adds additional license rules to take care of maven package license detection adjustments. Signed-off-by: Ayan Sinha Mahapatra --- .../data/rules/apache-2.0_1276.RULE | 10 ++++++ .../data/rules/apache-2.0_1277.RULE | 10 ++++++ .../data/rules/apache-2.0_1278.RULE | 9 +++++ .../data/rules/apache-2.0_1279.RULE | 9 +++++ .../bsd-3-clause-no-nuclear-warranty_12.RULE | 9 +++++ src/licensedcode/data/rules/bsd-new_1301.RULE | 9 +++++ src/licensedcode/data/rules/cpl-1.0_38.RULE | 10 ++++++ src/licensedcode/data/rules/jj2000_1.RULE | 9 +++++ src/licensedcode/data/rules/json_17.RULE | 33 +++++++++++++++++++ .../data/rules/lgpl-2.1-plus_473.RULE | 9 +++++ src/licensedcode/data/rules/lgpl-2.1_444.RULE | 9 +++++ .../data/rules/unicode-icu-58_2.RULE | 9 +++++ .../data/m2/bytebuddy/pom.xml.package.json | 14 ++++---- 13 files changed, 142 insertions(+), 7 deletions(-) create mode 100644 src/licensedcode/data/rules/apache-2.0_1276.RULE create mode 100644 src/licensedcode/data/rules/apache-2.0_1277.RULE create mode 100644 src/licensedcode/data/rules/apache-2.0_1278.RULE create mode 100644 src/licensedcode/data/rules/apache-2.0_1279.RULE create mode 100644 src/licensedcode/data/rules/bsd-3-clause-no-nuclear-warranty_12.RULE create mode 100644 src/licensedcode/data/rules/bsd-new_1301.RULE create mode 100644 src/licensedcode/data/rules/cpl-1.0_38.RULE create mode 100644 src/licensedcode/data/rules/jj2000_1.RULE create mode 100644 src/licensedcode/data/rules/json_17.RULE create mode 100644 src/licensedcode/data/rules/lgpl-2.1-plus_473.RULE create mode 100644 src/licensedcode/data/rules/lgpl-2.1_444.RULE create mode 100644 src/licensedcode/data/rules/unicode-icu-58_2.RULE diff --git a/src/licensedcode/data/rules/apache-2.0_1276.RULE b/src/licensedcode/data/rules/apache-2.0_1276.RULE new file mode 100644 index 00000000000..de0fefd2296 --- /dev/null +++ b/src/licensedcode/data/rules/apache-2.0_1276.RULE @@ -0,0 +1,10 @@ +--- +license_expression: apache-2.0 +is_license_tag: yes +ignorable_urls: + - https://www.apache.org/licenses/LICENSE-2.0.txt +--- + +name: Apache License, Version 2.0 +url: https://www.apache.org/licenses/LICENSE-2.0.txt +comments: A business-friendly OSS license \ No newline at end of file diff --git a/src/licensedcode/data/rules/apache-2.0_1277.RULE b/src/licensedcode/data/rules/apache-2.0_1277.RULE new file mode 100644 index 00000000000..efe114db13f --- /dev/null +++ b/src/licensedcode/data/rules/apache-2.0_1277.RULE @@ -0,0 +1,10 @@ +--- +license_expression: apache-2.0 +is_license_tag: yes +ignorable_urls: + - http://www.apache.org/licenses/LICENSE-2.0.txt +--- + +name: The Apache Software License, Version 2.0 +url: http://www.apache.org/licenses/LICENSE-2.0.txt +comments: A business-friendly OSS license \ No newline at end of file diff --git a/src/licensedcode/data/rules/apache-2.0_1278.RULE b/src/licensedcode/data/rules/apache-2.0_1278.RULE new file mode 100644 index 00000000000..662a05b16c3 --- /dev/null +++ b/src/licensedcode/data/rules/apache-2.0_1278.RULE @@ -0,0 +1,9 @@ +--- +license_expression: apache-2.0 +is_license_tag: yes +ignorable_urls: + - http://www.apache.org/licenses/ +--- + +name: ASL, version 2 +url: http://www.apache.org/licenses/ \ No newline at end of file diff --git a/src/licensedcode/data/rules/apache-2.0_1279.RULE b/src/licensedcode/data/rules/apache-2.0_1279.RULE new file mode 100644 index 00000000000..00834e2ec1a --- /dev/null +++ b/src/licensedcode/data/rules/apache-2.0_1279.RULE @@ -0,0 +1,9 @@ +--- +license_expression: apache-2.0 +is_license_tag: yes +ignorable_urls: + - http://www.apache.org/licenses/LICENSE-2.0.txt +--- + +name: Apache License v2.0 +url: http://www.apache.org/licenses/LICENSE-2.0.txt \ No newline at end of file diff --git a/src/licensedcode/data/rules/bsd-3-clause-no-nuclear-warranty_12.RULE b/src/licensedcode/data/rules/bsd-3-clause-no-nuclear-warranty_12.RULE new file mode 100644 index 00000000000..a2cac1ebfb0 --- /dev/null +++ b/src/licensedcode/data/rules/bsd-3-clause-no-nuclear-warranty_12.RULE @@ -0,0 +1,9 @@ +--- +license_expression: bsd-3-clause-no-nuclear-warranty +is_license_tag: yes +referenced_filenames: + - LICENSE-Sun.txt +--- + +name: {{BSD 3-clause License w/nuclear disclaimer}} +url: LICENSE-Sun.txt \ No newline at end of file diff --git a/src/licensedcode/data/rules/bsd-new_1301.RULE b/src/licensedcode/data/rules/bsd-new_1301.RULE new file mode 100644 index 00000000000..3eda3e83405 --- /dev/null +++ b/src/licensedcode/data/rules/bsd-new_1301.RULE @@ -0,0 +1,9 @@ +--- +license_expression: bsd-new +is_license_tag: yes +ignorable_urls: + - http://www.jcraft.com/jzlib/LICENSE.txt +--- + +name: BSD +url: http://www.jcraft.com/jzlib/LICENSE.txt \ No newline at end of file diff --git a/src/licensedcode/data/rules/cpl-1.0_38.RULE b/src/licensedcode/data/rules/cpl-1.0_38.RULE new file mode 100644 index 00000000000..0c9ff20efa9 --- /dev/null +++ b/src/licensedcode/data/rules/cpl-1.0_38.RULE @@ -0,0 +1,10 @@ +--- +license_expression: cpl-1.0 +is_license_tag: yes +ignorable_urls: + - http://www.opensource.org/licenses/cpl1.0.txt +--- + +name: CPL +url: http://www.opensource.org/licenses/cpl1.0.txt +comments: Common Public License \ No newline at end of file diff --git a/src/licensedcode/data/rules/jj2000_1.RULE b/src/licensedcode/data/rules/jj2000_1.RULE new file mode 100644 index 00000000000..28548be7334 --- /dev/null +++ b/src/licensedcode/data/rules/jj2000_1.RULE @@ -0,0 +1,9 @@ +--- +license_expression: jj2000 +is_license_tag: yes +referenced_filenames: + - LICENSE-JJ2000.txt +--- + +name: {{JJ2000}} +url: LICENSE-JJ2000.txt \ No newline at end of file diff --git a/src/licensedcode/data/rules/json_17.RULE b/src/licensedcode/data/rules/json_17.RULE new file mode 100644 index 00000000000..5b468f6d4c2 --- /dev/null +++ b/src/licensedcode/data/rules/json_17.RULE @@ -0,0 +1,33 @@ +--- +license_expression: json +is_license_text: yes +ignorable_copyrights: + - Copyright (c) 2002 JSON.org +ignorable_holders: + - JSON.org +ignorable_urls: + - http://json.org/license.html +--- + +name: The JSON License +url: http://json.org/license.html +comments: + +Copyright (c) 2002 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/src/licensedcode/data/rules/lgpl-2.1-plus_473.RULE b/src/licensedcode/data/rules/lgpl-2.1-plus_473.RULE new file mode 100644 index 00000000000..8c75c44a694 --- /dev/null +++ b/src/licensedcode/data/rules/lgpl-2.1-plus_473.RULE @@ -0,0 +1,9 @@ +--- +license_expression: lgpl-2.1-plus +is_license_tag: yes +ignorable_urls: + - http://www.gnu.org/licenses/lgpl.html +--- + +name: GNU Lesser Public License +url: http://www.gnu.org/licenses/lgpl.html \ No newline at end of file diff --git a/src/licensedcode/data/rules/lgpl-2.1_444.RULE b/src/licensedcode/data/rules/lgpl-2.1_444.RULE new file mode 100644 index 00000000000..1fc59dd9130 --- /dev/null +++ b/src/licensedcode/data/rules/lgpl-2.1_444.RULE @@ -0,0 +1,9 @@ +--- +license_expression: lgpl-2.1 +is_license_tag: yes +ignorable_urls: + - http://www.gnu.org/licenses/licenses.html +--- + +name: LGPL, version 2.1 +url: http://www.gnu.org/licenses/licenses.html \ No newline at end of file diff --git a/src/licensedcode/data/rules/unicode-icu-58_2.RULE b/src/licensedcode/data/rules/unicode-icu-58_2.RULE new file mode 100644 index 00000000000..db3574b315e --- /dev/null +++ b/src/licensedcode/data/rules/unicode-icu-58_2.RULE @@ -0,0 +1,9 @@ +--- +license_expression: unicode-icu-58 +is_license_tag: yes +ignorable_urls: + - http://source.icu-project.org/repos/icu/trunk/icu4j/main/shared/licenses/LICENSE +--- + +name: Unicode/ICU License +url: http://source.icu-project.org/repos/icu/trunk/icu4j/main/shared/licenses/LICENSE \ No newline at end of file diff --git a/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json b/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json index bcfd607d522..80f1522b32e 100644 --- a/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json +++ b/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json @@ -39,18 +39,18 @@ { "score": 100.0, "start_line": 1, - "end_line": 2, - "matched_length": 18, + "end_line": 3, + "matched_length": 23, "match_coverage": 100.0, - "matcher": "2-aho", + "matcher": "1-hash", "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", + "rule_identifier": "apache-2.0_1277.RULE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", - "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1277.RULE", + "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt\n comments: A business-friendly OSS license" } ], - "identifier": "apache_2_0-bfa9e97a-62d3-0076-c881-8443e5e95192" + "identifier": "apache_2_0-a0cd95bb-90a3-a708-8b40-d282f4168353" } ], "other_license_expression": null,