in src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/ValidateFilesMojo.java [223:258]
public void doExecute(ValidationMessagePrinter validationHelper) throws MojoExecutionException, MojoFailureException {
try {
File metaInfoVaultSourceDirectory = AbstractMetadataPackageMojo.getMetaInfVaultSourceDirectory(metaInfVaultDirectory, getLog());
File metaInfRootDirectory = null;
if (metaInfoVaultSourceDirectory != null) {
metaInfRootDirectory = metaInfoVaultSourceDirectory.getParentFile();
}
File generatedMetaInfRootDirectory = new File(AbstractMetadataPackageMojo.getWorkDirectory(getLog(), false, workDirectory, classifier), Constants.META_INF);
getLog().info("Validate files in generatedMetaInfRootDirectory " + getProjectRelativeFilePath(generatedMetaInfRootDirectory.toPath()) + " and metaInfRootDir " + getProjectRelativeFilePath(generatedMetaInfRootDirectory.toPath()));
File jcrSourceDirectory = AbstractSourceAndMetadataPackageMojo.getJcrSourceDirectory(jcrRootSourceDirectory, builtContentDirectory, getLog());
final Path packageRootDirectory;
if (jcrSourceDirectory == null) {
// just return path of non-existing directory
packageRootDirectory = jcrRootSourceDirectory[0].toPath().getParent();
} else {
packageRootDirectory = jcrSourceDirectory.getParentFile().toPath();
}
ValidationContext context = new DirectoryValidationContext(buildContext.isIncremental(), generatedMetaInfRootDirectory.toPath(), metaInfRootDirectory != null ? metaInfRootDirectory.toPath() : null, packageRootDirectory, resolver, getLog());
ValidationExecutor executor = validationExecutorFactory.createValidationExecutor(context, false, false, getEffectiveValidatorSettingsForPackage(context.getProperties().getId(), false));
if (executor == null) {
throw new MojoExecutionException("No registered validators found!");
}
validationHelper.printUsedValidators(getLog(), executor, context, true);
if (metaInfRootDirectory != null) {
validateDirectoryRecursively(validationHelper, executor, metaInfRootDirectory.toPath(), true);
}
validateDirectoryRecursively(validationHelper, executor, generatedMetaInfRootDirectory.toPath(), true);
if (jcrSourceDirectory != null) {
validateDirectoryRecursively(validationHelper, executor, jcrSourceDirectory.toPath(), false);
}
validationHelper.printMessages(executor.done(), buildContext, project.getBasedir().toPath());
} catch (IOException | ConfigurationException e) {
throw new MojoFailureException("Could not execute validation", e);
}
validationHelper.failBuildInCaseOfViolations(failOnValidationWarnings);
}