62 Commits

Author SHA1 Message Date
Andy Wilkinson
ad3e5c04bb Add a second, portal-compatible ID to the Gradle plugin
To be compatible with Gradle's plugin portal, plugins must have an
ID that uses a reverse domain name. This means that spring-boot is
not compatible.

This commit introduces a new ID, org.springframework.boot, and
deprecates the old ID.

Closes gh-6997
2016-10-05 14:58:26 +01:00
Dan Stine
0926b66123 Fix a typo
Closes gh-7085
2016-10-04 12:58:37 +02:00
Andy Wilkinson
6565ff616a Clarify documentation on using a Spring Boot app as a dependency
Closes gh-6812
2016-09-19 14:00:15 +01:00
Andy Wilkinson
5c632dfc8b Merge branch '1.3.x 2016-09-15 14:06:11 +01:00
Andy Wilkinson
30cb15a0d5 Update docs to note that Gradle 3 is not supported
Breaking API changes in Gradle 3.0 make it impossible to support
it reliably alongside Gradle 1 and 2 without mainintaining multiple
versions of our Gradle plugin. This commit updates the documentation
to note that Gradle 3 is not supported.

Closes gh-6880
2016-09-15 14:01:53 +01:00
Andy Wilkinson
595902703b Fix level of section in build tool plugins documentation 2016-07-20 20:56:50 +01:00
Andy Wilkinson
93ceb980bc Recommend against using compileOnly in favour of providedRuntime
Closes gh-5461
2016-07-19 15:40:57 +01:00
Stephane Nicoll
bffcb1aad2 Document available layouts
Closes gh-5524
2016-06-23 10:42:47 +02:00
Andy Wilkinson
36133d93fe Fix incorrect header depth in the documentation 2016-01-21 15:02:32 +00:00
Vedran Pavic
fc868155ff Fix incorrect default value for executable flag
Closes gh-4561
2015-11-20 10:51:58 +01:00
Johnny Lim
4c1398148b Polish docs
Closes gh-4433
2015-11-11 15:04:45 +01:00
Andy Wilkinson
0c1efa473e Update documentation on how to configure the main class with Gradle
In 1.3, our Gradle plugin no longer automatically applies the
application plugin. This affects the default options that are
available for explicitly configuring a project's main class. This
commit updates the documentation accordingly.

Closes gh-3768
2015-10-30 10:10:04 +00:00
Stephane Nicoll
04fa7e4d27 Add dependency management section in the doc
Better describe what Spring Boot offers with regards to dependency
management and how it translates in Maven and Gradle.

Closes gh-2580
Closes gh-3695
2015-10-27 10:50:18 +01:00
Stephane Nicoll
168fc2f61f Disable addResources by default
Flip the default value of `addResources` for both the Maven and Gradle
plugins. This effectively turns off static resources reloading and, more
importantly, the pruning of duplicate resources from the target
directory.

As devetools is our mainstram solution for such feature, the documantion
has been updated to reflect that.

Closes gh-4227
2015-10-20 15:04:25 +02:00
Stephane Nicoll
69581f90da Clarify MainClass option of the bootRepackage task
Closes gh-2477
2015-10-14 15:00:33 +02:00
Stephane Nicoll
e79ef9b73b Add option to exclude devtools from fat jar
Add an `excludeDevtools` property to both the Maven and Gradle plugin
that removes `org.springframework.boot:spring-boot-devtools` (if
necessary) when repackaging the application.

Closes gh-3171
2015-10-14 01:22:57 -07:00
Matt Benson
ae4559eb4f Create spring-boot-antlib module
Create a new spring-boot-antlib module which allows Apache Ant users
to easily create executable jars.

Fixes gh-3339
2015-06-30 00:30:28 -07:00
Andy Wilkinson
4452bb1873 Revert "Upgrade Gradle plugin’s ID so it’s suitable for the Plugin Portal"
This reverts commit b1c0a7cda486e4f745b4233715efb8c0dc2814df.

The plugin publishing process has moved to a new plugin-based approach
that brings with it some significant limitations:

 - There's no staging to allow the promotion of good release builds
 - There's no easy way to upload an existing artifact
 - There's no control over the published pom.

