問題タブ [shake-build-system]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
61 参照

haskell - 新しいルールの依存関係を既存のルールに追加する

new で拡張可能にすることを目的として Shakefile を作成していRulesます。そのインターフェースは functionであり、クライアント プロジェクトはすべてを機能mainFor :: Rules () -> IO ()させるために定義するだけでよいという考えです。の呼び出しが続くShake の束として定義されます。main = mainFor myCustomRulesmainFor customRulesRulescustomRules

mainForこれは、渡されたカスタム ルールが新しいターゲット用である限り機能します。

ただし、私のストック (非カスタム) ルールの一部は、基本的に「この入力でこの大きな不透明な独自の外部スクリプトを実行し、最善を尽くす」という形式になっています。入力に応じて、外部スクリプトによって使用される追加のファイルが存在する可能性があります。たとえば、次の形式のルールがあるとします。

特定のクライアント プロジェクトでは、生成されたソース コードに別のファイルへの参照が含まれている場合があります_build/src/extrainput.src。したがって、 に渡されるカスタム ルールではmainFor、このファイルに追加のルールが必要なだけでなく、既存のルールも変更して、needこの入力であることを示す必要があります。

しかし、当然のことながら、引数でmainFor渡されたストック ルールと 2 番目のカスタム ルールの両方が同じターゲットに対するものであるため、これは失敗します。ストック ルールを完全にオーバーライドするのではなく、拡張して追加の依存関係を追加するだけであることに注意してください。customRules