in winegrower-core/src/main/java/org/apache/winegrower/scanner/manifest/OSGIInfContributor.java [26:51]
public void contribute(final AnnotationFinder finder, final Supplier<Manifest> manifest) {
final Archive archive = finder.getArchive();
if (JarArchive.class.isInstance(archive)) {
try (final JarFile jar = new JarFile(Files.toFile(JarArchive.class.cast(archive).getUrl()))) {
final Collection<JarEntry> entries = list(jar.entries());
addBlueprintEntries(manifest, filterEntries(entries, "OSGI-INF/blueprint/"));
addServiceComponentEntries(manifest, filterEntries(entries, "OSGI-INF/"));
} catch (final IOException e) {
// no-op
}
} else if (FileArchive.class.isInstance(archive)) {
final File base = FileArchive.class.cast(archive).getDir();
{
final File blueprint = new File(base, "OSGI-INF/blueprint/");
if (blueprint.isDirectory()) {
addBlueprintEntries(manifest, filterChildren(blueprint, "OSGI-INF/blueprint/"));
}
}
{
final File from = new File(base, "OSGI-INF/");
if (from.isDirectory()) {
addServiceComponentEntries(manifest, filterChildren(from, "OSGI-INF/"));
}
}
}
}