mirror of
https://github.com/hexedtech/codemp-intellij.git
synced 2024-10-22 18:19:20 +02:00
37 lines
No EOL
1.1 KiB
Rust
37 lines
No EOL
1.1 KiB
Rust
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);
|
|
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);
|
|
|
|
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()
|
|
))).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()
|
|
);
|
|
} |