nu-plugin
Updating Cap'n Proto schema
When modifying a protocol's struct that is used in plugins (such as Signature), you need to update the capnproto schema file and recompile it into the Rust source code. The steps are as follows:
- Change
src/serializers/capnp/schema/plugin.capnpas necessary - Install
capnptool (it's a C++ binary, commonly available in package managers) - Install Rust support for
capnpcalledcapnpc-rust:git clone https://github.com/capnproto/capnproto-rustsomewherecd capnproto-rust/capnpccargo install --path=.
- Then, call
capnp compile -orust plugin.capnp(change path as necessary) - The result should be
plugin_capnp.rsfile: Use it to replace the oldsrc/plugin_capnp.rs. - It needs to be autoformatted (
cargo fmt --all) - Modify the serialize/deserialize functions. Check the following PRs for details: