Skip to content

Add .NET bindings - #1

Closed
grinidx wants to merge 5 commits into
mainfrom
dotnet-bindings
Closed

Add .NET bindings#1
grinidx wants to merge 5 commits into
mainfrom
dotnet-bindings

Conversation

@grinidx

@grinidx grinidx commented Aug 17, 2026

Copy link
Copy Markdown
Member

CI dry run in the fork. Do not merge.

Adds a `protoc_builtin: csharp` entry to buf.gen.yaml alongside java and
kotlin, the generated `bindings/dotnet/src/Scip.cs`, and a project that
packs to the `Scip` NuGet package.

protoc's C# backend emits an uncompilable `Descriptor` class (CS0542), so
proto-generate renames the generated class to `SymbolDescriptor`. The
Protobuf message itself is untouched.
Builds and packs bindings/dotnet with `buildDotnetModule`, pinned to the
.NET 10 SDK, and asserts the project version matches cmd/scip/version.txt
in the same style as the Rust, Haskell and TypeScript checks.
The PR check builds bindings/dotnet with a stock SDK and validates the
package version against cmd/scip/version.txt, as the JVM bindings check
does. The release workflow packs and pushes the Scip package to NuGet
through `nix develop`, like the crate and Hackage jobs.
Adds bindings/dotnet/Scip.csproj to the list of files a version bump
touches, and a NuGet publishing section alongside the JVM one.
`Scip.Index` is ambiguous with `System.Index` under implicit usings, so the
README example aliases it. Google.Protobuf joins protobuf-java in the
renovate rule that keeps the runtime in lock-step with flake.nix's protoc.
@grinidx

grinidx commented Aug 17, 2026

Copy link
Copy Markdown
Member Author

Opened only to make the fork's pull_request workflows run. The real PR is scip-code#475.

@grinidx grinidx closed this Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant