codemp-intellij/build.rs

37 lines
1.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_var = env::var("OUT_DIR")
.expect("no OUT_DIR, but cargo should provide it");
let out_dir = Path::new(&out_dir_var);
2023-08-28 11:06:13 +02:00
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);
2023-08-28 11:06:13 +02:00
let java_gen = flapigen::Generator::new(LanguageConfig::JavaConfig(
JavaConfig::new(
Path::new("src")
.join("main")
.join("java")
.join("com")
.join("codemp")
.join("intellij")
.join("jni"),
"com.codemp.intellij.jni".into()
2023-08-28 11:06:13 +02:00
))).rustfmt_bindings(true);
java_gen.expand(
"codemp-intellij",
&glue_file,
2023-08-28 11:06:13 +02:00
out_dir.join("glue.rs"),
);
println!(
"cargo:rerun-if-changed={}",
Path::new("src/main").join(&glue_file).display()
2023-08-28 11:06:13 +02:00
);
}