Files
SpacetimeDB/sdks/csharp/tools~/gen-client-api.bat
Ingvar Stepanyan cefc727b76 Rewrite C# codegen to the new Lang infra + fixes (#220)
## Description of Changes

This is the companion PR for
https://github.com/clockworklabs/SpacetimeDB/pull/2184, please see the
other PR for full description.

On the client side main changes are:

- Regenerate .NET and Unity test client bindings and test snapshot.
- Remove `IDatabaseRow` since V9 multi-tables splits data types from
actual table definitions, so those "table data types" are no longer
special. Just using `IStructuralReadWrite` in its place now.
- Add base index classes as mentioned in the other PR.
- As a sub-improvement, the non-unique index class actually does
indexing instead of iterating over the entire table like we did before.
- Remove internal-but-not-really `InternalInvokeValueDeleted` and
`InternalInvokeValueInserted` methods in favour of private events.

## API

 - [x] This is an API breaking change to the SDK

Removes some technically-visible but internal APIs.

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2184

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: ingvar/csharp-new-codegen

## Testing
*Write instructions for a test that you performed for this PR*

- [x] Manually tested Blackholio

---------

Co-authored-by: James Gilles <jameshgilles@gmail.com>
2025-02-05 16:48:15 -05:00

16 lines
521 B
Batchfile

@echo off
setlocal
set "STDB_PATH=%1"
set "SDK_PATH=%~dp0.."
cargo run --manifest-path %STDB_PATH%/crates/client-api-messages/Cargo.toml --example get_ws_schema | ^
cargo run --manifest-path %STDB_PATH%/crates/cli/Cargo.toml -- generate -l csharp --namespace SpacetimeDB.ClientApi ^
--module-def ^
-o %SDK_PATH%/src/SpacetimeDB/ClientApi/.output
move "%SDK_PATH%\src\SpacetimeDB\ClientApi\.output\Types\*" "%SDK_PATH%\src\SpacetimeDB\ClientApi"
rmdir /s /q "%SDK_PATH%\src\SpacetimeDB\ClientApi\.output"
endlocal