Skip to content

Latest commit

 

History

History
68 lines (51 loc) · 2.98 KB

README.md

File metadata and controls

68 lines (51 loc) · 2.98 KB

uniffi-generators - Hosting UniFFI bindings generators in docker images

Official UniFFI project provides binding generator for Kotlin, Swift, Python and Ruby. In Nord we've developed external generators for C# and Go. This repository is hosting docker images that contain all three generators in the compatible versions.

How to use

Start docker container with image from this repository e.g.:

ghcr.io/NordSecurity/uniffi-generators:v0.23.0-1

Inside docker you can run:

uniffi-bindgen generate src/definition.udl --language python
uniffi-bindgen-cs src/definition.udl
uniffi-bindgen-go src/definition.udl

For the exact instructions on how to run individual generators please visit their respective repositories: uniffi-bindgen uniffi-bindgen-cs uniffi-bindgen-go

Contributing

For contribution guidelines, read CONTRIBUTING.md

Versioning

This project is versioned in sync with uniffi-rs. So e.g. generators compatible with uniffi version v0.23.0 will be tagged v0.23.0-X in this repository. X will be incremented each time one of the generators is updated e.g. because of the bug fix. The table below shows which versions of each generator are inside the docker image.

Docker image uniffi-rs version uniffi-bindgen-cs version uniffi-bindgen-go version
v0.23.0-5 v0.23.0-3 (FORK) v0.4.0+v0.23.0 v0.1.5+v0.23.0
v0.23.0-4 v0.23.0 (FORK) v0.2.3+v0.23.0 v0.1.3+v0.23.0
v0.23.0-3 (DO NOT USE) v0.23.0 (FORK) v0.2.2+v0.23.0 v0.1.0+v0.23.0
v0.23.0-2 (DO NOT USE) v0.23.0 v0.2.1+v0.23.0 v0.1.0+v0.23.0
v0.23.0-1 v0.23.0 v0.2.1+v0.23.0 not present

v0.23.0-5

uniffi-rs:

  • Add missing docstrings to Kotlin flat enum variants

uniffi-bindgen-go:

  • IMPORTANT: Fix memory leak for all strings being read from FFI
  • Fix typo in generated Go bindings for associated enum case with no fields

uniffi-bindgen-cs:

  • BREAKING: flat enum variants are lowercase
  • Lowercase numeric types in generated bindings code
  • Fix missing imports when ImplicitUsings is not enabled
  • Allow configuration of global methods class name (uniffi.toml: global_methods_class_name)

v0.23.0-4

uniffi-rs fork changelist:

v0.23.0-2, v0.23.0-3

Those versions have a severe bug which make those versions unusable. Do not use.