gradle warでJSをバンドルさせる

2014-03-02T00:00:00+00:00 gradle

分かりづらいので

├── build.gradle
└── src
    └── main
        ├── java
        ├── js
        │   └── jquery.js
        └── webapp
            └── WEB-INF
                ├── classes
                └── lib

っていうような構造になっている。でwarタスクでパッケージングをした際に

     0 Sun Mar 02 15:32:42 JST 2014 META-INF/
    25 Sun Mar 02 15:32:42 JST 2014 META-INF/MANIFEST.MF
     0 Sun Mar 02 15:32:42 JST 2014 static/
     0 Sun Mar 02 15:32:42 JST 2014 static/js/
 93107 Sat Mar 01 20:01:48 JST 2014 static/js/jquery.js
     0 Sat Mar 01 20:01:24 JST 2014 WEB-INF/
     0 Sat Mar 01 20:01:24 JST 2014 WEB-INF/lib/
     0 Sat Mar 01 20:01:24 JST 2014 WEB-INF/classes/

っていうようにJSなのを.warに含まれるようにするには

apply plugin: "war"

war {
    from("src/main/js") {
        into "static/js"
    }
}

っていうようにfromとintoで指定すれば良い模様。warの場合src/main/{java,webapp}なのは解釈されてバンドルされるが、src/main/jsのような非定義な構造なやつはバンドルされない。上記のようにする事でプロジェクト内にJSをぶち込んでやれば良い模様

一応、jettyプラグインでjettyRunWar等のタスクを利用して開発用のJettyサーバーを起動してアクセスしても問題無い模様

これで良いかどうかは微妙な所だけど

rspec+glint LoadMoreListView