map.put(key.toString(), commonProps.getProperty(key.toString()));
A2Origin origin = new A2Origin();
Path bundleDir = processBundleJar(file, targetCategoryBase, map, origin);
+ if (bundleDir == null) {
+ logger.log(WARNING, "No bundle dir created for " + file + ", skipping...");
+ return FileVisitResult.CONTINUE;
+ }
origins.put(bundleDir, origin);
logger.log(DEBUG, () -> "Processed " + file);
}
Manifest sourceManifest;
try (JarInputStream jarIn = new JarInputStream(Files.newInputStream(file), false)) {
sourceManifest = jarIn.getManifest();
+ if (sourceManifest == null)
+ logger.log(WARNING, file + " has no manifest");
manifest = sourceManifest != null ? new Manifest(sourceManifest) : new Manifest();
String rawSourceSymbolicName = manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME.toString());
nameVersion = new NameVersion(ourSymbolicName, ourVersion);
} else {
nameVersion = nameVersionFromManifest(manifest);
+ if (nameVersion == null) {
+ // hack for weird issue with JNA jar in Eclipse
+ String[] arr_ = file.getFileName().toString().split("_");
+ String v = arr_[1].substring(0, arr_[1].length() - 4);// remove .jar
+ nameVersion = new NameVersion(arr_[0], v);
+ logger.log(WARNING, file + " has no symbolic name, trying " + nameVersion.getName() + "/"
+ + nameVersion.getVersion() + " based on its name");
+ }
if (ourVersion != null && !nameVersion.getVersion().equals(ourVersion)) {
logger.log(WARNING,
"Original version is " + nameVersion.getVersion() + " while new version is " + ourVersion);