如何在 Travis CI 上部署 Agda 库?
How to deploy an Agda library on Travis CI?
我已经阅读了 agda-stdlib 项目中的 .travis.yml
,虽然它与纯粹用 Agda 编写的简单库(没有那些 Haskell 代码和 Shell 脚本)。
我对 stdlib 的 .tarvis.yml
感到困惑。我已经通过 cabal install
安装了 agda,但是 stdlib 试图在 Travis CI 上克隆和编译 Agda,并且有很多命令似乎与构建它无关。
此外,agda-stdlib 似乎在 Ubuntu 的源代码中可用。这可能是安装它的第三种方法。
此外,stdlib 没有依赖项,但我有。我也不知道怎么加依赖
我的问题结论:
- 上面列出的3个安装agda的选项,我应该选择哪个?
- 如何添加让 agda 编译器知道我实际使用它的依赖项?
标准库有点特殊:它与 Agda 的开发版本同步发展。因此,通常情况下它无法使用您选择的发行版中现成的 Agda 版本进行编译(例如,因为它使用了事先不可用的语法!)并且它被迫从 github.
正在安装 Agda
如果您的库与分布式版本兼容,那么通过 apt-get install agda
.
从存储库中提取它会简单得多
另外,Scott Fleischman 有一个关于如何使用 docker 图像对您的开发进行类型检查的基本示例:https://github.com/scott-fleischman/agda-travis
正在安装您的依赖项
如果您的项目依赖于依赖项,那么您确实需要安装它们。实际上,这可能意味着通过 wget
获取一堆 tarball,并让 ~/.agda/libraries
指向它们的库文件。
我已经阅读了 agda-stdlib 项目中的 .travis.yml
,虽然它与纯粹用 Agda 编写的简单库(没有那些 Haskell 代码和 Shell 脚本)。
我对 stdlib 的 .tarvis.yml
感到困惑。我已经通过 cabal install
安装了 agda,但是 stdlib 试图在 Travis CI 上克隆和编译 Agda,并且有很多命令似乎与构建它无关。
此外,agda-stdlib 似乎在 Ubuntu 的源代码中可用。这可能是安装它的第三种方法。
此外,stdlib 没有依赖项,但我有。我也不知道怎么加依赖
我的问题结论:
- 上面列出的3个安装agda的选项,我应该选择哪个?
- 如何添加让 agda 编译器知道我实际使用它的依赖项?
标准库有点特殊:它与 Agda 的开发版本同步发展。因此,通常情况下它无法使用您选择的发行版中现成的 Agda 版本进行编译(例如,因为它使用了事先不可用的语法!)并且它被迫从 github.
正在安装 Agda
如果您的库与分布式版本兼容,那么通过 apt-get install agda
.
另外,Scott Fleischman 有一个关于如何使用 docker 图像对您的开发进行类型检查的基本示例:https://github.com/scott-fleischman/agda-travis
正在安装您的依赖项
如果您的项目依赖于依赖项,那么您确实需要安装它们。实际上,这可能意味着通过 wget
获取一堆 tarball,并让 ~/.agda/libraries
指向它们的库文件。