diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..17b2fcf --- /dev/null +++ b/.gitmodules @@ -0,0 +1,9 @@ +[submodule "tdlib-serializer"] + path = tdlib-serializer + url = https://git.ignuranza.net/windoz/tdlib-serializer.git +[submodule "implementations/tdlib"] + path = implementations/tdlib + url = https://github.com/tdlib/td.git +[submodule "implementations/tdlight"] + path = implementations/tdlight + url = https://git.ignuranza.net/tdlight-team/tdlight.git diff --git a/implementations/tdlib b/implementations/tdlib new file mode 160000 index 0000000..62d7423 --- /dev/null +++ b/implementations/tdlib @@ -0,0 +1 @@ +Subproject commit 62d7423bc3f1925eb777e4f5e43de8c48ebf3191 diff --git a/implementations/tdlight b/implementations/tdlight new file mode 160000 index 0000000..459e08c --- /dev/null +++ b/implementations/tdlight @@ -0,0 +1 @@ +Subproject commit 459e08c1b46d67e80777355e011e615f703184c8 diff --git a/pom.template.xml b/pom.template.xml index a3b0e9b..c419ba8 100644 --- a/pom.template.xml +++ b/pom.template.xml @@ -1,9 +1,9 @@ 4.0.0 it.tdlight - tdlight-natives-${OPERATING_SYSTEM_NAME}-${CPU_ARCHITECTURE_NAME} - 3.0.0-${IMPLEMENTATION_NAME}-SNAPSHOT - TDLight Natives for Windows (amd64) + ${IMPLEMENTATION_NAME}-natives-${OPERATING_SYSTEM_NAME}-${CPU_ARCHITECTURE_NAME} + 3.0.0-SNAPSHOT + ${IMPLEMENTATION_NAME} natives for ${OPERATING_SYSTEM_NAME} (${CPU_ARCHITECTURE_NAME}) jar UTF-8 @@ -86,8 +86,8 @@ - it.tdlight.jni.operating_system_name.cpu_architecture_name.implementation_name - it.tdlight.jni.${OPERATING_SYSTEM_NAME}.${CPU_ARCHITECTURE_NAME}.${IMPLEMENTATION_NAME} + it.tdlight.jni.implementation_name.operating_system_name.cpu_architecture_name + it.tdlight.jni.${IMPLEMENTATION_NAME}.${OPERATING_SYSTEM_NAME}.${CPU_ARCHITECTURE_NAME} diff --git a/scripts/build_generated_maven_project.sh b/scripts/build_generated_maven_project.sh new file mode 100755 index 0000000..096db46 --- /dev/null +++ b/scripts/build_generated_maven_project.sh @@ -0,0 +1,7 @@ +#!/bin/bash -e +cd ../generated + +mvn clean package + +echo "Done." +exit 0 diff --git a/scripts/compile_natives.sh b/scripts/compile_natives.sh new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/scripts/compile_natives.sh @@ -0,0 +1 @@ + diff --git a/scripts/generate_maven_project.sh b/scripts/generate_maven_project.sh new file mode 100755 index 0000000..a1e86e4 --- /dev/null +++ b/scripts/generate_maven_project.sh @@ -0,0 +1,52 @@ +#!/bin/bash -e +# REQUIRED PARAMETERS: +# OPERATING_SYSTEM_NAME = +# CPU_ARCHITECTURE_NAME = +# IMPLEMENTATION_NAME = + +# Check variables correctness +if [ -z "${OPERATING_SYSTEM_NAME}" ]; then + echo "Missing parameter: OPERATING_SYSTEM_NAME" + exit 1 +fi +if [ -z "${CPU_ARCHITECTURE_NAME}" ]; then + echo "Missing parameter: CPU_ARCHITECTURE_NAME" + exit 1 +fi +if [ -z "${IMPLEMENTATION_NAME}" ]; then + echo "Missing parameter: IMPLEMENTATION_NAME" + exit 1 +fi + +cd ../ + +# Print details +echo "Generating maven project..." +echo "Current directory: $(pwd)" +echo "Operating system: ${OPERATING_SYSTEM_NAME}" +echo "Architecture: ${CPU_ARCHITECTURE_NAME}" +echo "Td implementation: ${IMPLEMENTATION_NAME}" + +# Delete old data +echo "Deleting old data..." +[ -d ./generated/ ] && rm -r ./generated/ + +# Create missing folders +echo "Creating missing folders..." +[ -d ./generated/ ] || mkdir ./generated/ +[ -d ./src/main/java/ ] || mkdir -p ./src/main/java/ +[ -d ./src/main/resources/ ] || mkdir -p ./src/main/resources/ +[ -d ./generated/src/main/ ] || mkdir -p ./generated/src/main/ +[ -d ./generated/src/main/ ] || mkdir -p ./generated/src/main/ + +# Generate pom.xml +echo "Generating pom.xml..." +sed -f "src/main/replacements/replace-${OPERATING_SYSTEM_NAME}-${CPU_ARCHITECTURE_NAME}-${IMPLEMENTATION_NAME}.sed" pom.template.xml > generated/pom.xml + +# Copy source files +echo "Copying source files..." +cp -r ./src/main/java ./generated/src/main/java +cp -r ./src/main/resources ./generated/src/main/resources + +echo "Done." +exit 0 diff --git a/src/main/java/it/tdlight/jni/operating_system_name/cpu_architecture_name/implementation_name/LoadLibrary.java b/src/main/java/it/tdlight/jni/implementation_name/operating_system_name/cpu_architecture_name/LoadLibrary.java similarity index 63% rename from src/main/java/it/tdlight/jni/operating_system_name/cpu_architecture_name/implementation_name/LoadLibrary.java rename to src/main/java/it/tdlight/jni/implementation_name/operating_system_name/cpu_architecture_name/LoadLibrary.java index 67e132e..6fe2d01 100644 --- a/src/main/java/it/tdlight/jni/operating_system_name/cpu_architecture_name/implementation_name/LoadLibrary.java +++ b/src/main/java/it/tdlight/jni/implementation_name/operating_system_name/cpu_architecture_name/LoadLibrary.java @@ -1,4 +1,4 @@ -package it.tdlight.jni.operating_system_name.cpu_architecture_name.implementation_name; +package it.tdlight.jni.implementation_name.operating_system_name.cpu_architecture_name; import java.lang.ClassLoader; diff --git a/tdlib b/tdlib new file mode 160000 index 0000000..62d7423 --- /dev/null +++ b/tdlib @@ -0,0 +1 @@ +Subproject commit 62d7423bc3f1925eb777e4f5e43de8c48ebf3191 diff --git a/tdlib-serializer b/tdlib-serializer new file mode 160000 index 0000000..02e9f27 --- /dev/null +++ b/tdlib-serializer @@ -0,0 +1 @@ +Subproject commit 02e9f2796f092637930280e2d075d81bfca0f645 diff --git a/tdlight b/tdlight new file mode 160000 index 0000000..459e08c --- /dev/null +++ b/tdlight @@ -0,0 +1 @@ +Subproject commit 459e08c1b46d67e80777355e011e615f703184c8