2013-03-02 15 views
27

多くの場合、私の.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 

一貫性を維持するのは面倒でエラーが発生しやすいです。より良い方法がありますか?

フィールドが類似しているが全く同じではない場合も、難易度が高い。ビルドの依存関係は共通していますが、バリエーションが少ない実行可能ファイルがいくつかあります。

+2

私は何か良い解決策は現在ないと思います。この問題を回避するには、(A)コンポーネントごとに複数の 'ghc-options'フィールドを使用します(可能です)。これにより共有オプションは完全に同一になり、違いは維持しやすくなります。 (B)冗長な情報を含まない他のソースからCabalファイルを生成する。 – kosmikus

答えて

1

私はHaskellでCabalファイルを指定しやすくするためのツールを作成しました。このツールはこの問題とその他の問題に対処します。

https://hackage.haskell.org/package/cartel

関連する問題