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