Generalise some library related variables
This commit is contained in:
@@ -20,24 +20,24 @@ public class NativeLocator {
|
|||||||
public File find(NativeDef nativeDef) throws IOException {
|
public File find(NativeDef nativeDef) throws IOException {
|
||||||
String resourceName = String.format("%s/%s/%s/%s", nativeDef.getGroupPath(), nativeDef.name, nativeDef.platform, nativeDef.file);
|
String resourceName = String.format("%s/%s/%s/%s", nativeDef.getGroupPath(), nativeDef.name, nativeDef.platform, nativeDef.file);
|
||||||
if (extractDir != null) {
|
if (extractDir != null) {
|
||||||
File libFile = new File(extractDir, String.format("%s/%s", nativeDef.platform, nativeDef.file));
|
File file = new File(extractDir, String.format("%s/%s", nativeDef.platform, nativeDef.file));
|
||||||
File lockFile = new File(libFile.getParentFile(), libFile.getName() + ".lock");
|
File lockFile = new File(file.getParentFile(), file.getName() + ".lock");
|
||||||
lockFile.getParentFile().mkdirs();
|
lockFile.getParentFile().mkdirs();
|
||||||
lockFile.createNewFile();
|
lockFile.createNewFile();
|
||||||
RandomAccessFile lockFileAccess = new RandomAccessFile(lockFile, "rw");
|
RandomAccessFile lockFileAccess = new RandomAccessFile(lockFile, "rw");
|
||||||
try {
|
try {
|
||||||
if (lockFile.length() > 0 && lockFileAccess.readBoolean()) {
|
if (lockFile.length() > 0 && lockFileAccess.readBoolean()) {
|
||||||
// Library has been extracted
|
// File has been extracted
|
||||||
return libFile;
|
return file;
|
||||||
}
|
}
|
||||||
URL resource = getClass().getClassLoader().getResource(resourceName);
|
URL resource = getClass().getClassLoader().getResource(resourceName);
|
||||||
if (resource != null) {
|
if (resource != null) {
|
||||||
// Extract library and write marker to lock file
|
// Extract file and write marker to lock file
|
||||||
libFile.getParentFile().mkdirs();
|
file.getParentFile().mkdirs();
|
||||||
copy(resource, libFile);
|
copy(resource, file);
|
||||||
lockFileAccess.seek(0);
|
lockFileAccess.seek(0);
|
||||||
lockFileAccess.writeBoolean(true);
|
lockFileAccess.writeBoolean(true);
|
||||||
return libFile;
|
return file;
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
// Also releases lock
|
// Also releases lock
|
||||||
@@ -46,15 +46,15 @@ public class NativeLocator {
|
|||||||
} else {
|
} else {
|
||||||
URL resource = getClass().getClassLoader().getResource(resourceName);
|
URL resource = getClass().getClassLoader().getResource(resourceName);
|
||||||
if (resource != null) {
|
if (resource != null) {
|
||||||
File libFile;
|
File file;
|
||||||
File libDir = File.createTempFile(nativeDef.file, "dir");
|
File directory = File.createTempFile(nativeDef.file, "dir");
|
||||||
libDir.delete();
|
directory.delete();
|
||||||
libDir.mkdirs();
|
directory.mkdirs();
|
||||||
libFile = new File(libDir, nativeDef.file);
|
file = new File(directory, nativeDef.file);
|
||||||
libFile.deleteOnExit();
|
file.deleteOnExit();
|
||||||
libDir.deleteOnExit();
|
directory.deleteOnExit();
|
||||||
copy(resource, libFile);
|
copy(resource, file);
|
||||||
return libFile;
|
return file;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user