in log4j-transform-maven-plugin/src/main/java/org/apache/logging/log4j/transform/maven/LocationMojo.java [191:209]
private void validateLog4jVersion() throws MojoExecutionException {
Artifact log4jApi = project.getArtifacts()
.stream()
.filter(a -> LOG4J_GROUP_ID.equals(a.getGroupId()) && LOG4J_API_ARTIFACT_ID.equals(a.getArtifactId()))
.findAny()
.orElseThrow(() -> new MojoExecutionException("Missing `log4j-api` dependency."));
try {
if (MIN_SUPPORTED_VERSION.compareTo(log4jApi.getSelectedVersion()) > 0) {
throw new MojoExecutionException("Log4j2 API version " + MIN_SUPPORTED_VERSION
+ " required. Selected version: " + log4jApi.getSelectedVersion());
}
// Transitive dependency
if (!project.getDependencyArtifacts().contains(log4jApi)) {
getLog().warn("Log4j2 API should not be a transitive dependency.");
}
} catch (OverConstrainedVersionException e) {
throw new MojoExecutionException("Can not determine `log4j-api` version.", e);
}
}