public void contribute()

in winegrower-core/src/main/java/org/apache/winegrower/scanner/manifest/OSGiCDIManifestContributor.java [48:72]


    public void contribute(final AnnotationFinder finder, final Supplier<Manifest> manifest) {
        final Manifest mf = manifest.get();
        if (hasCdiExtender(mf)) {
            return;
        }

        final Archive archive = finder.getArchive();
        final WinegrowerAnnotationFinder waf = WinegrowerAnnotationFinder.class.cast(finder);
        if (JarArchive.class.isInstance(archive)) {
            try (final JarFile jar = new JarFile(org.apache.xbean.finder.util.Files.toFile(JarArchive.class.cast(archive).getUrl()))) {
                if (jar.getEntry("META-INF/beans.xml") == null) {
                    return;
                }
                appendOsgiCDIExtender(mf, waf);
            } catch (final IOException e) {
                // no-op
            }
        } else if (FileArchive.class.isInstance(archive)) {
            final Path base = FileArchive.class.cast(archive).getDir().toPath();
            if (!Files.exists(base.resolve("META-INF/beans.xml"))) {
                return;
            }
            appendOsgiCDIExtender(mf, waf);
        }
    }