From c8a7ae050ac2b9177888ac7add1d6094b4a1ab30 Mon Sep 17 00:00:00 2001 From: Oliver Metz Date: Sun, 7 Jun 2026 10:30:07 +0200 Subject: [PATCH] fix: convert Path to string before append in build_tool.lua ## Problem Running tests on a Spring/Maven Project crashes with the following error, even after successfully running `:NeotestJava setup` to install JUnit jar: ``` Error executing vim.schedule lua callback: .../neotest-java/lua/neotest-java/build_tool/build_tool.lua:32: .../neotest-java/lua/neotest-java/model/path.lua:112: attempt to concatenate a table value ``` ### Cause `get_spring_property_filepaths` passes a `Path` object to `Path:append()`, which expects a `string`. ### Fix Add `:to_string()` to convert the Path before appending. --- lua/neotest-java/build_tool/build_tool.lua | 45 +++++++++++----------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/lua/neotest-java/build_tool/build_tool.lua b/lua/neotest-java/build_tool/build_tool.lua index 521de309..f0248cac 100644 --- a/lua/neotest-java/build_tool/build_tool.lua +++ b/lua/neotest-java/build_tool/build_tool.lua @@ -13,31 +13,32 @@ ---@param deps neotest-java.BuildToolDeps ---@return neotest-java.BuildTool local function create_build_tool(config, deps) - ---@type neotest-java.BuildTool - return { - get_build_dirname = function(base_dir) - return config.get_build_dirname(base_dir, deps) - end, + ---@type neotest-java.BuildTool + return { + get_build_dirname = function(base_dir) + return config.get_build_dirname(base_dir, deps) + end, - get_project_filename = function() - return config.project_filename - end, + get_project_filename = function() + return config.project_filename + end, - get_artifact_id = function(base_dir) - return config.get_artifact_id(base_dir, deps) - end, + get_artifact_id = function(base_dir) + return config.get_artifact_id(base_dir, deps) + end, - get_spring_property_filepaths = function(roots) - local base_dirs = vim.iter(roots) - :map(function(root) - return root:append(config.get_build_dirname(root, deps)) - end) - :map(config.get_spring_subdirs) - :flatten() - :totable() - return deps.generate_spring_property_filepaths(base_dirs) - end, - } + get_spring_property_filepaths = function(roots) + local base_dirs = vim + .iter(roots) + :map(function(root) + return root:append(config.get_build_dirname(root, deps):to_string()) + end) + :map(config.get_spring_subdirs) + :flatten() + :totable() + return deps.generate_spring_property_filepaths(base_dirs) + end, + } end return create_build_tool