如何处理堆栈中子项目的依赖关系

时间:2016-08-12 21:00:19

标签: haskell haskell-stack

我有问题弄清楚在我的堆栈项目中有源代码依赖性有什么问题。假设我想在我的项目中测试hsparql库的修改版本。最小的设置是:

stack new mytest simple
mkdir 3rdpary
cd 3rdpary
git clone https://github.com/robstewart57/hsparql

修改stack.yml以在我的项目中包含本地和修改版本的hsparql:

packages:
- '.'
- 3rdparty/hsparql

# Dependency packages to be pulled from upstream that are not in the resolver
# (e.g., acme-missiles-0.3)
extra-deps: 
- rdf4h-2.0.0
- hgal-2.0.0.2

如果我转到3rdparty / hsparql文件夹,我可以stack test没有任何问题,但是从我项目的根目录中我得到了

$ stack test
hsparql-0.2.7: build (lib + test)
Progress: 1/2
--  While building package hsparql-0.2.7 using:
      /home/cebrian/.stack/setup-exe-cache/x86_64-linux/setup-Simple-Cabal-1.22.5.0-ghc-7.10.3 --builddir=.stack-work/dist/x86_64-linux/Cabal-1.22.5.0 build lib:hsparql test:test-hsparql --ghc-options " -ddump-hi -ddump-to-file"
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/cebrian/borralodedentro/stack-test/.stack-work/logs/hsparql-0.2.7.log

    Preprocessing library hsparql-0.2.7...
    In-place registering hsparql-0.2.7...
    Preprocessing test suite 'test-hsparql' for hsparql-0.2.7...

    /home/cebrian/borralodedentro/stack-test/3rdparty/hsparql/tests/Database/HSparql/ConnectionTest.hs:10:18:
        Could not find module ‘Data.RDF.TriplesGraph’
        Use -v to see a list of the files searched for.

由于某些原因,测试操作无法找到在原始库和我自己的rdf4h中都指定的库stack.yml

我不知道我做错了什么,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

hsparql作者在这里。谢谢你的报道。我推了commit修复了与rdf4h> = 2.0.0兼容的问题。我已经将hsparql版本的压力推到0.2.8以进行破坏。 perform命令现在可以正常运行:

blah-1.12-SNAPSHOT