【问题标题】:Will users be diverted from a package if it's not passing `cabal check` for `cabal` `1.22` due to the absence of `Setup.hs`?如果由于缺少 `Setup.hs` 而没有通过 `cabal` `1.22` 的 `cabal check`,用户是否会被从包中转移?
【发布时间】:2017-10-04 06:32:43
【问题描述】:

stack new 通常会创建一个默认的Setup.hs 文件。我从一个项目中删除了它,它仍然可以为任何lts 解析器构建到lts-2。至少对于cabal 版本1.24,它也通过了cabal check。 (虽然不是cabal1.22。)

我可以从这个结果中得出结论,在项目中包含默认的Setup.hs 不再流行并且我可以放弃它吗?特别是,如果软件包没有通过cabal checkcabal 1.22,许多潜在用户会被转移到安装软件包吗?

附:这个问题比the other, similar one 更具体,因为我想知道,具体来说,如果由于缺少其他不必要的Setup.hs 而导致某个版本的cabal 的包没有通过cabal check 将被计入在某些情况下打包,以及考虑到 Haskell 生态系统的当前状态,在项目中没有 Setup.hs 是否还有其他缺点。 Setup.hs 是必要的还是有用的不是这里的问题。

【问题讨论】:

  • 确实,当它只是默认的Setup.hs 时,我看不出有什么意义(就像它一样……?可能是所有项目的 99%)。跨度>

标签: haskell cabal


【解决方案1】:

如果您在没有Setup.hs 文件的项目上运行cabal sdistcabal 会为您创建一个——试试吧!

因此,删除该文件是没有意义的,因为无论如何它都会在您打包分发时重新生成。

【讨论】:

  • 重点是消除混乱。例如,如果我将hpackpackage.yaml 添加到版本控制中,我不会将example.cabal 添加到版本控制中,而是添加到忽略列表中,因为当有人使用stack 构建包时,它将在引擎盖下重新生成。只要Setup.hs 可以重新生成,我也会这样做。我会进一步报告,因为我有它的工作。
猜你喜欢
  • 1970-01-01
  • 2016-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-03
  • 2011-12-31
  • 1970-01-01
相关资源
最近更新 更多