Gradle で Ant の jar タスクで言うところの exclude のやりかた。
task jarTare(type: Jar) { baseName = 'Tare' from sourceSets.main.output exclude('jp/ne/hatena/d/samples/shell/**') }
baseName は出力する jar ファイルのファイル名。
src/main/java/** を含んで exclude の指定を含まない Tare.jar ができる。
省きたい部分が複数ある場合はそれだけ exclude を並べればOK。
Gradle の思想や書き方である Groovy をさっぱり知らないので難儀した。
参考
- 第23章 Javaプラグイン のソースセットプロパティのあたりとか
- java - Gradle: How to exclude a particular package from a jar? - Stack Overflow exclude だけだと manifest だけの空っぽの jar ができてしまう。 from 書かないとダメ。