Update LibraryVersion.java, LibraryVersion.java, and 3 more files...
This commit is contained in:
parent
27e77c40e0
commit
9bbb59695a
src/main
java-templates-tdlib/it/tdlight/common/utils
java-templates-tdlight/it/tdlight/common/utils
java/it/tdlight/common/utils
tdlib
tdlight
@ -2,8 +2,8 @@ package it.tdlight.common.utils;
|
||||
public final class LibraryVersion {
|
||||
public static final String VERSION = "${project.version}";
|
||||
public static final String IMPLEMENTATION_NAME = "tdlib";
|
||||
public static final Class<?> LINUX_AMD64_CLASS = it.tdlight.jni.tdlib.linux.amd64.LoadLibrary.class;
|
||||
public static final Class<?> LINUX_AARCH64_CLASS = it.tdlight.jni.tdlib.linux.aarch64.LoadLibrary.class;
|
||||
public static final Class<?> WINDOWS_AMD64_CLASS = it.tdlight.jni.tdlib.win.amd64.LoadLibrary.class;
|
||||
public static final Class<?> OSX_AMD64_CLASS = it.tdlight.jni.tdlib.osx.amd64.LoadLibrary.class;
|
||||
public static final String LINUX_AMD64_CLASS = "it.tdlight.jni.tdlib.linux.amd64.LoadLibrary";
|
||||
public static final String LINUX_AARCH64_CLASS = "it.tdlight.jni.tdlib.linux.aarch64.LoadLibrary";
|
||||
public static final String WINDOWS_AMD64_CLASS = "it.tdlight.jni.tdlib.win.amd64.LoadLibrary";
|
||||
public static final String OSX_AMD64_CLASS = "it.tdlight.jni.tdlib.osx.amd64.LoadLibrary";
|
||||
}
|
@ -2,8 +2,8 @@ package it.tdlight.common.utils;
|
||||
public final class LibraryVersion {
|
||||
public static final String VERSION = "${project.version}";
|
||||
public static final String IMPLEMENTATION_NAME = "tdlight";
|
||||
public static final Class<?> LINUX_AMD64_CLASS = it.tdlight.jni.tdlight.linux.amd64.LoadLibrary.class;
|
||||
public static final Class<?> LINUX_AARCH64_CLASS = it.tdlight.jni.tdlight.linux.aarch64.LoadLibrary.class;
|
||||
public static final Class<?> WINDOWS_AMD64_CLASS = it.tdlight.jni.tdlight.win.amd64.LoadLibrary.class;
|
||||
public static final Class<?> OSX_AMD64_CLASS = it.tdlight.jni.tdlight.osx.amd64.LoadLibrary.class;
|
||||
public static final String LINUX_AMD64_CLASS = "it.tdlight.jni.tdlight.linux.amd64.LoadLibrary";
|
||||
public static final String LINUX_AARCH64_CLASS = "it.tdlight.jni.tdlight.linux.aarch64.LoadLibrary";
|
||||
public static final String WINDOWS_AMD64_CLASS = "it.tdlight.jni.tdlight.win.amd64.LoadLibrary";
|
||||
public static final String OSX_AMD64_CLASS = "it.tdlight.jni.tdlight.osx.amd64.LoadLibrary";
|
||||
}
|
@ -24,6 +24,7 @@ import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
/**
|
||||
* The class to load the libraries needed to run Tdlib
|
||||
@ -104,29 +105,49 @@ public class LoadLibrary {
|
||||
case linux:
|
||||
switch (arch) {
|
||||
case amd64:
|
||||
classForResource = LibraryVersion.LINUX_AMD64_CLASS;
|
||||
try {
|
||||
classForResource = Class.forName(LibraryVersion.LINUX_AMD64_CLASS);
|
||||
} catch (ClassNotFoundException e) {
|
||||
// not found
|
||||
}
|
||||
break;
|
||||
case aarch64:
|
||||
classForResource = LibraryVersion.LINUX_AARCH64_CLASS;
|
||||
try {
|
||||
classForResource = Class.forName(LibraryVersion.LINUX_AARCH64_CLASS);
|
||||
} catch (ClassNotFoundException e) {
|
||||
// not found
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case osx:
|
||||
if (arch == Arch.amd64) {
|
||||
classForResource = LibraryVersion.OSX_AMD64_CLASS;
|
||||
try {
|
||||
classForResource = Class.forName(LibraryVersion.OSX_AMD64_CLASS);
|
||||
} catch (ClassNotFoundException e) {
|
||||
// not found
|
||||
}
|
||||
}
|
||||
break;
|
||||
case win:
|
||||
if (arch == Arch.amd64) {
|
||||
classForResource = LibraryVersion.WINDOWS_AMD64_CLASS;
|
||||
try {
|
||||
classForResource = Class.forName(LibraryVersion.WINDOWS_AMD64_CLASS);
|
||||
} catch (ClassNotFoundException e) {
|
||||
// not found
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (classForResource == null) {
|
||||
throw new IOException("Native libraries for platform " + os + "-" + arch + " not found!");
|
||||
}
|
||||
String libPath = createPath("libs", os.name(), arch.name(), libname) + getExt(os);
|
||||
InputStream libInputStream = classForResource.getResourceAsStream(libPath);
|
||||
InputStream libInputStream;
|
||||
try {
|
||||
libInputStream = (InputStream) this.getClass().getDeclaredMethod("getLibraryAsStream").invoke(InputStream.class);
|
||||
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
|
||||
throw new IOException("Native libraries for platform " + os + "-" + arch + " not found!", e);
|
||||
}
|
||||
if (Files.notExists(tempFile)) {
|
||||
Files.copy(libInputStream, tempFile);
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<revision>0-SNAPSHOT</revision>
|
||||
<natives-version>3.0.123</natives-version>
|
||||
<natives-version>3.0.125</natives-version>
|
||||
</properties>
|
||||
<repositories>
|
||||
<repository>
|
||||
|
@ -8,7 +8,7 @@
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<revision>0-SNAPSHOT</revision>
|
||||
<natives-version>3.0.123</natives-version>
|
||||
<natives-version>3.0.125</natives-version>
|
||||
</properties>
|
||||
<repositories>
|
||||
<repository>
|
||||
|
Loading…
x
Reference in New Issue
Block a user