From 16a08fc0fa00fc8f9751f7a25cc4f5f5fc87b94d Mon Sep 17 00:00:00 2001 From: Jeff Dickey <216188+jdx@users.noreply.github.com> Date: Sun, 18 Aug 2024 14:22:09 -0500 Subject: [PATCH] fix: hide non-working core plugins on windows --- build.rs | 4 ---- src/plugins/core/mod.rs | 29 ++++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/build.rs b/build.rs index 0929d741a..53bb2590b 100644 --- a/build.rs +++ b/build.rs @@ -1,9 +1,5 @@ fn main() { cfg_aliases::cfg_aliases! { - linux: { target_os = "linux" }, - macos: { target_os = "macos" }, - windows: { target_os = "windows" }, - vfox: { any(feature = "vfox", target_os = "windows") }, asdf: { any(feature = "asdf", not(target_os = "windows")) }, } diff --git a/src/plugins/core/mod.rs b/src/plugins/core/mod.rs index 64a59b09e..8736c8507 100644 --- a/src/plugins/core/mod.rs +++ b/src/plugins/core/mod.rs @@ -13,29 +13,45 @@ use crate::config::Settings; use crate::env; use crate::env::PATH_KEY; use crate::http::HTTP_FETCH; +#[cfg(unix)] use crate::plugins::core::bun::BunPlugin; +#[cfg(unix)] use crate::plugins::core::deno::DenoPlugin; +#[cfg(unix)] use crate::plugins::core::erlang::ErlangPlugin; +#[cfg(unix)] use crate::plugins::core::go::GoPlugin; +#[cfg(unix)] use crate::plugins::core::java::JavaPlugin; use crate::plugins::core::node::NodePlugin; +#[cfg(unix)] use crate::plugins::core::ruby::RubyPlugin; +#[cfg(unix)] use crate::plugins::core::zig::ZigPlugin; use crate::plugins::{Plugin, PluginList, PluginType}; use crate::timeout::run_with_timeout; use crate::toolset::ToolVersion; +#[cfg(unix)] mod bun; +#[cfg(unix)] mod deno; +#[cfg(unix)] mod erlang; +#[cfg(unix)] mod go; +#[cfg(unix)] mod java; mod node; +#[cfg(unix)] mod python; +#[cfg(unix)] mod ruby; +#[cfg(unix)] mod zig; pub static CORE_PLUGINS: Lazy = Lazy::new(|| { + #[cfg(unix)] let mut plugins: Vec> = vec![ Arc::new(BunPlugin::new()), Arc::new(DenoPlugin::new()), @@ -46,8 +62,19 @@ pub static CORE_PLUGINS: Lazy = Lazy::new(|| { Arc::new(PythonPlugin::new()), Arc::new(RubyPlugin::new()), ]; + #[cfg(windows)] + let mut plugins: Vec> = vec![ + // Arc::new(BunPlugin::new()), + // Arc::new(DenoPlugin::new()), + // Arc::new(ErlangPlugin::new()), + // Arc::new(GoPlugin::new()), + // Arc::new(JavaPlugin::new()), + Arc::new(NodePlugin::new()), + // Arc::new(PythonPlugin::new()), + // Arc::new(RubyPlugin::new()), + ]; let settings = Settings::get(); - if settings.experimental { + if cfg!(unix) && settings.experimental { plugins.push(Arc::new(ZigPlugin::new())); } plugins