aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/installer/compiler/init.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2025-08-07 06:52:03 +0200
committerGitHub <noreply@github.com>2025-08-07 06:52:03 +0200
commit7dc4facca9702f95353d5a1f87daf23d78e31c2a (patch)
treeb9530072cf412e96da73af225d3ed08266be9225 /lua/mason-core/installer/compiler/init.lua
parentfix(pypi): add support for "compatible release" (~=) PEP440 expressions (#2000) (diff)
downloadmason-7dc4facca9702f95353d5a1f87daf23d78e31c2a.tar
mason-7dc4facca9702f95353d5a1f87daf23d78e31c2a.tar.gz
mason-7dc4facca9702f95353d5a1f87daf23d78e31c2a.tar.bz2
mason-7dc4facca9702f95353d5a1f87daf23d78e31c2a.tar.lz
mason-7dc4facca9702f95353d5a1f87daf23d78e31c2a.tar.xz
mason-7dc4facca9702f95353d5a1f87daf23d78e31c2a.tar.zst
mason-7dc4facca9702f95353d5a1f87daf23d78e31c2a.zip
feat(compiler): make `supported_platforms` a universal source field (#2002)
Previously this field had to be handled separately in each source type. This backwards-compatible change makes `supported_platforms` a universal top-level field on the `source:` object, meaning it'll be parsed for each source type.
Diffstat (limited to 'lua/mason-core/installer/compiler/init.lua')
-rw-r--r--lua/mason-core/installer/compiler/init.lua5
1 files changed, 5 insertions, 0 deletions
diff --git a/lua/mason-core/installer/compiler/init.lua b/lua/mason-core/installer/compiler/init.lua
index 4eed986b..694df04a 100644
--- a/lua/mason-core/installer/compiler/init.lua
+++ b/lua/mason-core/installer/compiler/init.lua
@@ -72,6 +72,7 @@ end
---@param source RegistryPackageSource
---@param version string?
+---@return RegistryPackageSource
local function coalesce_source(source, version)
if version and source.version_overrides then
for i = #source.version_overrides, 1, -1 do
@@ -117,6 +118,10 @@ function M.parse(spec, opts)
local source = coalesce_source(spec.source, opts.version)
+ if source.supported_platforms then
+ try(util.ensure_valid_platform(source.supported_platforms))
+ end
+
---@type Purl
local purl = try(Purl.parse(source.id))
log.trace("Parsed purl.", source.id, purl)