private void runProcessor()

in src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java [1537:1587]


    private void runProcessor(final ApisJarContext ctx,
        final ApiRegion apiRegion,
        final ArtifactType archiveType,
        final List<File> resources,
        final Collection<ArtifactInfo> infos) {
        final List<Processor> processors = ApisUtil.getProcessors();
        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();
                    }
                };
                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);
                }
            }
        }
    }