aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-04-16 03:22:37 +0200
committerGitHub <noreply@github.com>2023-04-16 03:22:37 +0200
commit5b25e13f905b26cd4ab2be64fec072c18a943220 (patch)
treeca2b9f51b21ea0325cfaa4f75db2620d250e4cfb /lua
parentchore: migrate julia-lsp (#1217) (diff)
downloadmason-5b25e13f905b26cd4ab2be64fec072c18a943220.tar
mason-5b25e13f905b26cd4ab2be64fec072c18a943220.tar.gz
mason-5b25e13f905b26cd4ab2be64fec072c18a943220.tar.bz2
mason-5b25e13f905b26cd4ab2be64fec072c18a943220.tar.lz
mason-5b25e13f905b26cd4ab2be64fec072c18a943220.tar.xz
mason-5b25e13f905b26cd4ab2be64fec072c18a943220.tar.zst
mason-5b25e13f905b26cd4ab2be64fec072c18a943220.zip
feat(github): add $MASON_VERSION to build context (#1218)
Diffstat (limited to 'lua')
-rw-r--r--lua/mason-core/installer/registry/init.lua4
-rw-r--r--lua/mason-core/installer/registry/providers/github.lua18
2 files changed, 15 insertions, 7 deletions
diff --git a/lua/mason-core/installer/registry/init.lua b/lua/mason-core/installer/registry/init.lua
index 23b1a379..3ece857d 100644
--- a/lua/mason-core/installer/registry/init.lua
+++ b/lua/mason-core/installer/registry/init.lua
@@ -40,7 +40,7 @@ end
---@class InstallerProvider
---@field parse fun(source: RegistryPackageSource, purl: Purl, opts: PackageInstallOpts): Result
----@field install async fun(ctx: InstallContext, source: ParsedPackageSource): Result
+---@field install async fun(ctx: InstallContext, source: ParsedPackageSource, purl: Purl): Result
---@class ParsedPackageSource
@@ -166,7 +166,7 @@ function M.compile(spec, opts)
return function(ctx)
return Result.try(function(try)
-- Run installer
- try(parsed.provider.install(ctx, parsed.source))
+ try(parsed.provider.install(ctx, parsed.source, parsed.purl))
-- Expand & register links
if spec.bin then
diff --git a/lua/mason-core/installer/registry/providers/github.lua b/lua/mason-core/installer/registry/providers/github.lua
index 243f021d..4b552d8f 100644
--- a/lua/mason-core/installer/registry/providers/github.lua
+++ b/lua/mason-core/installer/registry/providers/github.lua
@@ -30,7 +30,8 @@ local build = {
---@async
---@param ctx InstallContext
---@param source ParsedGitHubBuildSource
- install = function(ctx, source)
+ ---@param purl Purl
+ install = function(ctx, source, purl)
local std = require "mason-core.installer.managers.std"
return Result.try(function(try)
try(std.clone(source.repo, { rev = source.rev }))
@@ -44,11 +45,18 @@ local build = {
async_uv.shutdown(stdin)
async_uv.close(stdin)
end),
+ env = {
+ MASON_VERSION = purl.version,
+ },
}
end,
win = function()
local powershell = require "mason-core.managers.powershell"
- return powershell.command(source.build.run, {}, ctx.spawn)
+ return powershell.command(source.build.run, {
+ env = {
+ MASON_VERSION = purl.version,
+ },
+ }, ctx.spawn)
end,
})
end)
@@ -188,11 +196,11 @@ end
---@async
---@param ctx InstallContext
---@param source ParsedGitHubReleaseSource | ParsedGitHubBuildSource
-function M.install(ctx, source)
+function M.install(ctx, source, purl)
if source.asset then
- return release.install(ctx, source)
+ return release.install(ctx, source, purl)
elseif source.build then
- return build.install(ctx, source)
+ return build.install(ctx, source, purl)
else
return Result.failure "Unknown source type."
end