The risk brought by these limitations, particularly the first, are
too great so we will no be publishing the Boot plugin to the Portal
until they're resolved.

Changing the plugin's ID was a breaking change that would require
users to do some work when they upgrade to Boot 1.3. The ID of the
plugin was changed purely so that it met the Portal's requirements.
Given that the plugin will not be published to the Portal for the
foreseaable future there's no need for us to inflict a breaking change
on people when there will be no benefit.

See gh-1567
2015-04-21 12:37:12 +01:00
Phillip Webb
ed57adb5fe Update deployment documentation
Change the "cloud deployment" section to cover general "deployment" and
add documentation for init.d and systemd support.

Closes gh-1117
2015-04-09 10:57:40 -07:00
Marcin Zajączkowski
99f1c7bf55 Fix typo in gradle plugin documentation 2015-03-28 10:23:13 +01:00
Andy Wilkinson
b1c0a7cda4 Upgrade Gradle plugin’s ID so it’s suitable for the Plugin Portal
Gradle’s plugin portal requires each plugin’s ID to be in a namespace.
Our existing ID, spring-boot, does not meet this requirement. This
commit changes the plugin’s ID to org.springframework.boot.spring-boot.
Note that, as is recommended [1], the plugin’s ID does not include
“gradle”.

See gh-1567

[1] http://plugins.gradle.org/submit
2015-03-19 14:25:07 +00:00
Andy Wilkinson
2c3c62d71c Replace basic Gradle dependency management with use of separate plugin
This commit replaces Spring Boot's basic dependency management support
with separate dependency management plugin. This has a number of
benefits including:

1. A Maven bom can be used rather than a custom properties file
2. Dependency management is applied transitively rather than only to
   direct dependencies
3. Exclusions are applied as they would be in Maven
4. Gradle-generated poms are automatically configured with the
   appropriate dependency management

Closes gh-2133
2015-03-19 13:23:40 +00:00
Andy Wilkinson
a88f27168a Add support to the Gradle plugin for disabling direct use of resources
The Maven plugin allows spring-boot:run to be configured so that
resources are loaded from their output location rather than from
src/main/resources. This commit adds an equivalent configuration
option to the Gradle plugin. To disable source resources from being
added to the classpath in place of those in the output location
the configure the bootRun tasks like this:

bootRun {
	addResources = false
}

Closes gh-2431
2015-02-03 10:52:10 +00:00
Phillip Webb
e772174019 Update reference documentation for Spring Boot 1.2
Various updates and polish to prepare the reference documentation for
Spring Boot 1.2.

Fixes gh-1903
2014-12-10 00:56:41 -08:00
Phillip Webb
083f9757cd Merge branch '1.1.x'
Conflicts:
	spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainerFactory.java
2014-12-08 11:16:09 -08:00
Phillip Webb
22e8478aa3 Cross-reference "Create a deployable war" how-to
Add a tip for both the Maven and Gradle "Packaging executable jar and
war files" section referring to the how-to.

Fixes gh-2086
2014-12-08 10:52:54 -08:00
Andy Wilkinson
9259564307 Merge branch '1.1.x' 2014-11-10 13:31:33 +00:00
Andy Wilkinson
a9681ea032 Add note to explain that bootRun ignores output from processResources
Closes gh-1739
2014-11-10 13:29:57 +00:00
Andy Wilkinson
634542d594 Merge branch '1.1.x' 2014-11-10 12:37:14 +00:00
Andy Wilkinson
c3d2fb5e5c Document details of configuring Gradle to produce valid poms
If a Gradle build is using the Spring Boot Gradle plugin's support for
declaring dependencies without versions then they will be unable to
publish Maven artifacts from the build as the Gradle-generated pom
will fail to validate. This is because Gradle doesn't apply the
Boot-provided dependency versions to the dependencies in the generated
pom.

This can be addressed by configuring Gradle to generate a pom that
either imports spring-boot-dependencies into its dependency management
or that uses spring-boot-starter-parent as its parent. This commit
updates the documentation to document the need for this configuration
and to provide examples of how to do so.

