mirror of
https://github.com/tribufu/tribufu-java
synced 2026-05-06 14:57:27 +00:00
83 lines
2.7 KiB
Python
83 lines
2.7 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import os
|
|
import subprocess
|
|
import platform
|
|
import shutil
|
|
|
|
from pathlib import Path
|
|
|
|
Path("./Release").mkdir(parents=True, exist_ok=True)
|
|
|
|
if os.path.exists("./Release/Windows"):
|
|
shutil.rmtree("./Release/Windows")
|
|
|
|
Path("./Release/Windows").mkdir(parents=True, exist_ok=True)
|
|
|
|
if os.path.exists("./Release/Mac"):
|
|
shutil.rmtree("./Release/Mac")
|
|
|
|
Path("./Release/Mac").mkdir(parents=True, exist_ok=True)
|
|
|
|
if os.path.exists("./Release/Linux"):
|
|
shutil.rmtree("./Release/Linux")
|
|
|
|
Path("./Release/Linux").mkdir(parents=True, exist_ok=True)
|
|
|
|
print("Building Native Library")
|
|
|
|
os.system("cargo build --release")
|
|
|
|
# Windows
|
|
|
|
if platform.system() == "Windows":
|
|
shutil.copy2("./Binaries/release/TribuFu_Jvm.dll", "./Release/Windows/TribuFu_Jvm.dll")
|
|
|
|
# Mac
|
|
|
|
elif platform.system() == "Mac":
|
|
shutil.copy2("./Binaries/release/libTribuFu_Jvm.dylib", "./Release/Windows/libTribuFu_Jvm.dylib")
|
|
|
|
# Linux
|
|
|
|
elif platform.system() == "Linux":
|
|
shutil.copy2("./Binaries/release/libTribuFu_Jvm.so", "./Release/Windows/libTribuFu_Jvm.so")
|
|
|
|
# Android
|
|
|
|
os.system("cargo ndk -t armeabi-v7a -t arm64-v8a -t x86 -t x86_64 build --release")
|
|
|
|
Path("./android/src/main/jniLibs").mkdir(parents=True, exist_ok=True)
|
|
Path("./android/src/main/jniLibs/arm64-v8a").mkdir(parents=True, exist_ok=True)
|
|
Path("./android/src/main/jniLibs/armeabi-v7a").mkdir(parents=True, exist_ok=True)
|
|
Path("./android/src/main/jniLibs/x86_64").mkdir(parents=True, exist_ok=True)
|
|
Path("./android/src/main/jniLibs/x86").mkdir(parents=True, exist_ok=True)
|
|
|
|
shutil.copy2("./Binaries/aarch64-linux-android/release/libTribuFu_Jvm.so", "./android/src/main/jniLibs/arm64-v8a/libTribuFu_Jvm.so")
|
|
shutil.copy2("./Binaries/armv7-linux-androideabi/release/libTribuFu_Jvm.so", "./android/src/main/jniLibs/armeabi-v7a/libTribuFu_Jvm.so" )
|
|
shutil.copy2("./Binaries/x86_64-linux-android/release/libTribuFu_Jvm.so", "./android/src/main/jniLibs/x86_64/libTribuFu_Jvm.so")
|
|
shutil.copy2("./Binaries/i686-linux-android/release/libTribuFu_Jvm.so", "./android/src/main/jniLibs/x86/libTribuFu_Jvm.so")
|
|
|
|
print("Building JVM Library")
|
|
|
|
if platform.system() == "Windows":
|
|
subprocess.run("gradlew.bat :library:build")
|
|
subprocess.run("gradlew.bat :library:jar")
|
|
else:
|
|
subprocess.run("./gradlew :library:build")
|
|
subprocess.run("./gradlew :library:jar")
|
|
|
|
shutil.copy2("./library/build/libs/library-0.0.1.jar", "./Release/TribuFu.jar")
|
|
|
|
print("Building Android Library")
|
|
|
|
Path("./android/libs").mkdir(parents=True, exist_ok=True)
|
|
|
|
shutil.copy2("./Release/TribuFu.jar", "./android/libs/TribuFu.jar")
|
|
|
|
if platform.system() == "Windows":
|
|
subprocess.run("gradlew.bat :android:build")
|
|
else:
|
|
subprocess.run("./gradlew :android:build")
|
|
|
|
shutil.copy2("./android/build/outputs/aar/android-release.aar", "./Release/TribuFu.aar")
|