問題タブ [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 に答える
85 参照

shake-build-system - Shake の依存関係が明示的に「必要」なのはなぜですか?

エラーが発生しやすいと思われるパターンを示す最初の使用を見つけました。Shake

それらを読んで参照するneed contentsときになぜ必要なのですか?これは、要求を避けることができるようにするためですか?readFileLinescmdApplicativeDo

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

haskell - Haskell シェイク: ディレクトリを構築するための特別なルール

ディレクトリの作成mkdirが適切なツールではない場合があります。git cloneまたはrsyncまたはの場合がありますmount。したがって、次のようなルールがある場合:

予想されるように"project" </> "tool"、ディレクトリはproject何よりも先に作成され、git clone実行さえされません。これを回避する方法はありますか?

ここで新しいRuleものが必要になると思いますが、ドキュメントは最小限であり、コードが混乱しすぎて、実用的なソリューションを思いつくことができませんでした。

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

haskell - Shake: ファイル名がアプリオリにわからない場合の進め方

ShakeWeb アプリケーションを構築するためのセットアップを試みています。.jsビルド プロセスの最後に、結果のファイルと.cssファイルの名前をコンテンツ ハッシュに従って変更したいと考えています (キャッシュ バスティングの目的で)。

これはもちろん、のようなファイルの最終的な名前がわからないことを意味しますapp-<hash>.min.js

最終的なものを構築するためのルールindex.htmlは名前について知る必要があるため、次のようなものが必要になります

私はphonyの行に沿ってアクションを使用しようとしました

phonyこれは機能しますが、アクションがファイルを生成することになっていないため、見苦しく見えます。

この問題にアプローチする最善の方法は何でしょうか?

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

shake-build-system - シェイクビルドで失敗した場合のエラー検出とビルドレポート

テストスイートにシェイクを使用しています。のセットとして表される複数の独立したテストがありRuleます。これらのルールのいずれかが失敗すると、テストは失敗します。最後に、すべてのテスト ステータスを含むレポートを作成します。

私の問題は次のとおりです。

a) どのテストが実行または失敗したかを検出する必要があります。実際、私は を使用してごまかしてactionOnExceptionいますが、それは各ルールの各コマンドのボイラープレートが多く、複雑です (IORef失敗したステータスを保存するには、ステータス ファイルを作成するか、操作する必要があります)。

b) 最終レポートの一部として Shake レポートを書きたいのですshakeReportが、エラーが発生した場合にファイルを書きません。私の唯一の解決策は、--no-build --report out.html便利ではないビルドを再度実行することです。

編集:実際にはテストが実行されており、依存関係を構築しています。ビルドはおおよそ次のようになります。

ありがとうございました。