Gradle2.12からコンパイル専用のスコープが導入されていたらしいので試してみた。
build.gradleの定義
compileOnlyを使うことで、コンパイル時のみ依存するライブラリを定義できる。
testCompileOnlyを使うと、テストのコンパイルじのみ必要なライブラリを定義できる。
compileOnly 'javax:javaee-api:7.0'
微妙なところ
compileOnlyはtestCompileやtestRuntimeへは引き継がれない。
なので、テストコードから使いたい場合はテスト用のスコープにも追加してあげる必要がある。
一律テスト用のスコープに追加しても問題はないと思うので、これが一番簡単かなと思われる。
compileOnlyを追加した場合にも自動的に追加されるし。
sourceSets.test { compileClasspath += configurations.compileOnly runtimeClasspath += configurations.compileOnly }