classifyLicenseText function

LicenseCategory classifyLicenseText(
  1. String? licenseFileContent
)

Classifies a LICENSE file's raw text by matching well-known license header text — case-sensitive on purpose (a license file's own actual wording is what a legal reviewer would look at too, a lowercase substring match risks matching unrelated prose).

Implementation

LicenseCategory classifyLicenseText(String? licenseFileContent) {
  if (licenseFileContent == null || licenseFileContent.trim().isEmpty) {
    return LicenseCategory.unknown;
  }
  for (final marker in _copyleftMarkers) {
    if (licenseFileContent.contains(marker)) return LicenseCategory.copyleft;
  }
  for (final marker in _permissiveMarkers) {
    if (licenseFileContent.contains(marker)) return LicenseCategory.permissive;
  }
  return LicenseCategory.unknown;
}