diff options
| -rw-r--r-- | lua/mason-core/installer/location.lua | 5 | ||||
| -rw-r--r-- | lua/mason-core/package.lua | 2 | ||||
| -rw-r--r-- | tests/mason-core/installer/runner_spec.lua | 24 |
3 files changed, 18 insertions, 13 deletions
diff --git a/lua/mason-core/installer/location.lua b/lua/mason-core/installer/location.lua index 2cc038e4..694ae0f4 100644 --- a/lua/mason-core/installer/location.lua +++ b/lua/mason-core/installer/location.lua @@ -1,6 +1,7 @@ local Path = require "mason-core.path" local Result = require "mason-core.result" local fs = require "mason-core.fs" +local settings = require "mason.settings" ---@class InstallLocation ---@field private dir string @@ -14,6 +15,10 @@ function InstallLocation.new(dir) }, InstallLocation) end +function InstallLocation.global() + return InstallLocation.new(settings.current.install_root_dir) +end + function InstallLocation:get_dir() return self.dir end diff --git a/lua/mason-core/package.lua b/lua/mason-core/package.lua index b0da8a61..1c9eee96 100644 --- a/lua/mason-core/package.lua +++ b/lua/mason-core/package.lua @@ -159,7 +159,7 @@ function Package:install(opts, callback) opts = opts or {} assert(not self:is_installing(), "Package is already installing.") local handle = self:new_handle() - local runner = InstallRunner.new(InstallLocation.new(settings.current.install_root_dir), handle, semaphore) + local runner = InstallRunner.new(InstallLocation.global(), handle, semaphore) runner:execute(opts, callback) return handle end diff --git a/tests/mason-core/installer/runner_spec.lua b/tests/mason-core/installer/runner_spec.lua index b39a75ac..3eed9dff 100644 --- a/tests/mason-core/installer/runner_spec.lua +++ b/tests/mason-core/installer/runner_spec.lua @@ -32,7 +32,7 @@ describe("install runner ::", function() describe("locking ::", function() it("should respect semaphore locks", function() local semaphore = Semaphore.new(1) - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local dummy_handle = InstallHandle.new(dummy) local runner_1 = InstallRunner.new(location, dummy_handle, semaphore) local runner_2 = InstallRunner.new(location, InstallHandle.new(dummy2), semaphore) @@ -59,7 +59,7 @@ describe("install runner ::", function() it("should write lockfile", function() local semaphore = Semaphore.new(1) - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local dummy_handle = InstallHandle.new(dummy) local runner = InstallRunner.new(location, dummy_handle, semaphore) @@ -74,7 +74,7 @@ describe("install runner ::", function() it("should abort installation if installation lock exists", function() local semaphore = Semaphore.new(1) - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local dummy_handle = InstallHandle.new(dummy) local runner = InstallRunner.new(location, dummy_handle, semaphore) @@ -97,7 +97,7 @@ describe("install runner ::", function() it("should not abort installation if installation lock exists with force=true", function() local semaphore = Semaphore.new(1) - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local dummy_handle = InstallHandle.new(dummy) local runner = InstallRunner.new(location, dummy_handle, semaphore) @@ -117,7 +117,7 @@ describe("install runner ::", function() it("should release lock after successful installation", function() local semaphore = Semaphore.new(1) - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local dummy_handle = InstallHandle.new(dummy) local runner = InstallRunner.new(location, dummy_handle, semaphore) @@ -135,7 +135,7 @@ describe("install runner ::", function() end) it("should initialize install location", function() - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local runner = InstallRunner.new(location, InstallHandle.new(registry.get_package "dummy"), Semaphore.new(1)) spy.on(location, "initialize") @@ -149,7 +149,7 @@ describe("install runner ::", function() describe("receipt ::", function() it("should write receipt", function() - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local runner = InstallRunner.new(location, InstallHandle.new(registry.get_package "dummy"), Semaphore.new(1)) @@ -185,7 +185,7 @@ describe("install runner ::", function() registry:once("package:install:failed", registry_spy) dummy:once("install:failed", package_spy) - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local handle = InstallHandle.new(registry.get_package "dummy") local runner = InstallRunner.new(location, handle, Semaphore.new(1)) @@ -208,7 +208,7 @@ describe("install runner ::", function() end) it("should terminate installation", function() - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local handle = InstallHandle.new(registry.get_package "dummy") local runner = InstallRunner.new(location, handle, Semaphore.new(1)) @@ -233,7 +233,7 @@ describe("install runner ::", function() end) it("should write debug logs when debug=true", function() - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local handle = InstallHandle.new(registry.get_package "dummy") local runner = InstallRunner.new(location, handle, Semaphore.new(1)) @@ -254,7 +254,7 @@ describe("install runner ::", function() end) it("should not retain installation directory on failure", function() - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local handle = InstallHandle.new(registry.get_package "dummy") local runner = InstallRunner.new(location, handle, Semaphore.new(1)) @@ -275,7 +275,7 @@ describe("install runner ::", function() end) it("should retain installation directory on failure and debug=true", function() - local location = InstallLocation.new(settings.current.install_root_dir) + local location = InstallLocation.global() local handle = InstallHandle.new(registry.get_package "dummy") local runner = InstallRunner.new(location, handle, Semaphore.new(1)) |
