private void runProcessor()

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);
                }
            }
        }
    }