2.5 KiB
随应用提供离线依赖元信息
随应用分发的第三方可执行程序、链接库与规则数据,其项目 URL、版本和完整 License 文本随当前应用版本固定打包;仅用于开发、测试或构建的工具不在收录范围。展示这些资料不联网获取,也不运行依赖程序探测版本,以保证离线可用且资料对应当前安装包;用户显式点击项目 URL 时打开浏览器。
插件设置与后续的开源项目及 License 查看入口复用随包资料。关于窗口的查看功能另案实现;托管插件的元信息只描述随应用发布的程序,不用于声明用户自备同名程序的版本或来源。
插件设置保留现有版本与可点击项目 URL 的展示形式,改为读取统一的随包元信息。版本标识采用实际分发的 tag、commit 或上游发布标识;使用 fork 时,同时保留原项目 URL 与实际源码及发布来源,避免把 fork 产物描述为上游原版。
只有直接依赖建立 URL、版本与 License 的结构化条目。传递依赖不逐个建立条目,优先原样附带上游对应版本的 THIRD-PARTY-NOTICES 等聚合声明;上游未提供时,针对实际分发产物补齐必要声明,优先在上游构建流程中生成,避免手工维护完整依赖树。后续关于窗口按直接依赖展示,其附带声明作为整份文本查看;收录二进制时仍需核查声明覆盖范围,不能仅依据顶层项目的 License 判断。
每项事实只保留一个人工维护的权威来源。沿用现有依赖 manifest、SPM 固定版本等来源,补充项目 URL 与声明文件引用,自动生成统一随包清单;依赖获取或解析与元信息生成使用同一权威来源,不能另设一份手工版本表再以比较校验代替唯一事实来源。随包清单与生成代码属于派生产物,不独立编辑;插件设置与后续关于窗口从同一随包清单读取展示资料,Swift 不再重复硬编码版本与项目 URL。
声明文本在依赖引入或升级时获取并固定保存,正常构建不联网下载。必填资料或声明文件缺失、引用无效、生成结果与权威来源不一致时,构建校验失败;引入或升级依赖时另行核查声明对实际分发产物的覆盖范围,文件存在检查不能替代这项核查。运行时清单意外读取失败时,插件设置显示“版本信息不可用”,不猜测版本、不阻断代理功能;可执行程序选择与可用性继续遵循既有插件目录规则。