2013-03-02 7 views
27

Często mam podobne właściwości w wielu strofach moich plików .cabal. Na przykład.Eliminowanie powtórzeń w plikach cabowych

Library x 
    ... 
    ghc-options: 
     -O2 -Wall -fno-warn-missing-signatures -fwarn-incomplete-patterns 
     -fno-warn-name-shadowing 

Executable y 
    ... 
    ghc-options: 
     -O2 -Wall -fno-warn-missing-signatures -fwarn-incomplete-patterns 
     -fno-warn-name-shadowing 

Utrzymanie ich spójności jest uciążliwe i podatne na błędy. Czy istnieje lepszy sposób?

Jeszcze trudniejsze jest, gdy pola są podobne, ale nie identyczne, np. gdy mam kilka plików wykonywalnych, które mają wspólne zależności budowania, ale małe odmiany.

+2

Nie sądzę, że obecnie istnieje dobre rozwiązanie. Dwie możliwości ominięcia tego problemu w częściach to: (A) użycie wielu pól 'ghc-options' na komponent (tak, to jest możliwe), dzięki czemu opcje wspólne są całkowicie identyczne, a różnice łatwiejsze do utrzymania; i (B) generować plik Cabal z jakiegoś innego źródła, które nie zawiera zbędnych informacji. – kosmikus

Odpowiedz