2017-12-01 21 views
1

私は別の依存関係のために新しい設定を作成するカスタムGradleプラグインを作成しました。これらはcompileの構成にあったので、私はそうのような(Javaプラグインから)クラスパスに新しい設定を追加しました:Gradle - クラスパスに新しい設定を追加するとエラーが発生する

project.sourceSets.all { sourceSet -> 
    sourceSet.compileClasspath += myConfiguration 
} 

私の設定compile構成を拡張します。これについての私の推論は、compileの設定に「何か」を加えた他のサードパーティのプラグインがあれば、それはまたcompileのインスタンスでもあるので、私の新しい設定にも影響します。

後に別のプラグインで、Spring PropDeps Pluginは、また、クラスパスを変更し、ビルドが失敗しているようです:

は、プラグイン[クラスを適用できませんでした「org.springframework.build.gradle.propdep.PropDepsPlugin」 ] 解決済みの設定 ':my-project:compile'の依存関係を変更できません。

プラグインのソースコードを見ると、自分のカスタムプラグインで設定を作成している、つまり設定を作成してプラグインが適用されるとすぐにクラスパスに追加するのと同じ手順を行っています。 hereを参照してください。

プラグインのみがクラスパスに新しい設定を追加できる場合は、狂っているように見えます。私はここで間違って何をしていますか?

私のカスタムプラグインはallprojectsブロックに適用されますが、Springプラグインはsubprojectsブロックに適用されます。

答えて

1

Hmmm ...私が質問を書いていたときに、compile構成をコンパイルクラスパスに追加することについて何か驚いた。これは私が循環依存を追加していたようです。低いと私は構成を拡張していないときは、ビルドは働いた!

関連する問題