即使我有條件地將它們隱藏在設置爲false
的標誌後面,Hackage也會顯示庫部分依賴關係以及所有可執行部分的聯合。hackage顯示庫包與可執行部分不正確的依賴關係
我只發現了這個古老的,據說固定的bug,它聲稱指定cabal >= 1.18
解決事情,但似乎並非如此。
當包中包含可執行部分時,我需要做些什麼才能讓hackage僅顯示庫部分的依賴關係?
Here是給我的問題的軟件包。
即使我有條件地將它們隱藏在設置爲false
的標誌後面,Hackage也會顯示庫部分依賴關係以及所有可執行部分的聯合。hackage顯示庫包與可執行部分不正確的依賴關係
我只發現了這個古老的,據說固定的bug,它聲稱指定cabal >= 1.18
解決事情,但似乎並非如此。
當包中包含可執行部分時,我需要做些什麼才能讓hackage僅顯示庫部分的依賴關係?
Here是給我的問題的軟件包。
這不是你可以控制的東西:如果有可執行部分,hackage會期望用戶將要構建它們。這是有道理的,並且使可配置只會導致不必要的複雜性。
在這種情況下的正確解決方法是將測試套件和基準測試程序放入適當的Cabal部分中。他們的文檔見https://www.haskell.org/cabal/users-guide/developing-packages.html#test-suites和https://www.haskell.org/cabal/users-guide/developing-packages.html#benchmarks。
FWIW我個人認爲它不合理,它似乎在某個時候被宣佈爲一個錯誤(除非我誤解了那個舊的錯誤報告郵件列表文章)。我想我可能只是做所有的部分「測試」部分,所以我只需要做「--enable-tests」或其他什麼。 – jberryman
@jberryman我認爲你誤解了舊的bug報告。那份報告是關於Cabal的,而不是Hackage。 –
我希望我聽起來不笨,但是......你的問題是什麼? –
@DanielWagner編輯添加「當包中包含可執行部分時,我需要做什麼才能讓hackage僅顯示庫部分的依賴關係?」 – jberryman