in src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java [152:190]
public List<CommitValidationMessage> onCommitReceived(CommitReceivedEvent receiveEvent)
throws CommitValidationException {
try {
PluginConfig cfg =
cfgFactory.getFromProjectConfigWithInheritance(
receiveEvent.project.getNameKey(), pluginName);
if (isActive(cfg)
&& validatorConfig.isEnabled(
receiveEvent.user,
receiveEvent.getProjectNameKey(),
receiveEvent.getRefName(),
KEY_CHECK_BLOCKED_KEYWORD,
receiveEvent.pushOptions)) {
ImmutableMap<String, Pattern> blockedKeywordPatterns =
patternCache.getAll(
Arrays.asList(cfg.getStringList(KEY_CHECK_BLOCKED_KEYWORD_PATTERN)));
try (Repository repo = repoManager.openRepository(receiveEvent.project.getNameKey())) {
List<CommitValidationMessage> messages =
performValidation(
receiveEvent.project.getNameKey(),
repo,
receiveEvent.commit,
receiveEvent.revWalk,
blockedKeywordPatterns.values(),
cfg);
if (!messages.isEmpty()) {
throw new CommitValidationException(
"includes files containing blocked keywords", messages);
}
}
}
} catch (NoSuchProjectException
| IOException
| ExecutionException
| DiffNotAvailableException e) {
throw new CommitValidationException("failed to check on blocked keywords", e);
}
return Collections.emptyList();
}