diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml index cb9701f..3d3e974 100644 --- a/.github/workflows/maven-publish.yml +++ b/.github/workflows/maven-publish.yml @@ -34,11 +34,11 @@ jobs: echo "REVISION=$REVISION" >> $GITHUB_ENV echo "IMPLEMENTATION_NAME=$IMPLEMENTATION_NAME" >> $GITHUB_ENV - - name: Set up JDK 15 + - name: Set up JDK 11 if: ${{ startsWith(github.ref, 'refs/tags/v') }} uses: actions/setup-java@v1 with: - java-version: 15 + java-version: 11 server-id: mchv-release-distribution server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD diff --git a/src/main/java-templates-tdlib/it/tdlight/common/utils/LibraryVersion.java b/src/main/java-templates-tdlib/it/tdlight/common/utils/LibraryVersion.java index 9178aa3..7534f48 100644 --- a/src/main/java-templates-tdlib/it/tdlight/common/utils/LibraryVersion.java +++ b/src/main/java-templates-tdlib/it/tdlight/common/utils/LibraryVersion.java @@ -1,14 +1,14 @@ package it.tdlight.common.utils; public final class LibraryVersion { - public static final String VERSION = "${project.version}"; - public static final String NATIVES_VERSION = "${natives-version}"; - public static final String IMPLEMENTATION_NAME = "tdlib"; - public static final String LINUX_X86_CLASS = "it.tdlight.jni.tdlib.linux.x86.LoadLibrary"; - 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 LINUX_ARMV6_CLASS = "it.tdlight.jni.tdlib.linux.armv6.LoadLibrary"; - public static final String LINUX_ARMV7_CLASS = "it.tdlight.jni.tdlib.linux.armv7.LoadLibrary"; - public static final String LINUX_PPC64LE_CLASS = "it.tdlight.jni.tdlib.linux.ppc64le.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"; + public static final String VERSION = "${project.version}"; + public static final String NATIVES_VERSION = "${natives-version}"; + public static final String IMPLEMENTATION_NAME = "tdlib"; + public static final String LINUX_X86_CLASS = "it.tdlight.jni.tdlib.linux.x86.LoadLibrary"; + 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 LINUX_ARMHF_CLASS = "it.tdlight.jni.tdlib.linux.armhf.LoadLibrary"; + public static final String LINUX_S390X_CLASS = "it.tdlight.jni.tdlib.linux.s390x.LoadLibrary"; + public static final String LINUX_PPC64LE_CLASS = "it.tdlight.jni.tdlib.linux.ppc64le.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"; } \ No newline at end of file diff --git a/src/main/java-templates-tdlight/it/tdlight/common/utils/LibraryVersion.java b/src/main/java-templates-tdlight/it/tdlight/common/utils/LibraryVersion.java index 4d8f625..f5c3357 100644 --- a/src/main/java-templates-tdlight/it/tdlight/common/utils/LibraryVersion.java +++ b/src/main/java-templates-tdlight/it/tdlight/common/utils/LibraryVersion.java @@ -1,14 +1,14 @@ package it.tdlight.common.utils; public final class LibraryVersion { - public static final String VERSION = "${project.version}"; - public static final String NATIVES_VERSION = "${natives-version}"; - public static final String IMPLEMENTATION_NAME = "tdlight"; - public static final String LINUX_X86_CLASS = "it.tdlight.jni.tdlight.linux.x86.LoadLibrary"; - 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 LINUX_ARMV6_CLASS = "it.tdlight.jni.tdlight.linux.armv6.LoadLibrary"; - public static final String LINUX_ARMV7_CLASS = "it.tdlight.jni.tdlight.linux.armv7.LoadLibrary"; - public static final String LINUX_PPC64LE_CLASS = "it.tdlight.jni.tdlight.linux.ppc64le.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"; + public static final String VERSION = "${project.version}"; + public static final String NATIVES_VERSION = "${natives-version}"; + public static final String IMPLEMENTATION_NAME = "tdlight"; + public static final String LINUX_X86_CLASS = "it.tdlight.jni.tdlight.linux.x86.LoadLibrary"; + 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 LINUX_ARMHF_CLASS = "it.tdlight.jni.tdlight.linux.armhf.LoadLibrary"; + public static final String LINUX_S390X_CLASS = "it.tdlight.jni.tdlight.linux.s390x.LoadLibrary"; + public static final String LINUX_PPC64LE_CLASS = "it.tdlight.jni.tdlight.linux.ppc64le.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"; } \ No newline at end of file diff --git a/src/main/java/it/tdlight/common/Init.java b/src/main/java/it/tdlight/common/Init.java index 4f8ac55..59d8d3f 100644 --- a/src/main/java/it/tdlight/common/Init.java +++ b/src/main/java/it/tdlight/common/Init.java @@ -37,7 +37,7 @@ public class Init { if (!started) { Os os = LoadLibrary.getOs(); - if (os == Os.win) { + if (os == Os.WINDOWS) { // Since 3.0.0, libraries for windows are statically compiled into tdjni.dll } diff --git a/src/main/java/it/tdlight/common/utils/Arch.java b/src/main/java/it/tdlight/common/utils/Arch.java index a3e4092..61f48b7 100644 --- a/src/main/java/it/tdlight/common/utils/Arch.java +++ b/src/main/java/it/tdlight/common/utils/Arch.java @@ -21,5 +21,11 @@ package it.tdlight.common.utils; * Enumeration with all architectures recognized by this library. */ public enum Arch { - amd64, x86, armv6, armv7, aarch64, ppc64le, unknown + UNKNOWN, + AMD64, + I386, + ARMHF, + AARCH64, + PPC64LE, + S390X } diff --git a/src/main/java/it/tdlight/common/utils/LoadLibrary.java b/src/main/java/it/tdlight/common/utils/LoadLibrary.java index a3e764f..d1e47fc 100644 --- a/src/main/java/it/tdlight/common/utils/LoadLibrary.java +++ b/src/main/java/it/tdlight/common/utils/LoadLibrary.java @@ -71,11 +71,11 @@ public class LoadLibrary { Arch arch = getCpuArch(); Os os = getOs(); - if (arch == Arch.unknown) { + if (arch == Arch.UNKNOWN) { throw (CantLoadLibrary) new CantLoadLibrary().initCause(new IllegalStateException("Arch: \"" + System.getProperty("os.arch") + "\" is unknown")); } - if (os == Os.unknown) { + if (os == Os.UNKNOWN) { throw (CantLoadLibrary) new CantLoadLibrary().initCause(new IllegalStateException("Os: \"" + System.getProperty("os.name") + "\" is unknown")); } @@ -104,44 +104,44 @@ public class LoadLibrary { Path tempFile = Paths.get(tempPath.toString(), libname + getExt(os)); Class classForResource = null; switch (os) { - case linux: + case LINUX: switch (arch) { - case amd64: + case AMD64: try { classForResource = Class.forName(LibraryVersion.LINUX_AMD64_CLASS); } catch (ClassNotFoundException e) { // not found } break; - case x86: + case I386: try { classForResource = Class.forName(LibraryVersion.LINUX_X86_CLASS); } catch (ClassNotFoundException e) { // not found } break; - case aarch64: + case AARCH64: try { classForResource = Class.forName(LibraryVersion.LINUX_AARCH64_CLASS); } catch (ClassNotFoundException e) { // not found } break; - case armv7: + case ARMHF: try { - classForResource = Class.forName(LibraryVersion.LINUX_ARMV7_CLASS); + classForResource = Class.forName(LibraryVersion.LINUX_ARMHF_CLASS); } catch (ClassNotFoundException e) { // not found } break; - case armv6: + case S390X: try { - classForResource = Class.forName(LibraryVersion.LINUX_ARMV6_CLASS); + classForResource = Class.forName(LibraryVersion.LINUX_S390X_CLASS); } catch (ClassNotFoundException e) { // not found } break; - case ppc64le: + case PPC64LE: try { classForResource = Class.forName(LibraryVersion.LINUX_PPC64LE_CLASS); } catch (ClassNotFoundException e) { @@ -150,8 +150,8 @@ public class LoadLibrary { break; } break; - case osx: - if (arch == Arch.amd64) { + case OSX: + if (arch == Arch.AMD64) { try { classForResource = Class.forName(LibraryVersion.OSX_AMD64_CLASS); } catch (ClassNotFoundException e) { @@ -159,16 +159,16 @@ public class LoadLibrary { } } break; - case win: + case WINDOWS: switch (arch) { - case amd64: + case AMD64: try { classForResource = Class.forName(LibraryVersion.WINDOWS_AMD64_CLASS); } catch (ClassNotFoundException e) { // not found } break; - case x86: + case I386: break; } break; @@ -195,52 +195,63 @@ public class LoadLibrary { switch (architecture) { case "amd64": case "x86_64": - return Arch.amd64; + return Arch.AMD64; case "i386": case "x86": - return Arch.x86; + case "386": + case "i686": + case "686": + return Arch.I386; case "armv6": - return Arch.armv6; case "arm": + case "armhf": case "aarch32": case "armv7": case "armv7l": - return Arch.armv7; + return Arch.ARMHF; case "arm64": case "aarch64": - return Arch.aarch64; + case "armv8": + case "armv8l": + return Arch.AARCH64; case "powerpc": + case "powerpc64": + case "powerpc64le": + case "powerpc64el": + case "ppc": case "ppc64": + case "ppc64le": + case "ppc64el": if (ByteOrder.nativeOrder().equals(ByteOrder.LITTLE_ENDIAN)) // Java always returns ppc64 for all 64-bit powerpc but - return Arch.ppc64le; // powerpc64le (our target) is very different, it uses this condition to accurately identify the architecture + return Arch.PPC64LE; // powerpc64le (our target) is very different, it uses this condition to accurately identify the architecture else - return Arch.unknown; + return Arch.UNKNOWN; default: - return Arch.unknown; + return Arch.UNKNOWN; } } public static Os getOs() { String os = System.getProperty("os.name").toLowerCase().trim(); if (os.contains("linux")) - return Os.linux; + return Os.LINUX; if (os.contains("windows")) - return Os.win; + return Os.WINDOWS; if (os.contains("mac")) - return Os.osx; + return Os.OSX; if (os.contains("darwin")) - return Os.osx; - return Os.unknown; + return Os.OSX; + return Os.UNKNOWN; } private static String getExt(Os os) { switch (os) { - case win: + case WINDOWS: return ".dll"; - case osx: + case OSX: return ".dylib"; - case linux: - case unknown: + case LINUX: + case UNKNOWN: default: return ".so"; } diff --git a/src/main/java/it/tdlight/common/utils/Os.java b/src/main/java/it/tdlight/common/utils/Os.java index c0f916d..780523e 100644 --- a/src/main/java/it/tdlight/common/utils/Os.java +++ b/src/main/java/it/tdlight/common/utils/Os.java @@ -20,9 +20,9 @@ package it.tdlight.common.utils; /** * Enumeration with all operating systems recognized by this library. */ -public enum Os { - linux, - win, - osx, - unknown +public enum Os { + LINUX, + WINDOWS, + OSX, + UNKNOWN } diff --git a/tdlib/pom.xml b/tdlib/pom.xml index 86b7ab9..6b8be93 100644 --- a/tdlib/pom.xml +++ b/tdlib/pom.xml @@ -8,8 +8,8 @@ UTF-8 1.0.0-SNAPSHOT - 3.3.72 - 3.3.74 + 3.3.125 + 3.3.127 @@ -66,15 +66,15 @@ 1.0.3 - - - - it.unimi.dsi - fastutil - 8.5.2 - - - + + + + it.unimi.dsi + fastutil + 8.5.2 + + + releaseDir @@ -156,7 +156,8 @@ 3.8.1 UTF-8 - 8 + 8 + 8 false it/tdlight/tdlight/ClientManager.java @@ -190,10 +191,11 @@ - 8 + 8 + 8 - it/tdlight/tdlight/ClientManager.java + it/tdlight/tdlight/ClientManager.java module-info.java diff --git a/tdlight/pom.xml b/tdlight/pom.xml index 70df41b..5fef72f 100644 --- a/tdlight/pom.xml +++ b/tdlight/pom.xml @@ -8,8 +8,8 @@ UTF-8 1.0.0-SNAPSHOT - 3.3.72 - 3.3.74 + 3.3.125 + 3.3.127 @@ -66,15 +66,15 @@ 1.0.3 - - - - it.unimi.dsi - fastutil - 8.5.2 - - - + + + + it.unimi.dsi + fastutil + 8.5.2 + + + releaseDir @@ -156,7 +156,8 @@ 3.8.1 UTF-8 - 8 + 8 + 8 false it/tdlight/tdlib/ClientManager.java @@ -190,10 +191,11 @@ - 8 + 8 + 8 - it/tdlight/tdlib/ClientManager.java + it/tdlight/tdlib/ClientManager.java module-info.java