修改 meta.json 规则, 涉及version 、group 字段.
This commit is contained in:
@@ -50,13 +50,14 @@ function unpackArtifact(artifact, localPath, versionDir) {
|
||||
module.exports = async function install(remote, id) {
|
||||
const parsed = remote.parseProjectVersion(id || "kit");
|
||||
const projectId = parsed.projectId;
|
||||
const project = await remote.getProjectMetadata(projectId);
|
||||
const version = parsed.version || project.latest_version;
|
||||
const group = parsed.group || "/modules";
|
||||
const project = await remote.getProjectMetadata(projectId, group);
|
||||
const version = parsed.version || project.version;
|
||||
if (!version) {
|
||||
throw new Error(`远程模块没有可安装版本 ${projectId}`);
|
||||
}
|
||||
|
||||
const versionMeta = await remote.getVersionMetadata(projectId, version);
|
||||
const versionMeta = await remote.getVersionMetadata(projectId, version, project.group || group);
|
||||
const artifacts = remote.getMatchingArtifacts(versionMeta);
|
||||
if (artifacts.length < 1) {
|
||||
throw new Error(`没有匹配当前平台的文件 ${projectId}@${version}`);
|
||||
@@ -67,7 +68,7 @@ module.exports = async function install(remote, id) {
|
||||
fs.mkdirSync(versionDir, { recursive: true });
|
||||
|
||||
for (const artifact of artifacts) {
|
||||
const localPath = await remote.downloadArtifact(projectId, version, artifact, versionDir);
|
||||
const localPath = await remote.downloadArtifact(projectId, version, artifact, versionDir, project.group || group);
|
||||
verifyChecksum(localPath, artifact.checksum || (versionMeta.checksums && versionMeta.checksums[artifact.path]));
|
||||
unpackArtifact(artifact, localPath, versionDir);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user