codemp-intellij/build.rs

35 lines
1 KiB
Rust
Raw Normal View History

2023-08-28 11:06:13 +02:00
use flapigen::{JavaConfig, LanguageConfig};
use std::{env, path::Path};
use rifgen::{Generator, TypeCases, Language};
fn main() {
let out_dir = Path::new(&env::var("OUT_DIR")
.expect("no OUT_DIR, but cargo should provide it"));
let source_folder = "src/main/rust/";
let glue_file = out_dir.join("glue.in");
Generator::new(TypeCases::CamelCase,Language::Java,source_folder)
.generate_interface(glue_file.to_str());
let java_gen = flapigen::Generator::new(LanguageConfig::JavaConfig(
JavaConfig::new(
Path::new("src")
.join("main")
.join("java")
.join("com")
.join("codemp")
.join("intellij"),
"com.codemp.intellij".into()
))).rustfmt_bindings(true);
java_gen.expand(
"codemp-intellij",
glue_file,
out_dir.join("glue.rs"),
);
println!(
"cargo:rerun-if-changed={}",
Path::new("src/main").join(glue_file).display()
);
}