blob: 259512a289041e65dca219b8ca8bf5c1a53677da (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
local Result = require "mason-core.result"
local providers = require "mason-core.providers"
local util = require "mason-core.installer.compiler.util"
local M = {}
---@param source RegistryPackageSource
---@param purl Purl
function M.parse(source, purl)
---@class ParsedComposerSource : ParsedPackageSource
local parsed_source = {
package = ("%s/%s"):format(purl.namespace, purl.name),
version = purl.version,
}
return Result.success(parsed_source)
end
---@async
---@param ctx InstallContext
---@param source ParsedComposerSource
function M.install(ctx, source)
local composer = require "mason-core.installer.managers.composer"
return composer.install(source.package, source.version)
end
---@async
---@param purl Purl
function M.get_versions(purl)
return providers.packagist.get_all_versions(("%s/%s"):format(purl.namespace, purl.name))
end
return M
|