Spesso ho proprietà simili in molte stanze dei miei file .cabal
. Per esempio.Eliminazione della ripetizione nei file cabal
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
Mantenerli coerenti è noioso e soggetto a errori. C'è un modo migliore?
Ancora più difficile quando i campi sono simili ma non esattamente uguali, ad es. quando ho diversi eseguibili che hanno dipendenze di compilazione comuni ma piccole variazioni.
Non credo che ci sia attualmente nessuna buona soluzione. Due opzioni per aggirare questo problema in parti sono: (A) utilizzare più campi 'ghc-options' per componente (sì, è possibile), rendendo così le opzioni condivise completamente identiche e le differenze più facili da mantenere; e (B) genera il tuo file Cabal da un'altra fonte che non contiene informazioni ridondanti. – kosmikus