Files

20 lines
829 B
Markdown

# Profile 解析规则
## 模块选择
- 将目标路径和模块根转换为项目相对规范路径。
- 选择路径前缀最长的模块根。
- 同一目标命中多个同长度模块时返回 `ambiguous`。
- 跨模块任务分别解析,不合并为仓库级单一 Profile。
## 候选选择
1. 项目已确认 `preferredProfiles` 时,先检查对应提供方是否被发现。
2. 没有偏好时按语言、框架、版本和构建证据筛选。
3. 优先版本范围更窄、探测证据更具体的候选。
4. 仍有多个候选时按较高 `priority` 选择。
5. 排序后仍不能唯一确定时返回 `ambiguous`。
6. 没有版本匹配时,只允许加载 `*` 的版本中性 Profile。
项目事实和清单冲突时保留项目事实,返回 `incompatible`,不能建议自动升级项目依赖。