mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-25 07:09:59 -07:00
37 lines
967 B
Rust
37 lines
967 B
Rust
use std::{env, fs, path::Path};
|
|
|
|
use brk_computer::Computer;
|
|
use brk_indexer::Indexer;
|
|
use brk_traversable::{Traversable, TreeNode};
|
|
|
|
pub fn main() -> color_eyre::Result<()> {
|
|
color_eyre::install()?;
|
|
|
|
let tmp = env::temp_dir().join("brk_tree_gen");
|
|
fs::create_dir_all(&tmp)?;
|
|
|
|
let indexer = Indexer::forced_import(&tmp)?;
|
|
let computer = Computer::forced_import(&tmp, &indexer)?;
|
|
|
|
let tree = TreeNode::Branch(
|
|
[
|
|
("indexed".to_string(), indexer.vecs.to_tree_node()),
|
|
("computed".to_string(), computer.to_tree_node()),
|
|
]
|
|
.into_iter()
|
|
.collect(),
|
|
)
|
|
.merge_branches()
|
|
.expect("Tree merge failed");
|
|
|
|
let json = serde_json::to_string_pretty(&tree)?;
|
|
|
|
let out_path = Path::new(env!("CARGO_MANIFEST_DIR")).join("tree.json");
|
|
fs::write(&out_path, &json)?;
|
|
eprintln!("Wrote {} bytes to {}", json.len(), out_path.display());
|
|
|
|
fs::remove_dir_all(&tmp)?;
|
|
|
|
Ok(())
|
|
}
|