in winegrower-core/src/main/java/org/apache/winegrower/scanner/StandaloneScanner.java [221:249]
private BundleDefinition toDefinition(final File file) {
if (file.isDirectory()) {
final File manifest = new File(file, "META-INF/MANIFEST.MF");
if (manifest.exists()) {
try (final InputStream stream = new FileInputStream(manifest)) {
final Manifest mf = new Manifest(stream);
if (isOSGi(mf)) {
return new BundleDefinition(mf, file, null);
}
return null;
} catch (final IOException e) {
throw new IllegalStateException(e);
}
}
return null;
}
try (final JarFile jar = new JarFile(file)) {
final Manifest manifest = jar.getManifest();
if (manifest == null) {
return null;
}
if (isOSGi(manifest)) {
return new BundleDefinition(manifest, file, null);
}
return null;
} catch (final Exception e) {
return null;
}
}