forked from EduCraft/curriculum-project-hub
3ebe4b754d
Remove filler/redundant patterns: 钉死/钉, 本模块, likec4 画不出/画得出, 臆造, 散文, 分歧点测试, 纯 plumbing, 恰好, 留白, 宪法第N条, 刻意. No code definitions changed, only doc comments.
24 lines
1.2 KiB
Lean4
24 lines
1.2 KiB
Lean4
/-!
|
|
# Artifact —— export target 的产物(ADR-0009 / 0011)
|
|
|
|
ADR-0009:一个 export target 是**一次 build**,产出一个**有类型的产物**。ADR-0011
|
|
固定:产物是**带字段的 ADT**——"产物到底指什么"(单文件落在哪 / 一棵树产出哪些文件)
|
|
是不好猜的领域语义,必须写进字段 + doc,而非抹成两个空构造子。路径/glob 用 `String`
|
|
承载并由 doc 赋义(它们就是文本),不复刻文件系统类型。
|
|
-/
|
|
|
|
namespace Spec.Courseware
|
|
|
|
/-- export 产物(`PINNED` 带字段 ADT, ADR-0011)。产物形状决定 `cph build` 吐文件还是
|
|
目录、reduce 怎么折叠(`singleFile` 把有序片段拼成一份再编译——交叉引用 `@ref`、例题
|
|
计数器能工作的前提;`fileTree` 每 part 落一文件)。后端/格式仍 OPEN(ADR-0009)。 -/
|
|
inductive Artifact where
|
|
/-- 单文件产物,落在 `filepath`(相对工程根)。讲义/教案 PDF 即此。 -/
|
|
| singleFile (filepath : String)
|
|
/-- 多文件产物:`root` 目录下匹配 `outputs` **glob** 的文件集(第三方平台 archive
|
|
即此)。用 glob 而非显式清单:轻,又让消费方/checker 知道该产出哪些文件、可校验
|
|
完整性。 -/
|
|
| fileTree (root : String) (outputs : String)
|
|
|
|
end Spec.Courseware
|