Closes gh-1806
2014-11-10 12:33:25 +00:00
Andy Wilkinson
bd562c06b6 Merge branch '1.1.x' 2014-10-28 11:06:23 +00:00
Andy Wilkinson
f58b8366e1 Correct the syntax that's used for smart single and double quotes
Fixes gh-1753
2014-10-28 11:03:35 +00:00
Andy Wilkinson
7211571969 Fix some grammar issues in docs
Closes gh-1695
2014-10-13 13:18:24 +01:00
Eric Dahl
16937746a0 Fix some grammar issues in docs 2014-10-13 12:22:14 +01:00
Christoph Frick
3b07e4e633 Fix typos in the documentation: though -> through
Closes gh-1510
2014-09-07 11:03:49 -05:00
Christoph Frick
5455b42d32 Fix typos in the documentation: though -> through
Closes gh-1510
2014-09-07 11:00:09 -05:00
Phillip Webb
35a840a396 Replace mavenCentral() with jcenter() in docs
Fixes gh-1373
2014-09-03 18:46:56 -07:00
Phillip Webb
f30b962ff9 Add support for unpacking nested JARs
Update the executable JAR code to automatically unpack any entries
which include an entry comment starting `UNPACK:` to the temp folder.
The existing Maven and Gradle plugins have been updated with new
configuration options and the `spring-boot-tools` project has been
updated to write the appropriate entry comment based on a flag passed
in via the `Library` class.

This support has been added to allow libraries such a JRuby (which
assumes that `jruby-complete.jar` is always accessible as file) to work
with Spring Boot executable jars.

Fixes gh-1070
2014-06-24 00:46:56 -07:00
Phillip Webb
5f8fbfd73a Add Library abstraction
Add a Library class update the LibraryCallback interface and
implementations to use it. This change is in preparation for
an addition `unpack` flag that will be required to allow the
automatic unpacking of certain nested jars.

See gh-1070
2014-06-24 00:34:19 -07:00
Phillip Webb
c713c8091d Polish 2014-06-23 19:41:22 -07:00
Dave Syer
542896b28f Support for non-executable JAR in addition to the repackaged one
Stretches the Gradle boot plugin a bit, so there's a sample build
in the "profile" sample. Howto docs give examples.

Fixes gh-1135
2014-06-23 11:08:58 +01:00
Phillip Webb
378d38e2e5 Polish doc formatting 2014-06-20 10:29:04 -07:00
Dave Syer
af825fa439 Clarify docs on Gradle configuration 2014-06-19 12:21:02 +01:00
Dave Syer
82cacf4ea9 Clarify main class finder functionality in Gradle plugin
See gh-1072
2014-06-17 12:15:01 +01:00
Phillip Webb
3a8a127285 Implement simpler exclusion logic for Gradle
Simplify the exclusion logic used in Gradle by implementing implicit
exclusions rather than trying to detect transitive excludes.

This commit reverts much of the code originally included to fix gh-1047
which adds far too much complexity to the build and still doesn't solve
the underlying issue.

Fixes gh-1103
2014-06-16 16:54:48 -07:00
Phillip Webb
ef395638fc Document gradle plugin exclude rules
Fixes gh-1053
2014-06-09 18:07:47 -07:00
Phillip Webb
9a5d828f52 Polish docbook formatting 2014-06-09 16:34:54 -07:00
Phillip Webb
794808b6b8 Various improvements to the Gradle plugin
Refactor and rework several areas of the Gradle plugin:

- Refactor package structure into functional areas and configure each
  area separately via a new PluginFeatures interface.
- Convert BootRunTask to extend RunTask rather than attempting to
  find existing RunTasks.
- Simplify agent integration by no longer needing specific BootRunTask
  code.
- Update the repackage task to consider the `mainClassName` property
  in addition to `springBoot.mainClass`.
- Automatically set `mainClassName` when calling `run` or `runBoot`
  from `springBoot.mainClass` if there is one.
- Ensure that explicitly defined `main` options on JavaExec tasks always
  take precedence.

Fixes gh-547, gh-820, gh-886, gh-912
2014-05-22 18:08:22 +01:00
Phillip Webb
8bcda1bcbe Polish 2014-05-20 18:26:56 +01:00
Andy Wilkinson
3328a30b7b Include details of dependency versions in the docs
Closes #637
2014-05-20 16:07:56 +01:00