@@ -714,47 +714,49 @@ jobs:
714714 uses : actions/download-artifact@v4
715715 with :
716716 pattern : native-libs-*
717-
718- - name : Organize libraries for Gradle
717+
718+ - name : Set up Java
719+ uses : actions/setup-java@v5
720+ with :
721+ java-version : ${{ env.JAVA_VERSION }}
722+ distribution : ' adopt'
723+ - name : Setup Gradle
724+ uses : gradle/gradle-build-action@v3.5.0
725+ - name : Build fat JAR with all platforms
719726 run : |
727+ # First build the JAR, which will build local native lib
728+ # and overwrite "build/libs/usearch/shared"
729+ gradle compileJava processResources
730+
731+ # Now organize the pre-built libraries to overwrite the local one
720732 mkdir -p build/libs/usearch/shared/{linux-amd64,linux-arm64,windows-amd64,windows-x86,windows-arm64,darwin-amd64,darwin-arm64,android-arm64,android-arm32}
721-
733+
722734 # Linux
723735 cp native-libs-linux-amd64/libusearch_c.so build/libs/usearch/shared/linux-amd64/ || true
724736 cp native-libs-linux-arm64/libusearch_c.so build/libs/usearch/shared/linux-arm64/ || true
725-
737+
726738 # Windows
727739 cp native-libs-windows-x64/libusearch_c.dll build/libs/usearch/shared/windows-amd64/ || true
728740 cp native-libs-windows-x86/libusearch_c.dll build/libs/usearch/shared/windows-x86/ || true
729741 cp native-libs-windows-arm64/libusearch_c.dll build/libs/usearch/shared/windows-arm64/ || true
730-
742+
731743 # macOS
732744 cp native-libs-macos-arm64/libusearch_c.dylib build/libs/usearch/shared/darwin-arm64/ || true
733745 cp native-libs-macos-x86_64/libusearch_c.dylib build/libs/usearch/shared/darwin-amd64/ || true
734-
746+
735747 # Android
736748 cp native-libs-android-arm64/libusearch_c.so build/libs/usearch/shared/android-arm64/ || true
737749 cp native-libs-android-arm32/libusearch_c.so build/libs/usearch/shared/android-arm32/ || true
738-
739- echo "=== Native libraries ready ==="
740- find build/libs/usearch/shared -name "libusearch_c.*" | sort
741750
742- - name : Set up Java
743- uses : actions/setup-java@v5
744- with :
745- java-version : ${{ env.JAVA_VERSION }}
746- distribution : ' adopt'
747- - name : Setup Gradle
748- uses : gradle/gradle-build-action@v3.5.0
749- - name : Build fat JAR with all platforms
750- run : |
751- echo "=== Building fat JAR with pre-downloaded native libraries ==="
752- ls -la build/libs/usearch/shared/
751+ echo "=== Native libraries organized ==="
752+ tree build/libs/usearch/shared || find build/libs/usearch/shared -name "libusearch_c.*" | sort
753+
754+ # Now build the actual fatJar
753755 gradle fatJar
754756 - name : Verify fat JAR contents
755757 run : |
756758 echo "=== Verifying fat JAR contents ==="
757- jar tf build/libs/usearch-*.jar | grep -E "usearch-native.*\.(so|dll|dylib)" | sort
759+ jar tf build/libs/usearch-*.jar
758760
759761 # Count native libraries
760762 lib_count=$(jar tf build/libs/usearch-*.jar | grep -E "usearch-native.*\.(so|dll|dylib)" | wc -l)
0 commit comments