Commit Graph

11 Commits

Author SHA1 Message Date
Andy Wilkinson
8d55801c4d Restructure the code to enforce separation of plugin logic and tasks 2017-04-04 15:33:27 +01:00
Andy Wilkinson
1dc5c484f0 Use application plugin properties by convention when it is applied
bootRun's main and jvmArgs properties use mainClassName and
applicationDefaultJvmArgs respectively by convention.

bootJar and bootWar's mainClass property uses mainClassName by
convention.
2017-04-04 15:33:27 +01:00
Andy Wilkinson
188c9e0f42 Remove assumptions from BootInfo and move them to the DSL extension 2017-04-04 15:33:27 +01:00
Andy Wilkinson
5bf8f778e2 Don't write the default loader classes when a custom launcher is used 2017-04-04 15:33:27 +01:00
Andy Wilkinson
2b44ad9809 Rework BootRunTask to be more idiomatic and make fewer assumptions 2017-04-04 15:33:27 +01:00
Andy Wilkinson
6e7e42459b Exclude Devtools by default and provide an option to include it 2017-04-04 15:33:27 +01:00
Andy Wilkinson
d015714cba Add support for reproducible archives to BootJar and BootWar
Closes gh-8391
2017-04-04 15:33:27 +01:00
Andy Wilkinson
d9af21ab7c Create software components for Spring Boot jar and war artifacts
Closes gh-1666
2017-04-04 15:33:27 +01:00
Andy Wilkinson
f16efb2277 Publish artifacts and, when Maven plugin used, customize upload task
See gh-1666
2017-04-04 15:33:27 +01:00
Andy Wilkinson
b1f9123311 React to dependency management plugin rather than always applying it
Previously, the Spring Boot plugin would automatically apply the
dependency management plugin and import the spring-boot-dependencies
bom. This made it very difficult to use Spring Boot's plugin without
also using its dependency management. It also made it difficult to
see where the dependency management was coming from.

This commit updates the Spring Boot plugin so that it no longer
automatically applies the dependency management plugin. Instead, the
plugin now reacts to the dependency management plugin being applied
by importing the spring-boot-dependencies bom. Users that do not
wish to use Spring Boot's dependency management capabilities can now
do so by not applying the dependency management plugin.

Closes gh-3164
2017-04-04 15:33:27 +01:00
Andy Wilkinson
2ce8556976 Introduce bootJar and bootWar tasks for creating fat jars and wars
Previously, the BootRepackage task would take the output of a Jar
or War task and repackage it in a similar manner to Spring Boot's
Maven plugin. This caused several problems in Gradle including
broken up-to-date checks and a lack of configurability. See the issues
referenced below for full details.

This commit replaces BootRepackage with BootJar and BootWar
for building executable jars and wars respectively. BootJar extends
Gradle's standard Jar task and BootWar extends Gradle's standard War
task. This means that terms of configuration, the creation of
executable jars and wars is now as flexible as the creation of
standards jars and wars.

Closes gh-8167
Closes gh-8099
Closes gh-6846
Closes gh-5861
Closes gh-5393
Closes gh-5259
Closes gh-3931
2017-04-04 15:33:27 +01:00