Commit Graph

342 Commits

Author SHA1 Message Date
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
bc543ef08a Use a convention mapping for resolving main class from the classpath 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
31febfa383 Create distribution for Boot jar or war when application plugin applied
Closes gh-2622
2017-04-04 15:33:27 +01:00
Andy Wilkinson
b4e2044b9e Simplify bootRun main class configuration by reusing MainClassSupplier 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
Andy Wilkinson
20fe95b276 React to the Java plugin being applied rather than always applying it 2017-04-04 15:33:27 +01:00
Andy Wilkinson
9b15e6b5a3 Use Gradle, executed by Maven, to build the Gradle plugin 2017-04-04 15:33:27 +01:00
Andy Wilkinson
b35c162593 Raise the minimum supported version of Gradle to 3.4
Closes gh-7922
2017-03-11 09:03:06 +00:00
Phillip Webb
d8f827d224 Cleanup and format code 2017-03-06 17:08:09 -08:00
Phillip Webb
425dbc3e52 Update copyright header for edited files 2017-03-06 15:04:07 -08:00
Phillip Webb
a4bcd20b64 Merge branch '1.5.x' 2017-02-27 20:43:18 -08:00
Phillip Webb
5867cd6175 Polish 2017-02-27 20:41:18 -08:00
Andy Wilkinson
ff9788c625 Merge branch '1.5.x' 2017-02-16 09:46:26 +00:00
Andy Wilkinson
f67dd957b1 Ignore excludeDevtools on extension when it has been set on bootRepackage
Previously, bootRepackage's excludeDevtools property would be
overridden by the springBoot extension's excludeDevtools property.
This prevented devtools from being included by configuring it on the
repackaging task.

This commit corrects the logic so that the setting on the repackaging
task takes priority. It also adds some tests to verify the behaviour.

Closes gh-8308
2017-02-16 09:45:51 +00:00
Andy Wilkinson
c14a550632 Merge branch '1.5.x' 2017-02-08 22:05:06 +00:00
Andy Wilkinson
b931f564e6 Work around Gradle 3.3's overzealous deprecation warning
In Gradle 3.3, when an API that will be removed in 4.0 is called, a
deprecation warning is output as part of the build. Users have noticed
his warning and, quite reasonably, complained about it. Unfortunately,
avoiding the warning requires the use of an API that was introduced in
Gradle 3.x which we can't use directly as we want to remain compatible
with Gradle 2.x.

This commit introduces the use of reflection to call
ProjectDependency.getTargetConfiguration() via reflection when it's
available (Gradle 3) and ProjectDependency.getProjectConfiguration()
when it's not (Gradle 2).

Closes gh-8154
2017-02-08 22:03:55 +00:00
Spring Buildmaster
5c12500366 Next Development Version 2017-01-30 20:10:13 +00:00
Spring Buildmaster
a2696bf873 Next Development Version 2017-01-30 11:40:24 +00:00
Eddú Meléndez
3d52c86a21 Annotate interfaces with @FunctionaInterface
Closes gh-6857
2017-01-27 16:41:01 +00:00
Phillip Webb
3d619da553 Polish 2017-01-25 16:56:22 -08:00
Andy Wilkinson
bdf903896f Remove support for module layout
Closes gh-8107
2017-01-25 16:49:37 +00:00
Andy Wilkinson
3ce6d8e5b5 Merge branch '1.5.x' 2017-01-25 16:41:13 +00:00
Andy Wilkinson
cd5124005b Deprecate support for module layout
Closes gh-8008
2017-01-25 16:40:42 +00:00
Andy Wilkinson
1d4cee9460 Drop support for the old spring-boot Gradle plugin ID
Closes gh-7859
2017-01-13 06:47:02 -05:00
Andy Wilkinson
6fd27566af Merge branch '1.5.x' 2017-01-03 13:15:09 +00:00
Andy Wilkinson
6ced8abb86 Update the copyright header to 2017 2017-01-03 13:14:55 +00:00
Andy Wilkinson
6b1a80ac2a Merge branch '1.5.x' 2017-01-03 13:12:40 +00:00
Andy Wilkinson
dac249fb0d Replace use of Gradle API that's bean deprecated in 3.x
Closes gh-7734
2017-01-03 13:05:48 +00:00
Phillip Webb
53f1df86a2 Merge branch '1.5.x' 2016-12-30 12:17:28 -08:00
Phillip Webb
aacf5d660f Update copyright year for changed files 2016-12-30 11:53:51 -08:00
Phillip Webb
519f9c6c54 Merge branch '1.5.x' 2016-12-28 15:35:32 -08:00
Phillip Webb
8b69856fc9 Polish 2016-12-28 15:23:26 -08:00
Phillip Webb
1f417997f3 Merge branch '1.5.x' 2016-12-19 13:21:18 -08:00
Phillip Webb
4b9cba351b Merge branch '1.4.x' into 1.5.x 2016-12-19 12:36:57 -08:00
Phillip Webb
bd74c3d327 Polish formatting 2016-12-19 12:25:09 -08:00
Andy Wilkinson
1782d778db Merge branch '1.5.x' 2016-12-15 20:07:55 +00:00
Andy Wilkinson
6fb1fb580d Upgrade to Dependency Management Plugin 1.0.0.RC1
Closes gh-7636
2016-12-15 20:07:35 +00:00
Andy Wilkinson
633280d1d0 Merge branch '1.5.x' 2016-11-29 15:44:31 +00:00
Andy Wilkinson
1595286e04 Prefer @SpringBootApplication-annotated class when finding main class
Closes gh-6496
2016-11-29 15:44:10 +00:00
Phillip Webb
450ab28163 Merge branch '1.5.x' 2016-11-28 17:27:05 -08:00
Dave Syer
c6c6524b40 Support custom fat jar layouts
Allow support for custom Lyout implementations with both the Maven
and Gradle plugin. Implementations of `LayoutFactory` can now be
specified to allow customization of the layout. In addition a
layout may now implement `CustomLoaderLayout` if it wishes to
write custom loader classes.

See gh-7263
2016-11-28 16:31:53 -08:00
Phillip Webb
f5b03c81f3 Rework Repacakger timeout code
Pull up common timeout code into Repackager and remove the need for
custom subclasses.

See gh-7263
2016-11-28 16:15:39 -08:00
Spring Buildmaster
e712a9ba8c Next Development Version 2016-11-08 16:55:37 +00:00
Andy Wilkinson
7c3d7d882a Merge branch '1.5.x' 2016-11-01 16:25:07 +00:00
Andy Wilkinson
ef3395beaa Raise the minimum supported version of Gradle to 2.9
Closes gh-6884
2016-11-01 16:25:02 +00:00
Andy Wilkinson
d58c79d9b7 Merge branch '1.5.x' 2016-11-01 14:26:22 +00:00
Andy Wilkinson
20e8c36590 Merge branch '1.4.x' into 1.5.x 2016-11-01 14:26:18 +00:00