Skip to content

Docker images containing UniFFI binding generators

License

Notifications You must be signed in to change notification settings

nymoral/uniffi-generators

 
 

Repository files navigation

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.

About

Docker images containing UniFFI binding generators

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 18.4%
  • Python 17.0%
  • Kotlin 15.2%
  • C# 13.1%
  • Swift 12.7%
  • Go 12.3%
  • Other 11.3%