crossbundle_tools/commands/android/gradle/
gradle_init.rs1use crate::error::{AndroidError, Result};
2use std::process::Command;
3
4pub fn gradle_init() -> Result<Command> {
6 if let Ok(gradle) = which::which(bat!("gradle")) {
7 return Ok(Command::new(gradle));
8 }
9 let gradle = std::env::var("GRADLE_HOME").ok();
10 let gradle_path = std::path::PathBuf::from(gradle.ok_or(AndroidError::GradleNotFound)?);
11 let gradle_executable = gradle_path.join("bin").join(bat!("gradle"));
12 Ok(Command::new(gradle_executable))
13}
14
15#[cfg(test)]
16mod tests {
17 use crate::error::CommandExt;
18
19 use super::gradle_init;
20 #[test]
21 fn test_gradle_exe() {
22 let mut gradle = gradle_init().unwrap();
23 gradle.arg("-h");
24 gradle.output_err(true).unwrap();
25 }
26}