「最新の JavaScript ビルド ワークフロー」を WAR アーティファクトを生成する Maven ビルドに統合するための「ベスト プラクティス」について疑問に思っています。
連結と縮小を処理する Maven プラグインをいくつか見つけました。
- WRO4J: https://code.google.com/p/wro4j/wiki/MavenPlugin
- Maven プラグインの縮小: https://github.com/samaxes/minify-maven-plugin
- YUI: http://alchim.sourceforge.net/yuicompressor-maven-plugin/
ただし、連結/縮小のオンとオフを切り替えることが必須であると思うため、それらが完全なビルドワークフローにどのように適合するかはまだわかりません:
開発のために、便利にデバッグできるように、連結/縮小されたリソースを含まない WAR を構築したいと考えています。本番ビルドでは、連結/縮小されたリソースを含む WAR を作成したいと考えています。
さらに、本番ビルドでは、スクリプトの連結/縮小バージョンを指すように、html のスクリプト URL を「書き直す」必要があります。
JavaScript の世界では、上記のワークフローを実現するために、さまざまな grunt タスク (uglify、usemin) で Grunt を使用します。Maven ビルドで同じことを達成するにはどうすればよいですか?