private void addResources()

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


    private void addResources(
            final Collection<ArtifactInfo> infos,
            final List<File> resources,
            final JarArchiver jarArchiver,
            final List<Source> sources) {
        for (final ArtifactInfo info : infos) {
            if (info.getBinDirectory() != null) {
                final int prefixLength =
                        info.getBinDirectory().getAbsolutePath().length() + 1;
                for (final File resource : info.getIncludedResources()) {
                    final String name = resource.getAbsolutePath().substring(prefixLength);
                    getLog().debug("Adding resource " + name);

                    if (jarArchiver != null) {
                        jarArchiver.addFile(resource, name);
                    }
                    if (sources != null) {
                        sources.add(new FileSource(info.getBinDirectory(), resource));
                    }
                }
            }
        }

        // add additional resources
        if (resources != null) {
            for (final File rsrc : resources) {
                getLog().debug("Adding resource " + rsrc);
                if (rsrc.isDirectory()) {
                    DirectoryScanner ds = new DirectoryScanner();
                    ds.setBasedir(rsrc);
                    ds.setIncludes("**/*.*");
                    ds.scan();

                    if (jarArchiver != null) {
                        for (String includedFile : ds.getIncludedFiles()) {
                            jarArchiver.addFile(new File(rsrc, includedFile), includedFile);
                        }
                    }
                    if (sources != null) {
                        final DefaultFileSet fileSet = new DefaultFileSet(rsrc);
                        fileSet.setIncludingEmptyDirectories(false);
                        fileSet.setIncludes(new String[] {"**/*.*"});
                        sources.add(new DirectorySource(fileSet));
                    }
                } else {
                    if (jarArchiver != null) {
                        jarArchiver.addFile(rsrc, rsrc.getName());
                    }
                    if (sources != null) {
                        sources.add(new FileSource(rsrc.getParentFile(), rsrc));
                    }
                }
            }
        }
    }