J'ai des problèmes pour déterminer ce qui ne va pas avec une dépendance au code source dans mon projet de pile. Dites que je veux tester une version modifiée de la bibliothèque hsparql dans mon projet. Une configuration minimale serait:Comment faire face aux dépendances des sous-projets dans la pile
stack new mytest simple
mkdir 3rdpary
cd 3rdpary
git clone https://github.com/robstewart57/hsparql
Modifier stack.yml
pour inclure la version locale et modifiée de hsparql dans mon projet:
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
Si je vais dans le dossier 3rdparty/hsparql je peux stack test
sans aucun problème , mais à partir de la racine de mon projet, je reçois
$ 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.
pour une raison quelconque, l'action de test n'est pas en mesure de trouver la bibliothèque rdf4h
que » S été spécifié à la fois dans la bibliothèque d'origine et le mien stack.yml
.
Je n'ai aucune idée de ce que je fais de mal donc toute aide sera appréciée.
Les étapes de reproduction sont un peu confus: Je pense qu'il ya une faute de frappe ('3rdpary' /' 3rdparty') et un manque 'cd mytest' comme la deuxième étape . Vos messages d'erreur signalent également 'stack-test' comme le répertoire parent de' 3rdparty'. – sjakobi
Lors de l'appel de 'stack test' depuis la racine du projet, la pile utilise' rdf4h-2.0.0' comme spécifié dans 'stack.yaml'. Cette version de 'rdf4h' n'inclut pas' Data.RDF.TriplesGraph', donc le message d'erreur. Lors de l'exécution de 'stack test' depuis le répertoire' hsparql', la pile utilise un autre 'stack.yaml'. – sjakobi