Skip to content

QuickBirdEng/dart-vodozemac

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dart Vodozemac bindings

This library provides bindings to Olm and Megolm libraries from Dart. Currently only vodozemac is implemented as a backend. Both web and native are supported. You need to provide the path to the built rust library yourself.

Prebuild libraries

Make sure rust and android ndk are installed (last used version is defined in the script).

Export env vars:

export PRIVATE_KEY="[take existing key from 1pass]"
export GITHUB_TOKEN="[use github token with code write access to repo]"

Run prebuild_libs.sh script from scripts folder. It will push the new libs to releases that will be used during build later.

Contribution guide

  1. Make necessary changes in rust/src/bindings.rs
  2. Then run flutter_rust_bridge_codegen generate to generate the rust bindings
  3. Now use those code generated in dart/lib/generated/ to write/modify documented wrapper code in dart/lib/api.dart
  4. Then, cd into dart directory and run dart run import_sorter:main to sort imports
  5. Run tests locally and then open a PR

Running tests

# To test it locally for your platform (MacOS/Linux/Windows)
./scripts/run_io_tests.sh

# To test it for dart web
./scripts/run_web_tests.sh

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Dart 61.9%
  • Rust 34.6%
  • Swift 0.8%
  • Shell 0.7%
  • CMake 0.6%
  • Ruby 0.4%
  • Other 1.0%