in JetBrains.SbomUtils/src/JetBrains.SbomUtils.Console/Analyzer.cs [16:43]
public int Analyze(string sbom, string rootDirectory, string[] rootPackages, string[] exemptions)
{
SbomValidator validator = new SbomValidator(_logger);
SbomReader reader = new SbomReader(_logger);
var sbomModel = reader.LoadSbom(reader.ReadSbom(sbom));
ValidationResult validationResult;
try
{
using var softwareProvider = CreateInstalledSoftwareProvider(rootDirectory);
validationResult = validator.ValidateInstallation(sbomModel, softwareProvider, rootPackages, exemptions);
}
catch (Exception ex)
{
validationResult = new ValidationResult(
success: false,
errorMessage: ex.Message,
filesChecked: 0,
filesMissingInSbom: [],
fileVerificationResults: [],
ignoredFiles: []);
}
PrintValidationResult(validationResult);
return validationResult.Success ? 0 : 1;
}