如何处理stack中子项目的依赖关系
How to deal with dependencies of subprojects in 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.
出于某种原因,测试操作无法找到在原始库和我自己的 stack.yml
.
中指定的库 rdf4h
我不知道自己做错了什么,所以我们将不胜感激。
这里是 hsparql 作者。感谢您的报告。我推出了 commit 修复了与 rdf4h >= 2.0.0 的兼容性。我已经将 hsparql 版本提升到 0.2.8 以进行黑客攻击。 stack test
命令现在可以如您所愿地工作:
Progress: 1/2Database.HSparql.Connection tests:
selectQuery: [OK]
askQuery: [OK]
constructQuery: [OK]
describeQuery: [OK]
Test Cases Total
Passed 4 4
Failed 0 0
Total 4 4
我无法弄清楚在我的堆栈项目中存在源代码依赖性有什么问题。假设我想在我的项目中测试 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.
出于某种原因,测试操作无法找到在原始库和我自己的 stack.yml
.
rdf4h
我不知道自己做错了什么,所以我们将不胜感激。
这里是 hsparql 作者。感谢您的报告。我推出了 commit 修复了与 rdf4h >= 2.0.0 的兼容性。我已经将 hsparql 版本提升到 0.2.8 以进行黑客攻击。 stack test
命令现在可以如您所愿地工作:
Progress: 1/2Database.HSparql.Connection tests:
selectQuery: [OK]
askQuery: [OK]
constructQuery: [OK]
describeQuery: [OK]
Test Cases Total
Passed 4 4
Failed 0 0
Total 4 4