build: bump deps

This commit is contained in:
Amaan Qureshi 2024-12-16 00:48:20 -05:00
parent 214b3dc2e6
commit 7d3dbc062d
8 changed files with 198 additions and 113 deletions

View file

@ -1,4 +1,4 @@
/* automatically generated by rust-bindgen 0.70.1 */
/* automatically generated by rust-bindgen 0.71.1 */
pub const TREE_SITTER_LANGUAGE_VERSION: u32 = 15;
pub const TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION: u32 = 13;

View file

@ -52,6 +52,33 @@ fn main() {
#[cfg(feature = "bindgen")]
fn generate_bindings(out_dir: &std::path::Path) {
use std::{process::Command, str::FromStr};
use bindgen::RustTarget;
let output = Command::new("cargo")
.args(["metadata", "--format-version", "1"])
.output()
.unwrap();
let metadata = serde_json::from_slice::<serde_json::Value>(&output.stdout).unwrap();
let Some(rust_version) = metadata
.get("packages")
.and_then(|packages| packages.as_array())
.and_then(|packages| {
packages.iter().find_map(|package| {
if package["name"] == "tree-sitter" {
package.get("rust_version").and_then(|v| v.as_str())
} else {
None
}
})
})
else {
panic!("Failed to find tree-sitter package in cargo metadata");
};
const HEADER_PATH: &str = "include/tree_sitter/api.h";
println!("cargo:rerun-if-changed={HEADER_PATH}");
@ -79,6 +106,8 @@ fn generate_bindings(out_dir: &std::path::Path) {
.no_copy(no_copy.join("|"))
.prepend_enum_name(false)
.use_core()
.clang_arg("-D TREE_SITTER_FEATURE_WASM")
.rust_target(RustTarget::from_str(rust_version).unwrap())
.generate()
.expect("Failed to generate bindings");