in src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java [1772:1834]
private void runProcessor(
final ApisJarContext ctx,
final ApiRegion apiRegion,
final ArtifactType archiveType,
final List<File> resources,
final List<Map.Entry<String, File>> additionalResources,
final Collection<ArtifactInfo> infos) {
final List<Processor> processors = ApisUtil.getProcessors(this.includeProviderTypeResource);
if (!processors.isEmpty()) {
final List<Source> sources = new ArrayList<>();
this.addFileSets(apiRegion, archiveType, infos, null, sources);
this.addResources(infos, resources, null, sources);
// run processors
for (final Processor p : processors) {
final ProcessorContext pc = new ProcessorContext() {
@Override
public MavenSession getSession() {
return mavenSession;
}
@Override
public MavenProject getProject() {
return project;
}
@Override
public Feature getFeature() {
return ctx.getFeature();
}
@Override
public ApiRegion getApiRegion() {
return apiRegion;
}
@Override
public Log getLog() {
return ApisJarMojo.this.getLog();
}
@Override
public File getOutputDirectory() {
return mainOutputDir;
}
@Override
public void addResource(final String name, final File file) {
additionalResources.add(new AbstractMap.SimpleImmutableEntry<>(name, file));
}
};
if (archiveType == ArtifactType.APIS) {
getLog().info("Running processor " + p.getName() + " on binaries...");
p.processBinaries(pc, sources);
} else {
getLog().info("Running processor " + p.getName() + " on sources...");
p.processSources(pc, sources);
}
}
}
}