parseConfigurationFile method

void parseConfigurationFile()

Parse the SBOM configuration file.

Implementation

void parseConfigurationFile() {
  final sbomFilepath =
      path.join(packageTopLevel, SbomConstants.sbomConfigurationFile);
  var sbomConfiguration = '';
  try {
    sbomConfiguration = File(sbomFilepath).readAsStringSync();
  } on FileSystemException {
    valid = false;
    SbomUtilities.error(
        'Cannot read SBOM configuration file, path is $sbomFilepath,  cannot continue');

    return;
  }
  var contents = loadYaml(sbomConfiguration);
  if (contents == null || contents.isEmpty) {
    valid = false;
    SbomUtilities.error(
        'SBOM configuration file is empty, path is $sbomFilepath,  cannot continue');

    return;
  }
  if (!contents.containsKey(SbomConstants.sbomType)) {
    valid = false;
    SbomUtilities.error(
        'No type specified in SBOM configuration file, cannot continue');

    return;
  }
  _setType(contents[SbomConstants.sbomType]);
  sbomConfigurationContents = contents;
}