Skip to content

Latest commit

 

History

History
73 lines (50 loc) · 4.7 KB

File metadata and controls

73 lines (50 loc) · 4.7 KB

Reacting to Other Plugins

Reacting to the Java Plugin

When Gradle’s {java-plugin}[java plugin] is applied to a project, the Spring Boot plugin:

  1. Creates a {boot-jar-javadoc}[BootJar] task named bootJar that will create an executable, fat jar for the project. The jar will contain everything on the runtime classpath of the main source set; classes are packaged in BOOT-INF/classes and jars are packaged in BOOT-INF/lib

  2. Configures the assemble task to depend on the bootJar task.

  3. Configures the jar task to use plain as the convention for its archive classifier.

  4. Creates a {boot-build-image-javadoc}[BootBuildImage] task named bootBuildImage that will create a OCI image using a buildpack.

  5. Creates a {boot-run-javadoc}[BootRun] task named bootRun that can be used to run your application.

  6. Creates a configuration named bootArchives that contains the artifact produced by the bootJar task.

  7. Creates a configuration named developmentOnly for dependencies that are only required at development time, such as Spring Boot’s Devtools, and should not be packaged in executable jars and wars.

  8. Creates a configuration named productionRuntimeClasspath. It is equivalent to runtimeClasspath minus any dependencies that only appear in the developmentOnly configuration.

  9. Configures any JavaCompile tasks with no configured encoding to use UTF-8.

  10. Configures any JavaCompile tasks to use the -parameters compiler argument.

Reacting to the Kotlin Plugin

When {kotlin-plugin}[Kotlin’s Gradle plugin] is applied to a project, the Spring Boot plugin:

  1. Aligns the Kotlin version used in Spring Boot’s dependency management with the version of the plugin. This is achieved by setting the kotlin.version property with a value that matches the version of the Kotlin plugin.

  2. Configures any KotlinCompile tasks to use the -java-parameters compiler argument.

Reacting to the War Plugin

When Gradle’s {war-plugin}[war plugin] is applied to a project, the Spring Boot plugin:

  1. Creates a {boot-war-javadoc}[BootWar] task named bootWar that will create an executable, fat war for the project. In addition to the standard packaging, everything in the providedRuntime configuration will be packaged in WEB-INF/lib-provided.

  2. Configures the assemble task to depend on the bootWar task.

  3. Configures the war task to use plain as the convention for its archive classifier.

  4. Configures the bootArchives configuration to contain the artifact produced by the bootWar task.

Reacting to the Dependency Management Plugin

When the {dependency-management-plugin}[io.spring.dependency-management plugin] is applied to a project, the Spring Boot plugin will automatically import the spring-boot-dependencies bom.

Reacting to the Application Plugin

When Gradle’s {application-plugin}[application plugin] is applied to a project, the Spring Boot plugin:

  1. Creates a CreateStartScripts task named bootStartScripts that will create scripts that launch the artifact in the bootArchives configuration using java -jar. The task is configured to use the applicationDefaultJvmArgs property as a convention for its defaultJvmOpts property.

  2. Creates a new distribution named boot and configures it to contain the artifact in the bootArchives configuration in its lib directory and the start scripts in its bin directory.

  3. Configures the bootRun task to use the mainClassName property as a convention for its main property.

  4. Configures the bootRun task to use the applicationDefaultJvmArgs property as a convention for its jvmArgs property.

  5. Configures the bootJar task to use the mainClassName property as a convention for the Start-Class entry in its manifest.

  6. Configures the bootWar task to use the mainClassName property as a convention for the Start-Class entry in its manifest.

Reacting to the Maven plugin

Warning
Support for reacting to Gradle’s maven plugin is deprecated and will be removed in a future release. Please use the maven-publish plugin instead.

When Gradle’s {maven-plugin}[maven plugin] is applied to a project, the Spring Boot plugin will configure the uploadBootArchives Upload task to ensure that no dependencies are declared in the pom that it generates.