clacks 0.0.1

minimal wrappers for telegram's mtproto serialization
Documentation
extern crate clacks_tl_codegen;

use std::io::{self, Read, Write};
use std::{fs, path};

const TL_DIR: &str = "tl";
const OUTPUT_FILE: &str = "src/mtproto.rs";

fn main_result() -> Result<(), io::Error> {
    let mut files = fs::read_dir(TL_DIR)?
        .map(|r| r.map(|d| d.path()))
        .collect::<Result<Vec<path::PathBuf>, _>>()?;
    files.sort();
    let mut input = String::new();
    for file in files {
        fs::File::open(&file)?.read_to_string(&mut input)?;
        println!("cargo:rerun-if-changed={}", file.to_string_lossy());
    }
    let code = clacks_tl_codegen::generate_code_for(&input);
    fs::File::create(OUTPUT_FILE)?.write_all(code.as_bytes())?;
    Ok(())
}

fn main() {
    main_result().unwrap();
}