Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libnativeapi workspace

Aggregates all libnativeapi repositories as git submodules, so cross-repo changes (core → codegen → bindings) can be made and tracked together. The binding code generator lives directly in this repo under tools/codegen.

Repositories

Submodule Description
core C++ core library (nativeapi)
bindings/flutter Flutter binding (nativeapi-flutter)
bindings/rust Rust binding (nativeapi-rust)
bindings/csharp C# binding (nativeapi-csharp)

Getting started

git clone --recursive [email protected]:libnativeapi/workspace.git

Already cloned without --recursive?

git submodule update --init

Code generation

tools/codegen (in-repo, not a submodule) generates the C ABI and all language bindings from the C++ headers in core/. Run it via the wrapper script:

./codegen         # full run: C ABI, then all bindings
./codegen check   # verify generated files are up to date (CI mode)
./codegen sync    # after a core change: regenerate everything, bump each
                  #   binding's embedded core submodule, rerun bindgen/ffigen,
                  #   and commit core + bindings + workspace pointers
                  #   (add --push to also push, -m "..." for the core message)

See tools/codegen/README.md for details.

Common tasks

make status   # working-tree status of every submodule
make sync     # pull main in every submodule (fast-forward)
make bump     # stage updated submodule pointers for commit

Day-to-day development happens inside each submodule as if it were a standalone clone: commit and push from within the subdirectory as usual. The workspace repo only records snapshots — commit updated submodule pointers when the set of repos is in a known-good, compatible state.

About

Workspace repo aggregating all libnativeapi repositories as submodules

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages