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プラグインリポジトリに公開されていないプライベートプラグインまたは会社のプラグインでは機能しないことに注意してください。そのため、新しいアプローチがプライベートリポジトリでの検索をサポートするまで、古いアプローチが少なくとも存続することを願っています。
plugins
Gradleチュートリアル(Gradleバージョン5.6.2)によると、マルチプロジェクトで動作します。guides.gradle.org/ creating -multi-project- builds /…plugins
ブロックapply false
全体を使用してプラグインをプロジェクト全体に追加しますが、追加しませんそれをルートプロジェクトに追加します。サブプロジェクトは、plugins
ブロックを再度使用してプラグインを追加します。
plugins
over を使用しても意味がありません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 }
(私はそれを試してみましたが、それはうまくいきませんでした)