2017-09-17 4 views
0

Ich habe thusly ein Projekt strukturiert:Wie verwendet man Geschwister Stack-Projekte?

- proj/ 
    - subproj1/ 
    - stack.yaml 
    - subproj1.cabal 
    - ... 
    - subproj2/ 
    - stack.yaml 
    - pkg1/ 
     - ... 
    - pkg2/ 
     - ... 
    - ... 

Und meine SubProj1/stack.yaml Datei enthält diese:

packages: 
- . 
- location: ../subproj2 
    subdirs: 
    - pkg1 
    - pkg2 
    extra-dep: true 

ich inkonsequent Build Verhalten bin zu bemerken, wenn „-Stack Build "aus dem Verzeichnis subproj1/. Und ich frage mich, ob ich meine Projektstruktur von Natur aus instabil aufgestellt habe. Wäre es beispielsweise stabiler, eine einzelne Datei stack.yaml zu verwenden, die sich im Verzeichnis proj/ befindet?

+0

In Verbindung stehend? https://github.com/commercialhaskell/stack/issues/2545 – dbanas

Antwort

0

Ja, leider gibt es einige bekannte Probleme mit diesem Setup - https://github.com/commercialhaskell/stack/issues/3130. Hoffentlich wird das irgendwann behoben sein! Eine Möglichkeit, um dies zu umgehen, besteht darin, die Umgebungsvariable STACK_YAML so festzulegen, dass Stapelaufrufe das aktuelle Verzeichnis ignorieren.

+0

Danke, @mgsloan! Kannst du erklären, warum ich das aktuelle Verzeichnis stacken möchte? – dbanas

+0

@dbanas Auf diese Weise wird immer eine einzige stack.yaml-Datei zum Erstellen eines bestimmten lokalen Pakets verwendet, und so werden die Dinge konsistent sein – mgsloan

Verwandte Themen