/ / Gradleの実行時にいくつかのコンパイル依存関係を除外 - groovy、gradle

Gradle - groovy、gradleの実行時にいくつかのコンパイル依存関係を除外

私はGradleを使ってGroovyアプリケーションをビルドしています。いつものように私は compile の依存関係 build.gradle スクリプト、このように:

dependencies {
// groovy
compile "org.codehaus.groovy:groovy:$groovyVersion"
compile "org.codehaus.groovy:groovy-json:$groovyVersion"
compile "org.codehaus.groovy:groovy-test:$groovyVersion"

// some more external dependencies...
}

OK runtime 私はこれらの依存関係のすべてを必要としません。たとえば、テストクラスは必要ありません。だから、今私が探しているのは、Gradleに、同じ依存関係を使用する必要があることをGradleに伝える方法です runtime はどうかと言うと compile (とにかくデフォルトである)が、一部は除外されている。

それを達成するための簡単な方法はありますか、それともすべての依存関係を一覧表示する必要がありますか runtime 同様に?

回答:

回答№1は1

Groovyの推移的な依存関係は、通常はコンパイルに必要とされません(ただし、Groovyコンパイラの既知の制限のために、 )、実行時には必ず必要です。しかし、ここではコンパイルの依存関係を最適化する価値はないので、Groovyの依存関係を compile 依存関係(自動的にそれらを作る runtime 依存関係も同様)。 Groovyテストの依存関係を testCompile 構成。