From 49ec40f16fc92d5d304d0dd88ccf4ffc8ed1fbab Mon Sep 17 00:00:00 2001 From: logrusx Date: Fri, 25 Jul 2025 16:52:33 +0300 Subject: [PATCH 1/3] feat: Mason 2.0 migration --- lua/java-core/ls/servers/jdtls/init.lua | 2 +- lua/java-core/utils/mason.lua | 11 ++++++++--- tests/prepare-config.lua | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lua/java-core/ls/servers/jdtls/init.lua b/lua/java-core/ls/servers/jdtls/init.lua index c864e9c..6c09700 100644 --- a/lua/java-core/ls/servers/jdtls/init.lua +++ b/lua/java-core/ls/servers/jdtls/init.lua @@ -70,7 +70,7 @@ function M.get_config(opts) if jdk:is_installed() then local java_home = - vim.fn.glob(path.join(jdk:get_install_path(), '/jdk-17*')) + vim.fn.glob('$MASON/packages/jdk-17*') local java_bin = path.join(java_home, '/bin') base_config.cmd_env = { diff --git a/lua/java-core/utils/mason.lua b/lua/java-core/utils/mason.lua index c910aec..a1e3edd 100644 --- a/lua/java-core/utils/mason.lua +++ b/lua/java-core/utils/mason.lua @@ -6,14 +6,19 @@ local M = {} ---@param pkg_name string ---@return string | nil function M.get_pkg_path(pkg_name) - return mason_registry.get_package(pkg_name):get_install_path() + local found, pkg = pcall(mason_registry.get_package, pkg_name) + if not found or not pkg:is_installed() then + return nil + end + return vim.fn.expand("$MASON/packages/" .. pkg_name) end ----Returns true if the package in installed in mason +---Returns true if the package is installed in mason ---@param pkg_name string ---@return boolean function M.is_pkg_installed(pkg_name) - return mason_registry.get_package(pkg_name):is_installed() + local found, pkg = pcall(mason_registry.get_package, pkg_name) + return found and pkg:is_installed() end ---Returns the shared artifact path for a given package diff --git a/tests/prepare-config.lua b/tests/prepare-config.lua index daa5280..5aa3751 100644 --- a/tests/prepare-config.lua +++ b/tests/prepare-config.lua @@ -25,7 +25,7 @@ require('lazy').setup({ lazy = false, }, { - 'williamboman/mason.nvim', + 'mason-org/mason.nvim', lazy = false, }, }, { From c48c00552d0c2c3af50e8e70ebcae5ef06afae88 Mon Sep 17 00:00:00 2001 From: s1n7ax Date: Wed, 6 Aug 2025 12:02:57 +0530 Subject: [PATCH 2/3] chore: code formatting --- lua/java-core/ls/servers/jdtls/init.lua | 3 +-- lua/java-core/utils/mason.lua | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lua/java-core/ls/servers/jdtls/init.lua b/lua/java-core/ls/servers/jdtls/init.lua index 6c09700..708f51d 100644 --- a/lua/java-core/ls/servers/jdtls/init.lua +++ b/lua/java-core/ls/servers/jdtls/init.lua @@ -69,8 +69,7 @@ function M.get_config(opts) local jdk = mason_reg.get_package('openjdk-17') if jdk:is_installed() then - local java_home = - vim.fn.glob('$MASON/packages/jdk-17*') + local java_home = vim.fn.glob('$MASON/packages/jdk-17*') local java_bin = path.join(java_home, '/bin') base_config.cmd_env = { diff --git a/lua/java-core/utils/mason.lua b/lua/java-core/utils/mason.lua index a1e3edd..c1c6560 100644 --- a/lua/java-core/utils/mason.lua +++ b/lua/java-core/utils/mason.lua @@ -10,7 +10,7 @@ function M.get_pkg_path(pkg_name) if not found or not pkg:is_installed() then return nil end - return vim.fn.expand("$MASON/packages/" .. pkg_name) + return vim.fn.expand('$MASON/packages/' .. pkg_name) end ---Returns true if the package is installed in mason From 3c32ff5dd82d24410ce8e8f85332535255a946d6 Mon Sep 17 00:00:00 2001 From: s1n7ax Date: Wed, 6 Aug 2025 12:04:00 +0530 Subject: [PATCH 3/3] chore: release 2.0.0 Release-As: 2.0.0