devonfw/solicitor

Add dataStatus information indicating that the ComponentInfo data (i.e. scancode) did not detect any license.

Closed this issue · 0 comments

The dataStatus field qualifies the quality of the license/IP information provided by a ComponentInfoProvider(i.e. the Scancode data). See https://github.com/devonfw/solicitor/blob/master/documentation/master-solicitor.asciidoc#1135-datastatus-values-of-the-scancode-integration .

In the case that this information exists but does not contain any detected licenses Solicitor falls back to use the license information ("RawLicense") initially read from the package metadata via the Reader. This is reported via a log message and in the tracing information but not in the dataStatus (

} else {
LOG.info(LogMessages.COMPONENTINFO_NO_LICENSES.msg(),
(ac.getGroupId() != null ? ac.getGroupId() + "/" : "") + ac.getArtifactId() + "/" + ac.getVersion());
for (RawLicense rl : ac.getRawLicenses()) {
String trace = rl.getTrace() + System.lineSeparator()
+ "+ ComponentInfo available but without license information - keeping data from Reader";
rl.setTrace(trace);
}
).

To be able to better sport those cases a specific dataStatus prefix should be used:
NL:<detailStatus>