堆叠整流器
![夜间堆叠](http://stackage.org/package/stackage-curator/badge/nightly)
此存储库包含用于管理Stackage包集和构建可重用的包数据库。它最初被简单地称为stackage包,并且是stackage存储库的一部分,但由于这是一个很少有人需要使用的工具,我们将其拆分为具有名称的自己的包以表明其使用有限(仅限馆长)。
有关堆叠的更多信息:
代码解释
我们从开始约束.约束表示“包X具有给定版本范围,“软件包的维护者是谁正在使用的系统/编译器等。构建约束
将生成描述为一个整体,然而软件包约束
描述了对单独包装。
获得构建约束
.默认构建约束
检查PATH环境变量中的第一个GHC确定GHC版本、核心包、核心工具等。然后使用堆叠。配置
模块提取有关要已安装。第二种方法是Stackage2.更新构建计划
,将是稍后讨论。
构建约束
未完全指定生成。这是由建筑平面图
,也可以类似地分解为构建计划
和包装计划
.为了获得构建计划
,我们需要两条信息:构建约束
和包索引。包索引(通常下载是所有可用的阴谋集团文件的集合。
通过应用构建约束
到包索引(通过新构建计划
),我们得到一个建议构建计划
.不能保证这一点构建计划
是有效。为了验证它,我们使用检查构建计划
.A型建筑平面图
是的实例二者都ToJSON(ToJSON)
和来自JSON
,因此可以序列化为的文件以后使用。
在处理LTS Haskell时,我们希望能够构建计划
、和更新到更新的构建计划
保持所有包的主调相同版本。updateBuildConstraints(更新构建约束)
转动a构建计划
变成一个新的生成约束
受此限制,以及更新构建计划
应用新构建计划
达到这个结果。如前所述:这是不一验证结果,因此检查构建计划
必须使用。
A类构建计划
这是为了检查所有包是否编译一起运行相关测试套件,测试Haddock文档是否正确,以及生成一个独立的GHC二进制包数据库和一个Haddock文档集。(尚未实施。)
A类构建计划
可以转换为一个捆绑包,然后上传到Stackage Server。(尚未实施。)