多くの場合、私の.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
一貫性を維持するのは面倒でエラーが発生しやすいです。より良い方法がありますか?
フィールドが類似しているが全く同じではない場合も、難易度が高い。ビルドの依存関係は共通していますが、バリエーションが少ない実行可能ファイルがいくつかあります。
私は何か良い解決策は現在ないと思います。この問題を回避するには、(A)コンポーネントごとに複数の 'ghc-options'フィールドを使用します(可能です)。これにより共有オプションは完全に同一になり、違いは維持しやすくなります。 (B)冗長な情報を含まない他のソースからCabalファイルを生成する。 – kosmikus