Skip to content

Commit 7e98f58

Browse files
committed
Make: Fat JAR packaging order in CI
1 parent da1b5e4 commit 7e98f58

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

.github/workflows/release.yml

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)