他のプラグインへの反応

別のプラグインが適用されると、Spring Boot プラグインはプロジェクトの構成にさまざまな変更を加えることで反応します。このセクションでは、これらの変更について説明します。

Java プラグインへの反応

Gradlejava プラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のようになります。

  1. プロジェクトの実行可能ファイル uber jar を作成する bootJar という名前の BootJar (Javadoc) タスクを作成します。jar には、メインソースセットのランタイムクラスパス上のすべてが含まれます。クラスは BOOT-INF/classes にパッケージ化され、jar は BOOT-INF/lib にパッケージ化されます。

  2. bootJar タスクに依存するように assemble タスクを構成します。

  3. plain をアーカイブ分類子の規則として使用するように jar タスクを構成します。

  4. buildpack (英語) を使用して OCI イメージを作成する bootBuildImage という名前の BootBuildImage (Javadoc) タスクを作成します。

  5. bootRun という名前の BootRun (Javadoc) タスクを作成します。このタスクは、main ソースセットを使用してアプリケーションを実行し、メインメソッドを検索し、ランタイムクラスパスを提供するために使用できます。

  6. bootTestRun という名前の 'BootRun' (Javadoc) タスクを作成します。このタスクは、test ソースセットを使用してアプリケーションを実行し、メインメソッドを検索し、ランタイムクラスパスを提供するために使用できます。

  7. bootJar タスクによって生成された成果物を含む bootArchives という名前の構成を作成します。

  8. Spring Boot Boot の Devtools のように、開発時にのみ必要で、実行可能な jar や war にパッケージされるべきではない依存関係のために、developmentOnly という名前の設定を作成します。

  9. 開発時およびテストの作成と実行時にのみ必要であり、実行可能 jar および war にパッケージ化すべきではない依存関係に対して、testAndDevelopmentOnly という名前の構成を作成します。

  10. productionRuntimeClasspath という名前の構成を作成します。これは、runtimeClasspath から developmentOnly または testDevelopmentOnly 構成にのみ現れる依存関係を除いたものと同等です。

  11. エンコーディングが構成されていない JavaCompile タスクが UTF-8 を使用するように構成します。

  12. -parameters コンパイラー引数を使用するように JavaCompile タスクを構成します。

Kotlin プラグインへの反応

Kotlin の Gradle プラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のことを行います。

  1. Spring Boot の依存関係管理で使用される Kotlin バージョンをプラグインのバージョンに合わせます。これは、Kotlin プラグインのバージョンに一致する値で kotlin.version プロパティを設定することにより実現されます。

  2. -java-parameters コンパイラー引数を使用するように KotlinCompile タスクを構成します。

War プラグインへの反応

Gradle の war プラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のようになります。

  1. プロジェクトの実行可能な fat war を作成する bootWar という名前の BootWar (Javadoc) タスクを作成します。標準パッケージに加えて、providedRuntime 構成のすべてが WEB-INF/lib-provided にパッケージされます。

  2. bootWar タスクに依存するように assemble タスクを構成します。

  3. plain をアーカイブ分類子の規則として使用するように war タスクを構成します。

  4. bootArchives 構成を構成して、bootWar タスクによって生成された成果物を含めます。

依存関係管理プラグインへの対応

io.spring.dependency-management プラグイン [GitHub] (英語) がプロジェクトに適用されると、Spring Boot プラグインは spring-boot-dependencies bom を自動的にインポートします。

アプリケーションプラグインへの反応

Gradle の application プラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のようになります。

  1. java -jar を使用して bootArchives 構成でアーティファクトを起動するスクリプトを作成する bootStartScripts という名前の CreateStartScripts タスクを作成します。タスクは、defaultJvmOpts プロパティの規則として applicationDefaultJvmArgs プロパティを使用するように構成されています。

  2. boot という名前の新しいディストリビューションを作成し、lib ディレクトリの bootArchives 構成のアーティファクトと bin ディレクトリの開始スクリプトを含むように構成します。

  3. main プロパティの規則として mainClassName プロパティを使用するように bootRun タスクを構成します。

  4. bootRun タスクと bootTestRun タスクが、jvmArgs プロパティの規則として applicationDefaultJvmArgs プロパティを使用するように構成します。

  5. マニフェストの Start-Class エントリの規則として mainClassName プロパティを使用するように bootJar タスクを構成します。

  6. マニフェストの Start-Class エントリの規則として mainClassName プロパティを使用するように bootWar タスクを構成します。

GraalVM ネイティブイメージプラグインへの対応

GraalVM ネイティブイメージプラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のことを行います。

  1. 以下の org.springframework.boot.aot プラグインを適用します。

    1. aot および aotTest ソースセットを登録します。

    2. aot ソースセット内のアプリケーションの AOT 最適化ソースを生成する processAot という名前の ProcessAot タスクを登録します。

    3. processAot に依存する aot ソースセットの Java コンパイルおよびプロセスリソースタスクを構成します。

    4. アプリケーションのテスト用に AOT 最適化ソースを生成する processTestAot という名前の ProcessTestAot タスクを aotTest ソースセットに登録します。

    5. processTestAot に依存する aotTest ソースセットの Java コンパイルおよびプロセスリソースタスクを構成します。

  2. aot ソースセットの出力を main GraalVM ネイティブバイナリのクラスパスに追加します。

  3. aotTest ソースセットの出力を test GraalVM ネイティブバイナリのクラスパスに追加します。

  4. ツールチェーン検出を無効にするように GraalVM 拡張機能を構成します。

  5. GraalVM 22.3 以降を必要とするように各 GraalVM ネイティブバイナリを構成します。

  6. collectReachabilityMetadata タスクによって生成された到達可能性メタデータをその jar に含めるように bootJar タスクを構成します。

  7. paketobuildpacks/builder-jammy-tiny:latest をそのビルダーとして使用し、その環境で BP_NATIVE_IMAGE を true に設定するように bootBuildImage タスクを構成します。