use std::env;
use std::fs::File;
use std::io::{BufRead, BufReader};
use std::path::PathBuf;

use fst::SetBuilder;

fn main() {
    let chinese_words_txt = "chinese-words.txt";
    let out_dir = env::var("OUT_DIR").unwrap();
    let chinese_words_fst = PathBuf::from(out_dir).join("chinese-words.fst");

    // Tell Cargo that if the given file changes, to rerun this build script.
    println!("cargo:rerun-if-changed={}", chinese_words_txt);

    let chinese_words_txt = File::open(chinese_words_txt).map(BufReader::new).unwrap();
    let chinese_words_fst = File::create(chinese_words_fst).unwrap();

    let mut builder = SetBuilder::new(chinese_words_fst).unwrap();
    for result in chinese_words_txt.lines() {
        let line = result.unwrap();
        if let Some(s) = line.split(' ').next() {
            builder.insert(s).unwrap();
        }
    }
    builder.finish().unwrap();
}