16
他の(外部プラグイン)を自動的に適用するプラグインを作成したいと思います。これは、 "apply plugin"を呼び出す前に、プラグインのbuildscript依存関係を設定する必要があります。しかし、プラグインにbuildscriptの依存関係を追加できないようです。 未解決の状態ではない設定を変更することはできません!別の(外部)プラグインに依存するGradleプラグインを作成する
解決策はありますか?
マイサンプル(非稼働)コード:
import org.gradle.api.Project
import org.gradle.api.Plugin
class SamplePlugin implements Plugin<Project>{
void apply(Project project) {
project.buildscript.dependencies.add("classpath","net.sourceforge.cobertura:cobertura:1.9.4.1");
project.configure(project){
apply plugin: 'cobertura'
}
}
}
どのようにこれが正確に行われるのか興味がある場合は、MavenPublicationのデフォルトのPOMを拡張する必要があります。 NetflixのNebulaプラグインは、例のための素晴らしいソースです:https://github.com/nebula-plugins/nebula-publishing-plugin/blob/master/src%2Fmain%2Fgroovy%2Fnebula%2Fplugin%2Fpublishing%2Fmaven%2FMavenJavaPublishingPlugin.groovy – Matthias
Nebulaへの最新のリンクは誰でもこのページを訪れるためにPluginを公開しています。 https://github.com/nebula-plugins/nebula-publishing-plugin/blob/master/src/main/groovy/nebula/plugin/publishing/maven/MavenPublishPlugin.groovy – dmahapatro