tursodatabase / tursodatabase/libsql
Auto generate bindings when `libsql-sqlite3` is changed
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 17.2k
- Forks
- 531
- Avg merge
- 1h 12m
- Merged PRs (30d)
- 1
Description
Whenever there is a change in libsql-sqlite3, we need to generate the sqlite header files and bindings. These commands to be run:
# this updates libsql-ffi and also libsql-sys
cargo xtask build-bundled
# this updates bindings required for sqlite3-mc
cargo build --features multiple-ciphers
This is a manual step and easy to miss. It happened in #1027 which was fixed later by #1037
We should automate this, as part of the build process. We should also move multiple-ciphers build within build-bundled, so that there is only one command to run
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the cargo xtask build-bundled command and the separate cargo build --features multiple-ciphers path. Determine how changes in libsql-sqlite3 trigger header and binding generation, then consolidate the multiple-ciphers build into build-bundled; done means one build command performs all required updates without the manual step.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, sqlite
- Domain
- build-system, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100