#[cfg(feature = "build-java-support")]
fn build_java() {
use std::{env, path::PathBuf, process::Command};
let mut java_src_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
java_src_dir.push("java");
let mut java_src_gradlew = java_src_dir.clone();
java_src_gradlew.push(
#[cfg(target_os = "windows")]
"gradlew.bat",
#[cfg(not(target_os = "windows"))]
"gradlew",
);
let mut java_build_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
java_build_dir.pop();
java_build_dir.pop();
java_build_dir.pop();
java_build_dir.push("java");
let result = Command::new(java_src_gradlew)
.args(&[
format!("-PbuildDir={}", java_build_dir.to_str().unwrap()),
"-p".to_string(),
java_src_dir.to_str().unwrap().to_string(),
"build".to_string(),
])
.spawn()
.unwrap()
.wait()
.unwrap();
if !result.success() {
panic!("Gradle failed");
}
}
fn main() {
#[cfg(feature = "build-java-support")]
build_java();
}