2017-12-12 4 views
3

Durch Ausführen von stack ide targets kann ich eine Liste aller Ziele in einem Stapelprojekt abrufen. Zum Beispiel für Halive, erhalte ich:Prüfen Sie, von welchen Zielen/Komponenten ein Stack-Ziel/eine Komponente abhängt?

halive:lib 
halive:exe:halive 
halive:test:compileexpr 
halive:test:demo 
halive:test:subhalive 
halive:test:testghc 
halive:test:unit 

Ich mag würde jetzt, wenn es einen Weg gibt, wir Stapel fragen können, intero oder ein anderes Werkzeug, das ein Ziel richtet abhängt.

Zum Beispiel, in diesem Szenario möchte ich Stack/Intero/was auch immer zu sagen, dass halive:test:unit von halive:lib abhängt.

Falls das nicht möglich ist, kann ich versuchen, die .cabal-Datei selbst zu überprüfen ... gibt es einen Parser oder ein Werkzeug oder etwas, das mir so etwas geben könnte?

Antwort

0

Sie können einfach den Befehl stack dot ausführen, um ein Abhängigkeitsdiagramm für Ihr Projekt zu erstellen und dieses Diagramm dann selbst zu analysieren. Ich denke deine Aufgabe ist ziemlich spezifisch. Nur ein einziger Analysealgorithmus für Abhängigkeitsgraphen. Wahrscheinlich nicht so häufig, also ist es noch nicht implementiert (vielleicht ist es implementiert, aber ich bin mir dessen nicht bewusst).

Details sehen hier:

Use “stack dot” to see which of your deps bring a particular package to your dependency tree

+0

Es ist nicht die Art und Weise zu funktionieren scheint ich erwartet hatte ... https://gist.github.com/dcastro/05d1076e3cd134a1bc473f77e401998d – dcastro

+1

Hmm, du bist Recht. Dieser Befehl zeigt keine Abhängigkeiten von internen Modulen :(Wahrscheinlich können Sie Feature-Anfrage im 'stack' Repository für diese öffnen. – Shersh

+0

Gute Idee, danke;) – dcastro

Verwandte Themen