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 (nameVersion == null)
+ throw new IllegalStateException("Could not compute name/version from Manifest");
if (ourVersion != null && !nameVersion.getVersion().equals(ourVersion)) {
logger.log(WARNING,
"Original version is " + nameVersion.getVersion() + " while new version is " + ourVersion);
}
/**
- * Effectively download. Synchronised in order to avoid downloading twice in
- * parallel.
+ * Effectively download an archive.
*/
- synchronized Path downloadArchive(URL url, Path dir) throws IOException {
+ Path downloadArchive(URL url, Path dir) throws IOException {
return download(url, dir, (String) null);
}
- /** Effectively download. */
- Path download(URL url, Path dir, String name) throws IOException {
+ /**
+ * Effectively download. Synchronised in order to avoid downloading twice in
+ * parallel.
+ */
+ synchronized Path download(URL url, Path dir, String name) throws IOException {
Path dest;
if (name == null) {