Skip to content

Commit 16930d1

Browse files
committed
update github cd
1 parent 8e809b9 commit 16930d1

1 file changed

Lines changed: 21 additions & 26 deletions

File tree

.github/workflows/build-and-publish.yml

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -58,30 +58,29 @@ jobs:
5858
run: chmod +x gradlew
5959

6060
- name: Build natives
61-
run: ./gradlew copyFlecsNative -PNATIVE_ARCH=${{ matrix.platform }}-${{ matrix.arch }}
61+
run: ./gradlew compileFlecsNative -PNATIVE_ARCH=${{ matrix.platform }}-${{ matrix.arch }}
6262
shell: bash
6363

6464
- name: Verify native library was built
6565
run: |
66-
FILE_PATH="build/natives/${{ matrix.platform }}-${{ matrix.arch }}/${{ matrix.lib }}"
66+
FILE_PATH="build/resources/main/natives/${{ matrix.platform }}-${{ matrix.arch }}/${{ matrix.lib }}"
6767
echo "Checking for native library at $FILE_PATH..."
68-
68+
6969
if [ ! -f "$FILE_PATH" ]; then
7070
echo "Error: Native library not found!"
7171
exit 1
7272
fi
73-
74-
# Vérification de la taille (102400 octets = 100ko)
73+
7574
FILE_SIZE=$(wc -c < "$FILE_PATH")
7675
MIN_SIZE=102400
77-
76+
7877
echo "File size: $FILE_SIZE bytes"
79-
78+
8079
if [ "$FILE_SIZE" -lt "$MIN_SIZE" ]; then
8180
echo "Error: File size is too small ($FILE_SIZE bytes). Expected at least $MIN_SIZE bytes."
8281
exit 1
8382
fi
84-
83+
8584
echo "✓ File exists and size is valid."
8685
ls -la "$FILE_PATH"
8786
shell: bash
@@ -90,7 +89,7 @@ jobs:
9089
uses: actions/upload-artifact@v4
9190
with:
9291
name: natives-${{ matrix.platform }}-${{ matrix.arch }}
93-
path: build/natives/${{ matrix.platform }}-${{ matrix.arch }}/${{ matrix.lib }}
92+
path: build/resources/main/natives/${{ matrix.platform }}-${{ matrix.arch }}/${{ matrix.lib }}
9493
retention-days: 1
9594

9695
publish:
@@ -120,31 +119,28 @@ jobs:
120119
121120
- name: Organize natives
122121
run: |
123-
mkdir -p build/natives
124-
125-
# Copy each artifact to the correct structure
122+
mkdir -p build/resources/main/natives
123+
126124
for artifact_dir in downloaded-natives/natives-*/; do
127-
# Extract platform-arch from folder name (e.g. natives-linux-x64 -> linux-x64)
128125
platform_arch=$(basename "$artifact_dir" | sed 's/^natives-//')
129-
126+
130127
echo "Processing $platform_arch..."
131-
mkdir -p "build/natives/$platform_arch"
132-
133-
# Copy library file from artifact
134-
cp "$artifact_dir"/* "build/natives/$platform_arch/" 2>/dev/null || {
128+
mkdir -p "build/resources/main/natives/$platform_arch"
129+
130+
cp "$artifact_dir"/* "build/resources/main/natives/$platform_arch/" 2>/dev/null || {
135131
echo "Warning: No files found in $artifact_dir"
136132
}
137133
done
138-
134+
139135
echo ""
140136
echo "Final native libraries structure:"
141-
find build/natives -type f
137+
find build/resources/main/natives -type f
142138
143139
- name: Grant execute permission for gradlew
144140
run: chmod +x gradlew
145141

146142
- name: Build final JAR with all natives
147-
run: ./gradlew jar -x compileFlecsNative -x copyFlecsNative
143+
run: ./gradlew jar -x compileFlecsNative
148144

149145
- name: Verify JAR contents
150146
run: |
@@ -154,11 +150,10 @@ jobs:
154150
echo "All natives in JAR:"
155151
jar tf build/libs/flecs-java-$VERSION.jar | grep "natives/" | sort
156152
echo ""
157-
158-
# Check each platform
159-
jar tf build/libs/flecs-java-$VERSION.jar | grep "natives/linux-x64/libflecs.so" && echo "✓ Linux x64" || echo "✗ Linux x64 MISSING"
160-
jar tf build/libs/flecs-java-$VERSION.jar | grep "natives/windows-x64/flecs.dll" && echo "✓ Windows x64" || echo "✗ Windows x64 MISSING"
161-
jar tf build/libs/flecs-java-$VERSION.jar | grep "natives/macos-x64/libflecs.dylib" && echo "✓ macOS x64" || echo "✗ macOS x64 MISSING"
153+
154+
jar tf build/libs/flecs-java-$VERSION.jar | grep "natives/linux-x64/libflecs.so" && echo "✓ Linux x64" || echo "✗ Linux x64 MISSING"
155+
jar tf build/libs/flecs-java-$VERSION.jar | grep "natives/windows-x64/flecs.dll" && echo "✓ Windows x64" || echo "✗ Windows x64 MISSING"
156+
jar tf build/libs/flecs-java-$VERSION.jar | grep "natives/macos-x64/libflecs.dylib" && echo "✓ macOS x64" || echo "✗ macOS x64 MISSING"
162157
jar tf build/libs/flecs-java-$VERSION.jar | grep "natives/macos-aarch64/libflecs.dylib" && echo "✓ macOS ARM64" || echo "✗ macOS ARM64 MISSING"
163158
164159
- name: Publish to Maven Central

0 commit comments

Comments
 (0)