Gradleプラグインのブロックがわかりません
apply plugin: 'someplugin1'
apply plugin: 'maven'
そして他のもの:
plugins {
id 'org.hidetake.ssh' version '1.1.2'
}
最初のブロックにはプラグイン名があります。2番目の1つのパッケージとバージョン。最初のブロックをどこで使用するか、2番目のブロックをいつ使用するかわかりません。
Gradleプラグインのブロックがわかりません
apply plugin: 'someplugin1'
apply plugin: 'maven'
そして他のもの:
plugins {
id 'org.hidetake.ssh' version '1.1.2'
}
最初のブロックにはプラグイン名があります。2番目の1つのパッケージとバージョン。最初のブロックをどこで使用するか、2番目のブロックをいつ使用するかわかりません。
回答:
pluginsブロックは、プラグインを適用する新しい方法であり、それらはで利用可能でなければならないのGradleプラグイン・リポジトリ。applyアプローチは、ビルドにプラグインを追加することの古い、まだより柔軟な方法です。
新しいpluginsメソッドはマルチプロジェクト構成(subprojects、allprojects)では機能しませんが、各子プロジェクトのビルド構成で機能します。
機能が進歩するにつれて、plugins構成方法は古いアプローチに取って代わると思いますが、この時点では両方を同時に使用できます。
plugins {...})を使用してプラグインを適用しても、公式のGradleプラグインリポジトリに公開されていないプライベートプラグインまたは会社のプラグインでは機能しないことに注意してください。そのため、新しいアプローチがプライベートリポジトリでの検索をサポートするまで、古いアプローチが少なくとも存続することを願っています。
pluginsGradleチュートリアル(Gradleバージョン5.6.2)によると、マルチプロジェクトで動作します。guides.gradle.org/ creating -multi-project- builds /…pluginsブロックapply false全体を使用してプラグインをプロジェクト全体に追加しますが、追加しませんそれをルートプロジェクトに追加します。サブプロジェクトは、pluginsブロックを再度使用してプラグインを追加します。
pluginsover を使用しても意味がありませんapply plugin。
apply plugin
@cjstehnoですでに述べたように、これapply pluginは避けるべきレガシーな方法です。
プラグインDSLの導入により、プラグインを適用する従来の方法を使用する理由がほとんどなくなります。これは、ビルドの作者がプラグインDSLを使用できない場合に備えて、ここで文書化されています。
新しいplugins blockメソッドでは、オプションのパラメーターを使用してプラグインを追加し、いつ適用するかを制御できますapply。
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
pluginsブロックに既に追加されているが適用されていないプラグインを適用する場合は、引き続きレガシーメソッドを使用します。たとえば、マスタープロジェクトにプラグインxyzは追加されますが適用されません。サブプロジェクトにのみ適用する必要がありますsubPro。
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
このバージョンはもう必要ないことに注意してください。バージョンがで必要とされるplugins次のような、コアのGradleプラグインのいずれかを使用している場合を除きブロックjava、scala...
私はSpring Bootアプリケーションを作成しようとしている間、その違いを理解するのに少し時間を費やしました。それが私がしばらくしてもう一度これに答えている理由です。Spring Bootプラグインを使用するための次の例は、私を大いに助けました:
現在使用すべきもの:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Gradle 2.1以前に使用されていたもの:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.1.RELEASE"
}
}
apply plugin: "org.springframework.boot"
apply plugin xxxしplugins { id xxx }(私はそれを試してみましたが、それはうまくいきませんでした)