2012-11-01 53 views
2

我有一個名爲Datatypes.hs的頂級文件。它暴露在我的cabal文件中。Cabal - 共享數據類型

library 
    exposed-modules: Application 
        Foundation 
        Import 
        Settings 
        Settings.Development 
        Datatypes 
        Handler.Advise 

我想在我的測試代碼中使用Datatypes。這是我曾嘗試

測試套件的測試 類型:退出碼,標準輸入輸出,1.0 主是:測試/ testclient.hs HS-源迪爾斯:,測試 GHC選項:-Wall

build-depends: base 
      , Datatypes 
      , conduit == 0.5.2.7 
      , attoparsec-conduit == 0.5.0.2 
      , transformers == 0.3.0.0 
      , resourcet == 0.4.0.2 
      , http-conduit     >= 1.5  && < 1.7 
      , utf8-string == 0.3.7 
      , aeson == 0.6.0.2 

我仍然對testclient.hs中的數據類型沒有被定義抱怨。我在做什麼?現在我只想粘貼我的數據類型爲testclient.hs,但我想只能夠參考Datatypes.hs

+2

'Datatypes'是不是一個包,所以它不會在屬於集結依賴。我不知道測試套件的東西,所以它可能需要將其目錄列在hs-source-dirs中,或者將其自身列在其他模塊字段(可能是後者)中。 –

回答

2

你不能在build-depends字段列表單獨的模塊 - 使用軟件包的名稱代替。舉一個例子,看看.cabal file for unordered-containers

test-suite strictness-properties 
    hs-source-dirs: tests 
    main-is: Strictness.hs 
    type: exitcode-stdio-1.0 

    build-depends: 
    base, 
    [...] 
    unordered-containers