2

I'm a bit confused about how a dependency on a package affects including it in Stackage LTS; specifically, if

does package A have to be excluded from LTS-X.Y, particularly if

4

2 回答 2

1

我将在 github 上复制/粘贴我的答案


包 A 必须排除在外吗?

不,它不必被排除在外。原因如下:

即使排除 B 的唯一原因是因为测试套件依赖性

在这种情况下,我们可以将 B 添加到构建计划中并将其标记在该skipped-tests部分下,以避免拉入其测试套件依赖项。LTS 和夜间快照都是如此。

(然而,更可取的做法是纠正 B 的依赖问题,以便可以运行测试套件。)


为了进一步澄清,回应@bergey的回答:

仅当软件包的维护者同意使其依赖项保持最新时,才包含软件包

这仅适用于明确包含的包。一些包是传递依赖,它们被隐式包含,并且不一定遵守如此严格的标准。(但是,将来我们可能会消除隐含包含的概念,而是显式包含所有包。)

即使它的测试套件或其基准具有与 snapsnot 不兼容的依赖约束,也可以进行例外处理,以便可以包含一个包。

当然,首选的方法是不需要做出这样的例外,我们鼓励所有维护者保持他们所有的构建目标是最新的。

最后,请允许我指出,这个问题可能更适合stackage mailing list,这是公认的没有很好地宣传或使用。

于 2018-10-15T17:24:25.413 回答
1

是的,对于给定 Stackage 快照中的每个包,它的所有传递依赖项也在快照中。此外,仅当包的维护者同意使其依赖项保持最新时,才包含包。在 github 上的 README中有更多详细信息。摘录:_

于 2018-10-15T01:48:12.923 回答