From df4010430bfba90382eaad13eb774ab75c7d55ae Mon Sep 17 00:00:00 2001 From: Risu <79110363+risu729@users.noreply.github.com> Date: Thu, 3 Jul 2025 10:34:02 +1000 Subject: [PATCH 1/2] fix: include arch and os settings in cache keys --- src/cache.rs | 5 ++++- src/config/settings.rs | 6 +++++- src/plugins/core/java.rs | 13 +++++-------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/cache.rs b/src/cache.rs index e8746e7dfa..1ee4054790 100644 --- a/src/cache.rs +++ b/src/cache.rs @@ -43,9 +43,12 @@ pub static BASE_CACHE_KEYS: Lazy> = Lazy::new(|| { impl CacheManagerBuilder { pub fn new(cache_file_path: impl AsRef) -> Self { + let settings = Settings::get(); + let mut cache_keys = BASE_CACHE_KEYS.clone(); + cache_keys.extend([settings.os().to_string(), settings.arch().to_string()]); Self { cache_file_path: cache_file_path.as_ref().to_path_buf(), - cache_keys: BASE_CACHE_KEYS.clone(), + cache_keys: cache_keys, fresh_files: vec![], fresh_duration: None, } diff --git a/src/config/settings.rs b/src/config/settings.rs index 3c399b53e7..efec1481d9 100644 --- a/src/config/settings.rs +++ b/src/config/settings.rs @@ -12,7 +12,7 @@ use itertools::Itertools; use serde::ser::Error; use serde::{Deserialize, Deserializer}; use serde_derive::Serialize; -use std::env::consts::ARCH; +use std::env::consts::{ARCH, OS}; use std::fmt::{Debug, Display, Formatter}; use std::path::{Path, PathBuf}; use std::str::FromStr; @@ -448,6 +448,10 @@ impl Settings { Ok(shell_words::split(sa)?) } + pub fn os(&self) -> &str { + self.os.as_deref().unwrap_or(OS) + } + pub fn arch(&self) -> &str { self.arch.as_deref().unwrap_or(ARCH) } diff --git a/src/plugins/core/java.rs b/src/plugins/core/java.rs index ea73e0d946..c54e60d20b 100644 --- a/src/plugins/core/java.rs +++ b/src/plugins/core/java.rs @@ -24,6 +24,7 @@ use itertools::Itertools; use regex::Regex; use serde_derive::{Deserialize, Serialize}; use std::sync::LazyLock as Lazy; +use tabled::settings; use versions::Versioning; use xx::regex; @@ -38,20 +39,16 @@ impl JavaPlugin { pub fn new() -> Self { let settings = Settings::get(); let ba = Arc::new(plugins::core::new_backend_arg("java")); - let java_metadata_ga_cache_filename = - format!("java_metadata_ga_{}_{}.msgpack.z", os(), arch(&settings)); - let java_metadata_ea_cache_filename = - format!("java_metadata_ea_{}_{}.msgpack.z", os(), arch(&settings)); Self { java_metadata_ea_cache: CacheManagerBuilder::new( - ba.cache_path.join(java_metadata_ea_cache_filename), + ba.cache_path.join("java_metadata_ea.msgpack.z"), ) - .with_fresh_duration(Settings::get().fetch_remote_versions_cache()) + .with_fresh_duration(settings.fetch_remote_versions_cache()) .build(), java_metadata_ga_cache: CacheManagerBuilder::new( - ba.cache_path.join(java_metadata_ga_cache_filename), + ba.cache_path.join("java_metadata_ga.msgpack.z"), ) - .with_fresh_duration(Settings::get().fetch_remote_versions_cache()) + .with_fresh_duration(settings.fetch_remote_versions_cache()) .build(), ba, } From 0dea25c587d49d3d3bc49f40d53fb18fd6dc0080 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Thu, 3 Jul 2025 00:40:42 +0000 Subject: [PATCH 2/2] [autofix.ci] apply automated fixes --- src/cache.rs | 2 +- src/plugins/core/java.rs | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/cache.rs b/src/cache.rs index 1ee4054790..1203c74f5c 100644 --- a/src/cache.rs +++ b/src/cache.rs @@ -48,7 +48,7 @@ impl CacheManagerBuilder { cache_keys.extend([settings.os().to_string(), settings.arch().to_string()]); Self { cache_file_path: cache_file_path.as_ref().to_path_buf(), - cache_keys: cache_keys, + cache_keys, fresh_files: vec![], fresh_duration: None, } diff --git a/src/plugins/core/java.rs b/src/plugins/core/java.rs index c54e60d20b..4e8e677d4a 100644 --- a/src/plugins/core/java.rs +++ b/src/plugins/core/java.rs @@ -24,7 +24,6 @@ use itertools::Itertools; use regex::Regex; use serde_derive::{Deserialize, Serialize}; use std::sync::LazyLock as Lazy; -use tabled::settings; use versions::Versioning; use xx::regex;