Migrate Package Script to Python

This commit is contained in:
GuilhermeWerner 2021-07-18 14:02:30 -03:00
parent 6dda82b593
commit 1de31a1fee
2 changed files with 91 additions and 38 deletions

View file

@ -1,40 +1,10 @@
#!/usr/bin/env pwsh
echo "Building Native Library"
cargo build --release
echo "Building JVM Library"
./gradlew :library:build
./gradlew :library:jar
New-Item -Path "./Release" -ItemType Directory -Force
New-Item -Path "./Release/Windows" -ItemType Directory -Force
New-Item -Path "./Release/Mac" -ItemType Directory -Force
New-Item -Path "./Release/Linux" -ItemType Directory -Force
Copy-Item -Path "./library/build/libs/library-0.0.1.jar" -Destination "./Release/TribuFu.jar" -Recurse -Force
Copy-Item -Path "./Binaries/release/TribuFu_Jvm.dll" -Destination "./Release/Windows/TribuFu_Jvm.dll" -Recurse -Force
echo "Building Android Library"
cargo ndk -t armeabi-v7a -t arm64-v8a -t x86 -t x86_64 build --release
New-Item -Path "./android/src/main/jniLibs" -ItemType Directory -Force
New-Item -Path "./android/src/main/jniLibs/arm64-v8a" -ItemType Directory -Force
New-Item -Path "./android/src/main/jniLibs/armeabi-v7a" -ItemType Directory -Force
New-Item -Path "./android/src/main/jniLibs/x86_64" -ItemType Directory -Force
New-Item -Path "./android/src/main/jniLibs/x86" -ItemType Directory -Force
Copy-Item -Path "./Binaries/aarch64-linux-android/release/libTribuFu_Jvm.so" -Destination "./android/src/main/jniLibs/arm64-v8a/libTribuFu_Jvm.so" -Recurse -Force
Copy-Item -Path "./Binaries/armv7-linux-androideabi/release/libTribuFu_Jvm.so" -Destination "./android/src/main/jniLibs/armeabi-v7a/libTribuFu_Jvm.so" -Recurse -Force
Copy-Item -Path "./Binaries/x86_64-linux-android/release/libTribuFu_Jvm.so" -Destination "./android/src/main/jniLibs/x86_64/libTribuFu_Jvm.so" -Recurse -Force
Copy-Item -Path "./Binaries/i686-linux-android/release/libTribuFu_Jvm.so" -Destination "./android/src/main/jniLibs/x86/libTribuFu_Jvm.so" -Recurse -Force
New-Item -Path "./android/libs" -ItemType Directory -Force
Copy-Item -Path "./Release/TribuFu.jar" -Destination "./android/libs/TribuFu.jar" -Recurse -Force
./gradlew :android:build
Copy-Item -Path "./android/build/outputs/aar/android-release.aar" -Destination "./Release/TribuFu.aar" -Recurse -Force
if ($IsWindows)
{
python ./Scripts/Package.py
}
else
{
python3 ./Scripts/Package.py
}

83
Scripts/Package.py Normal file
View file

@ -0,0 +1,83 @@
#!/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")