From 23cbea60e9390eaf4e444803c80d4f5a6e177252 Mon Sep 17 00:00:00 2001 From: "Hatter Jiang@Pixelbook" Date: Fri, 30 Aug 2019 08:42:56 +0800 Subject: [PATCH] add +BUILDJ_JAVA_NAME --- src/jdk.rs | 19 +++++++++++++------ src/local_util.rs | 2 +- src/misc.rs | 1 + 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/jdk.rs b/src/jdk.rs index 96d0eea..b69bc95 100644 --- a/src/jdk.rs +++ b/src/jdk.rs @@ -28,6 +28,10 @@ const MACOS_LIBEXEC_JAVAHOME: &str = "/usr/libexec/java_home"; pub const LOCAL_JAVA_HOME_BASE_DIR: &str = ".jssp/jdks"; +lazy_static! { + pub static ref BUILDJ_JAVA_NAME: Option = env::var("BUILDJ_JAVA_NAME").ok(); +} + pub fn get_java_home(version: &str) -> Option { match get_macos_java_home(version) { Some(j) => Some(j), @@ -46,12 +50,15 @@ pub fn get_cloud_java(version: &str) -> bool { if ! is_macos_or_linux() { return false; } - let cloud_java_names = if is_macos() { - vec![OPENJDK_MACOS] - } else if is_linux() { - vec![JDK_LINUX, OPENJDK_LINUX] - } else { - vec![] + let cloud_java_names = match &*BUILDJ_JAVA_NAME { + None => if is_macos() { + vec![OPENJDK_MACOS] + } else if is_linux() { + vec![JDK_LINUX, OPENJDK_LINUX] + } else { + vec![] + }, + Some(buildj_java_name) => vec![buildj_java_name.as_str()], }; let local_java_home_base_dir = match local_util::get_user_home_dir(LOCAL_JAVA_HOME_BASE_DIR) { Err(_) => return false, diff --git a/src/local_util.rs b/src/local_util.rs index 3d61269..4a07425 100644 --- a/src/local_util.rs +++ b/src/local_util.rs @@ -68,7 +68,7 @@ pub fn calc_sha256(d: &[u8]) -> String { sha256.result_str() } -pub fn calc_file_digest(digest: &mut Digest, digest_alg: &str, file_name: &str) -> XResult { +pub fn calc_file_digest(digest: &mut dyn Digest, digest_alg: &str, file_name: &str) -> XResult { let mut buf: [u8; DEFAULT_BUF_SIZE] = [0u8; DEFAULT_BUF_SIZE]; let mut f = File::open(file_name)?; let file_len = match f.metadata() { diff --git a/src/misc.rs b/src/misc.rs index 55c2027..8a6d54b 100644 --- a/src/misc.rs +++ b/src/misc.rs @@ -24,6 +24,7 @@ buildj :::gradle [--java] - run gradle with assigned v e.g. buildj :::gradle3.5.1 --java1.8 ARGS buildj - run build, run assigned version builder tool BUILDJ_VERBOSE=1 buildj - run buildj in verbose mode +BUILDJ_JAVA_NAME=jdk-name buildj - assgin java name, e.g. adoptjdk-linux "#); }