2016-08-12 1 views
1

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.

+0

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

+0

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

Répondre

2

hsparql auteur ici. Merci pour le rapport. J'ai poussé un commit qui corrige la compatibilité avec rdf4h> = 2.0.0. J'ai poussé une bosse de version hsparql à 0.2.8 pour pirater. La commande stack test fonctionne maintenant comme vous attendez:

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