Cabal & Stack 从哪里获取 Hackage 包?
Where do Cabal & Stack fetch Hackage packages from?
我有兴趣为 Hackage 创建一个工具,涉及分析 Hackage 包之间的各种依赖关系。我认为这将涉及下载和同步所有 Hackage 包源的镜像,特别是 *.cabal 文件,我可以在这些文件上 运行 我想到的各种分析。
如何访问 cabal 和 stack 从中获取包的相同存储库? cabal 和 stack 是否有一个 API 用于获取我的程序可以类似地插入的包?
我目前正在开发一个可以轻松(或至少更容易)访问此元数据的库。但是从 Hackage 获取所有包的元数据的基本规则是:
- 下载 01-index.tar.gz 文件:https://hackage.haskell.org/01-index.tar.gz
- 解析其中的每个
.cabal
个文件
请注意,由于 Hackage 的修订,可能会有多个 cabal 文件具有相同的 name/version 组合(称为包标识符)。
我有兴趣为 Hackage 创建一个工具,涉及分析 Hackage 包之间的各种依赖关系。我认为这将涉及下载和同步所有 Hackage 包源的镜像,特别是 *.cabal 文件,我可以在这些文件上 运行 我想到的各种分析。
如何访问 cabal 和 stack 从中获取包的相同存储库? cabal 和 stack 是否有一个 API 用于获取我的程序可以类似地插入的包?
我目前正在开发一个可以轻松(或至少更容易)访问此元数据的库。但是从 Hackage 获取所有包的元数据的基本规则是:
- 下载 01-index.tar.gz 文件:https://hackage.haskell.org/01-index.tar.gz
- 解析其中的每个
.cabal
个文件
请注意,由于 Hackage 的修订,可能会有多个 cabal 文件具有相同的 name/version 组合(称为包标识符)。