From 0e3134a6ad00f63ffdf6e729f1be7db923eba158 Mon Sep 17 00:00:00 2001 From: Raki <46581776+mdrakiburrahman@users.noreply.github.com> Date: Sun, 6 Oct 2024 11:52:20 -0400 Subject: [PATCH] Update CSPROJ with Cargo --- CONTRIBUTING.md | 2 +- src/DeltaLake/DeltaLake.csproj | 77 +++++++++++++++++++++++++++++++--- 2 files changed, 72 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6c22ee9..7b6ab01 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,7 +33,7 @@ All 3 of these things are tightly coupled and must happen sequentially when you 2. The `dll` and `.h` must be built 3. The `.h` header is used to generate the interop `.cs` classes -So, since C# code in this repo will not change the Kernal DLL/Header that's generated, there's no point in continuously rebuilding the `.dll` via `csproj`. +> Note that the `.dll/.so/...` files are continuously generated via the `csproj` - but the `.h` and the `.cs` files are git committed, and must be generated by a maintainer using the steps below, whenever we bump the FFI version in `delta-kernel-rs.version.txt`. #### Build Kernel DLL diff --git a/src/DeltaLake/DeltaLake.csproj b/src/DeltaLake/DeltaLake.csproj index 74dbd7a..41e3e6f 100644 --- a/src/DeltaLake/DeltaLake.csproj +++ b/src/DeltaLake/DeltaLake.csproj @@ -1,4 +1,5 @@  + true DeltaLake for .NET @@ -27,23 +28,37 @@ - + delta_rs_bridge.dll delta_kernel_ffi.dll + libdelta_rs_bridge.so + libdelta_kernel_ffi.so + libdelta_rs_bridge.dylib + libdelta_kernel_ffi.dylib - + + + + + + + + + @@ -52,6 +67,12 @@ $(BridgeLibraryFile) Included + + + + + PreserveNewest $(KernelLibraryFile) @@ -60,13 +81,22 @@ - + + + + + + + + + - PreserveNewest @@ -76,12 +106,25 @@ + + + + PreserveNewest + $(KernelLibraryFile) + Included + + + + + - + + @@ -89,7 +132,7 @@ runtimes/linux-x64/native/libdelta_rs_bridge.so - runtimes/linux-arm64/native/libdelta_rs_bridge .so + runtimes/linux-arm64/native/libdelta_rs_bridge.so runtimes/osx-x64/native/libdelta_rs_bridge.dylib @@ -102,4 +145,26 @@ + + + + + runtimes/linux-x64/native/libdelta_kernel_ffi.so + + + runtimes/linux-arm64/native/libdelta_kernel_ffi.so + + + runtimes/osx-x64/native/libdelta_kernel_ffi.dylib + + + runtimes/osx-arm64/native/libdelta_kernel_ffi.dylib + + + runtimes/win-x64/native/delta_kernel_ffi.dll + + + + \ No newline at end of file