Commit Graph

284 Commits

Author SHA1 Message Date
Andy Wilkinson 1f35abacd6 Polish “Configure Kotlin compiler to use -java-parameters by default”
Closes gh-12641
2018-03-28 12:24:21 +01:00
Rui Figueira 5e2726f896 Configure Kotlin compiler to use -java-parameters by default
See gh-12641
2018-03-28 12:24:17 +01:00
Stephane Nicoll 006decea2a Merge branch '1.5.x' 2018-03-27 15:47:56 +02:00
Phillip Webb 79ad03b584 Merge branch '1.5.x' 2018-03-16 15:06:08 -07:00
Andy Wilkinson 36ea387a67 Close RandomAccessDataFile when direct JarFile is closed
Previously, the underlying RandomAccessDataFile was not closed when
the JarFile that was using it was closed. This causes a problem on
Windows as the open file handle prevents the file from being deleted.

This commit updates JarFile to close the underlying
RandomAccessDataFile when it is closed and has a JarFileType of
DIRECT.

Previously, when accessing the manifest of a jar file that maps to a
nested directory (BOOT-INF/classes) a new JarFile was created from the
root jar file, the manifest was retrieved, and the new JarFile was
closed. This could lead to the underlying RandomAccessDataFile being
closed while it was still in use.

This commit improves JarFile to retrieve the manifest from the
existing outer JarFile, thereby avoiding the need to create and close
a new JarFile.

Unfortunately, PropertiesLauncher creates a number of scenarios where
a JarFile with a type of direct is closed while it’s still being used.
To accommodate this behaviour, RandomAccessDataFile has been updated
so that it can re-open the underlying RandomAccessFile if it is used
after it has been closed.

Closes gh-12296
2018-03-16 15:58:50 +00:00
Phillip Webb a4b0be089d Polish 2018-03-14 14:05:26 -07:00
dreis2211 0d3f3e46dd Fix typos
Closes gh-12468
2018-03-13 17:42:19 -07:00
Stephane Nicoll ed05e1f7ca Polish "Reorder modifiers to comply with the JLS"
Closes gh-12432
2018-03-12 15:17:23 +01:00
igor-suhorukov aebb475bc5 Reorder modifiers to comply with the JLS
See gh-12432
2018-03-12 15:17:05 +01:00
Andy Wilkinson 6d16c5ff6e Omit libraries with null destination when repackaging
Closes gh-12437
2018-03-12 13:33:42 +00:00
igor-suhorukov 4f4cc1569c Polish
Declarations should use Java collection interfaces such as "Deque" rather
than specific implementation classes such as "LinkedList".

Closes gh-12405
2018-03-09 09:32:14 +01:00
Stephane Nicoll 7d1faa1c88 Ignore static and abstract accessors
This commit updates the annotation processor and the binder to ignore
any static or abstract method that has the characteristics of a JavaBean
accessor. As a result, no property is generated for those (invalid)
accessor and no binding occurs on them either.

Closes gh-12390
2018-03-07 17:55:12 +01:00
Andy Wilkinson f918e0eb6a Merge branch '1.5.x' 2018-03-05 11:55:18 +00:00
dreis2211 3adced9962 Remove workaround for JDK-8023130 in RunProcess
With JDK 8 being the baseline and JDK 7 not being supported anymore we
can get rid of the workaround for a JDK 7 bug in
ProcessBuilder.inheritIO on Windows machines.

Closes gh-12337
2018-03-05 10:39:28 +00:00
Johnny Lim 751c444166 Polish
See gh-12326
2018-03-03 12:25:41 +01:00
Andy Wilkinson 3370c23ab9 Skip the Gradle plugin when building with the full profile and JDK 10
See gh-12028
2018-03-02 17:48:27 +00:00
Andy Wilkinson 2b1252e282 Skip the Gradle Plugin when building with JDK 10
Previously, the JDK 10 build would fail as we build the plugin using
Gradle 4.0.x (the lowest version of Gradle that we support) and
Gradle 4.0.x doesn't work with Java 10.

Upgrading to Gradle 4.1, which appears to work with Java 10, was
considered but rejected for now as it introduces the risk that we
inadvertently use an API that's new in 4.1 and break our 4.0 support.

This commit goes for the extreme option and disables building the
Gradle Plugin when building with JDK.

See gh-12028
2018-03-02 17:05:58 +00:00
Andy Wilkinson 4a3e0a231c Test the Gradle plugin against Gradle 4.6
Closes gh-12314
2018-03-02 13:41:28 +00:00
Andy Wilkinson e4a1fed3b8 Test the Gradle plugin against Gradle 4.6 2018-03-02 13:41:27 +00:00
Andy Wilkinson 188d120c9c Test the Gradle plugin against Gradle 4.5.1
Closes gh-12315
2018-03-02 13:41:27 +00:00
Andy Wilkinson 8d1e69bca4 Polish Gradle plugin's javadoc 2018-02-28 20:22:45 +00:00
Andy Wilkinson 703de64842 Reinstate imports 2018-02-28 20:11:42 +00:00
Phillip Webb 7bc535e4fa Polish 2018-02-28 10:59:26 -08:00
Stephane Nicoll 4180762d6d Polish contribution
Closes gh-12236
2018-02-28 09:01:59 +01:00
igor-suhorukov 56cbc65e7b Polish
See gh-12236
2018-02-28 08:58:46 +01:00
Andy Wilkinson 9640881f38 Fix BuildInfo up-to-date check when group, name, or version changes
Previously, if the project's group, name, or version changed the
BuildInfo task would still be considered up-to-date as the values of
the project's properties were not reflected in the fields of the
BuildInfo instance.

This commit updates BuildInfo to copy the value of the project's
property to the corresponding BuildInfo field when the property is
read using its getter method on BuildInfo.

Closes gh-12266
2018-02-27 21:21:16 +00:00
Phillip Webb 3e4da3cc37 Polish 2018-02-27 12:53:01 -08:00
Andy Wilkinson fdb9a1ea8f Consider time in BuildInfo up-to-date checks and allow it to be set
Closes gh-12111
Closes gh-12266
2018-02-27 20:09:07 +00:00
Andy Wilkinson 30f79f2fb1 Use application name as convention for distribution's base name
Closes gh-12232
2018-02-27 12:56:50 +00:00
Andy Wilkinson 60ac2e5c09 Reduce the amount of garbage produced by JarFile
Previously, working with a JarFile created a large amount of garbage
that was allocated on the thread local allocation buffer (TLAB).
The TLAB allocations made a significant contribution to GC pressure
and slowed down startup. This commit reduces the amount of garbage
by making a number of changes.

Reading from a RandomAccessDataFile has been reworked to avoid
creating new RandomAccessFile instances. A single RandomAccessFile
is now created for an entire jar file and it is used to read data from
anywhere in that jar file, including entries in nested jar files. To
ensure that reads remain thread-safe, a lock is taken on the
RandomAccessFile that is shared by all RandomAccessDataFile instances
that are provided access to (portions of) the same jar file.

Reading all of the bytes from a RandomAccessData has been reworked to
avoid the use of an InputStream that was created, used to read the
data, and then thrown away. In place of the InputStream-based
mechanism a method has been introduced that returns all of the
RandomAccessData as a byte[]. Building on this change, a method has
also been introduced to read a portion of a RandomAccessData as a
byte[]. This avoids the need to create a new RandomAccessData
subsection where the subsection was only used to read its entire
contents and then thrown away.

Decoding of an MS-DOS datetime has been reworked to use LocalDataTime
rather than GregorianCalendar. The former produces less garbage than
the latter.

Closes gh-12226
2018-02-27 10:48:15 +00:00
Phillip Webb 29c3be3590 Polish 2018-02-26 10:26:02 -08:00
Stephane Nicoll 306c79f0de Merge branch '1.5.x' 2018-02-26 18:03:32 +01:00
igor-suhorukov 98f4692c62 Polish
This commit changes invocations to immediately return the expression
instead of assigning it to a temporary variable. The method name should
be sufficient for callers to know exactly what will be returned.

Closes gh-12211
2018-02-25 10:59:02 +01:00
Stephane Nicoll 2641559231 Polish contribution
Closes gh-12202
2018-02-24 16:10:44 +01:00
dreis2211 e2fb093ccf Polish
See gh-12202
2018-02-24 16:09:38 +01:00
Johnny Lim d441a8a89a Polish
Closes gh-12205
2018-02-24 11:53:25 +01:00
Andy Wilkinson 85c7ed2746 Merge branch '1.5.x' 2018-02-23 17:15:23 +00:00
Phillip Webb 4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
2018-02-22 21:11:30 -08:00
Stephane Nicoll 3fddfee65c Fix default value of endpoint's cache ttl
Closes gh-12173
2018-02-22 13:35:50 +01:00
igor-suhorukov fe023817c7 Polish static finals
Closes gh-12083
2018-02-19 20:10:58 -08:00
Johnny Lim 88b184ca23 Polish 2018-02-19 20:00:20 -08:00
Andy Wilkinson e1ab62668f Merge branch '1.5.x' 2018-02-13 15:05:28 +00:00
Andy Wilkinson 5522174e96 Provide package info for all packages included in javadoc 2018-02-08 16:50:37 +00:00
Andy Wilkinson a09c64e18c Polish 2018-02-08 11:15:36 +00:00
Andy Wilkinson 70c613819d Fix incomplete calls to assertThat 2018-02-08 11:06:54 +00:00
Andy Wilkinson 76a450dfba Format with Eclipse Oxygen SR2 2018-02-08 10:53:53 +00:00
Andy Wilkinson b4f4dd3fdd Correct location of JDT config files in Gradle plugin 2018-02-08 10:42:50 +00:00
Andy Wilkinson 8b15bbf702 Polish 2018-02-05 16:12:23 +00:00
Andy Wilkinson 76ed52c2f5 Polish "Support nested jar paths in loader.path"
Closes gh-11121
2018-02-05 16:06:07 +00:00
hanyong 9eb8e3d4e3 Support nested jar paths in loader.path
See gh-11121
2018-02-05 16:04:03 +00:00
dreis2211 81459efffa Use HTTPS URLs where applicable 2018-02-02 12:03:12 +00:00
Andy Wilkinson 875091ed85 Polish “Remove or use unused method parameters”
Closes gh-11812
2018-02-02 09:34:19 +00:00
igor-suhorukov 717bd2c580 Remove or use unused method parameters 2018-02-02 09:34:19 +00:00
Phillip Webb 7d5e41f7dc Polish 2018-02-01 10:25:33 -08:00
Andy Wilkinson 1d2b85b2b8 Ensure that TestJarFile uses insertion order for jar's entries
Previously, the order of the entries in a TestJarFile was determined
by the underlying file system rather than by the order in which
they were added. This could lead to unpredicatable ordering and
failures in tests that verify archive entry ordering.

This commit updates TestJarFile to add entries to the archive in
insertion order.

See gh-11695
See gh-11696
2018-02-01 13:07:50 +00:00
Andy Wilkinson b2dad7f1c4 Rework entry ordering of repackaged archives
Previously, the Repackager would write entries in the following
order:

- Libraries that require unpacking
- Existing entries
    - Application classes
    - WEB-INF/lib jars in a war
- Libraries that do not require unpacking
- Loader classes

Libraries that require unpacking were written before existing entries
so that, when repackaging a war, an entry in WEB-INF/lib would not
get in first and prevent a library with same location from being
unpacked. However, this had the unwanted side-effect of changing
the classpath order when an entry requires unpacking.

This commit reworks the handling of existing entries and libraries
that require unpacking so that existing entries can be written first
while also marking any that match a library that requires unpacking
as requiring unpacking.

Additionally, loader classes are now written first. They are the
first classes in the jar that will be used so it seems to make sense
for them to appear first. This aligns Maven-based repackaging
with the Gradle plugin's behaviour and with the structure documented
in the reference documentation's "The Executable Jar Format" appendix.

The net result of the changes described above is that entries are
now written in the following order:

- Loader classes
- Existing entries
    - Application classes
    - WEB-INF/lib jars in a war marked for unpacking if needed
- Libraries

Closes gh-11695
Closes gh-11696
2018-02-01 11:38:33 +00:00
Johnny Lim 3cead7693d Polish
Closes gh-11871
2018-02-01 08:35:42 +01:00
Andy Wilkinson 8f116f7e6f Align ordering of BootJar and BootWar archive entries
Previously, the ordering of the entries in an archive produced by
BootJar was different to the ordering of the entries in an archive
produced by BootWar. The latter placed application classes before
any nested jars, whereas the former was the other way around.

This commit updates BootJar to use the same ordering as BootWar and
adds tests to verify that the ordering is the following:

1. Loader classes
2. Application classes (BOOT-INF/classes or WEB-INF/classes)
3. Nested jars (BOOT-INF/lib or WEB-INF/lib)
4. Provided nested jars in a war (WEB-INF/lib-provided)

The tests also verify that the position of a library is not affected
by it requiring unpacking.

See gh-11695
See gh-11696
2018-01-31 14:38:38 +00:00
Phillip Webb 7c5042d079 Don't run `apply-plugin` tests
Stop running apply-plugin tests as part of the build since during a
release the version number will change and the jar will not be
available.

Fixes gh-11857
2018-01-30 21:45:17 -08:00
Phillip Webb 6dddceacad Always include plugin classpath in sample gradle
Update a couple of the `spring-boot-gradle-plugin` sample gradle flies
so that they include the running classpath. The additional lines are
contained within a tag which is ultimately filtered from the final
documentation.

Fixes gh-11857
2018-01-30 20:08:04 -08:00
Phillip Webb 886b39293c Merge branch '1.5.x' 2018-01-30 12:51:45 -08:00
Phillip Webb 187c4d728c Merge branch '1.5.x' 2018-01-30 12:47:30 -08:00
Stephane Nicoll 51c307f643 Merge branch '1.5.x' 2018-01-30 16:43:54 +01:00
Phillip Webb af50a18da9 Polish 2018-01-29 09:47:03 -08:00
Andy Wilkinson 199088b0c9 Set kotlin.version when Kotlin's Gradle plugin is applied
Closes gh-11711
2018-01-29 10:13:54 +00:00
dreis2211 c1675c2d5f Use InvocationOnMock.getArgument() where possible
Closes gh-11818
2018-01-29 08:06:00 +01:00
dreis2211 a7663c88d3 Replace casted Mockito.any() calls
Closes gh-11817
2018-01-29 07:50:29 +01:00
Stephane Nicoll 5e26d04c05 Only generate time-to-live property for matching endpoints
This commit makes sure that a "cache.time-to-live" property is not
generated for endpoints that do not have a main read operation (i.e. a
read operation with no parameter or only nullable parameters).

This matches the endpoint feature that provides caching for only such
operation.

Closes gh-11703
2018-01-27 06:11:01 +01:00
Phillip Webb b234501af3 Polish 2018-01-26 11:39:41 -08:00
Johnny Lim a46e047c5d Polish
Closes gh-11792
2018-01-26 18:19:44 +01:00
Andy Wilkinson 498f66fcdc Test the Gradle plugin against Gradle 4.5
Closes gh-11768
2018-01-26 15:55:25 +00:00
Phillip Webb adfb6dc128 Polish 2018-01-25 13:20:29 -08:00
Stephane Nicoll 43bac617d4 Add access to short deprecation reason
Closes gh-11770
2018-01-25 12:47:54 +01:00
igor-suhorukov 093ca0a687 Use EnumMap whenever possible
Replace regular Map instances with EnumMap to reduce memory consumption.

Closes gh-11760
2018-01-24 16:24:47 -08:00
Phillip Webb ab6ad6aa4b Polish 2018-01-24 16:09:14 -08:00
Andy Wilkinson 1a1a62b744 Protect tests against Cassandra startup failures
On CI, Cassandra running inside the Docker container sometimes fails
to start or the start times out. This has nothing to do with Boot so
we  attempt to protect our tests from the flakiness of the container
by allowing 3 startup attempts.
2018-01-24 21:34:11 +00:00
andrey.onufreyko b19dcb13e2 Replace string arguments with char
Optimize method calls by replacing single character String arguments
with char.

Closes gh-11680
2018-01-22 16:35:06 -08:00
dreis2211 b7e663e820 Polish
Closes gh-11724
2018-01-22 15:59:20 -08:00
Phillip Webb f3379668ac Polish 2018-01-18 23:21:51 -08:00
Phillip Webb 6d93573db0 Merge branch '1.5.x' 2018-01-18 22:03:51 -08:00
Stephane Nicoll ba6be4f22f Merge branch '1.5.x' 2018-01-18 22:35:32 +01:00
Stephane Nicoll aa748cb0ef Polish "Use System.lineSeparator()""
Closes gh-11665
2018-01-18 16:45:29 +01:00
Johnny Lim d8c83af987 Use System.lineSeparator()
See gh-11665
2018-01-18 16:45:09 +01:00
Stephane Nicoll 49b5fe0c29 Polish
As `validation-api` 2 is available by default, this commit adds the
integration test as a regular test case. The integration test is kept to
exercise what happens in a standard project.

See gh-11512
2018-01-18 14:05:24 +01:00
Stephane Nicoll 60f5cf10ba Merge branch '1.5.x' 2018-01-18 13:59:19 +01:00
Andy Wilkinson 54c0cf513b Polish 2018-01-17 19:03:23 +00:00
Stephane Nicoll d43346d6c2 Polish "Fix potential resource leaks"
Closes gh-11624
2018-01-17 13:56:53 +01:00
igor-suhorukov 5a4238acfc Fix potential resource leaks
See gh-11624
2018-01-17 13:54:50 +01:00
Stephane Nicoll f8af6c8134 Merge branch '1.5.x' 2018-01-17 13:42:56 +01:00
Andy Wilkinson ffc99b03dd Remove use of deprecated Gradle API from plugin's public API
This commit removes the use of the incubating PropertyState and
Provider API that was introduced in Gradle 4.0 and deprecated in
Gradle 4.3. A not-deprecated-but-still-incubating replacement was
introduced in Gradle 4.3. The short life of PropertyState and Provider
has made me wary of using an incubating Gradle API in our public API
as it may not be stable for long. Therefore, this commit does not move
to the replacement as it is incubating. Instead, it falls back to
using Gradle's convention mapping. This is internal API, but its use
is not part of our public API and I perceive the risk of using it to
be lower than using the deprecated and/or incubating API alternatives.

Closes gh-11640
2018-01-17 12:20:30 +00:00
Andy Wilkinson 5e17fc775c Test the Gradle plugin against Gradle 4.4.1
Closes gh-11654
2018-01-17 11:57:02 +00:00
Andy Wilkinson 2668e41dd5 Make it easier to just use Boot’s dependency management with Gradle
Closes gh-11059
2018-01-17 11:39:59 +00:00
Johnny Lim 77150f8dc9 Polish
Closes gh-11630
2018-01-15 10:20:31 +01:00
Phillip Webb b078698f20 Update copyright year of changed files 2018-01-09 12:13:27 -08:00
Phillip Webb 85d3f5a180 Fix NPE in test containers
Fix NPE accidentally introduced during refinement.
2018-01-08 22:04:59 -08:00
Phillip Webb 201da97774 Further refine test containers 2018-01-08 16:32:39 -08:00
Andy Wilkinson 996b3ef7f2 Refine test containers 2018-01-08 14:05:05 -08:00
Phillip Webb 87bccb96f1 Merge branch '1.5.x' 2018-01-08 13:17:51 -08:00
Stephane Nicoll 66d58294d5 Merge branch '1.5.x' 2018-01-08 17:46:16 +01:00
Stephane Nicoll f2d3f51f3f Merge branch '1.5.x' 2018-01-08 16:04:19 +01:00
Stephane Nicoll ac004eabf3 Update copyright header
See gh-11510
2018-01-05 10:30:43 +01:00
Johnny Lim 37d8eedae3 Polish
Closes gh-11510
2018-01-05 10:29:22 +01:00
Madhura Bhave e28915bd4b Make integration tests self-contained
Fixes gh-10516
2018-01-04 11:26:40 -08:00
Andy Wilkinson a7808388ad Make github-tag property available when generating Gradle plugin docs
Closes gh-11490
2018-01-04 10:11:41 +00:00
Stephane Nicoll 03dd53f347 Fix broken merge 2018-01-04 10:16:27 +01:00
Stephane Nicoll e3bfd797a3 Merge branch '1.5.x' 2018-01-04 10:11:32 +01:00
Phillip Webb bee5fa7fc6 Polish 2018-01-03 13:24:04 -08:00
Andy Wilkinson 38ac595615 Polish 2018-01-03 10:50:16 +00:00
Stephane Nicoll f0b210c751 Merge branch '1.5.x' 2018-01-02 15:58:49 +01:00
Stephane Nicoll 6277d0ceb7 Update copyright header 2018-01-02 15:02:29 +01:00
dreis2211 eb1ae2dd79 Fix typos
Closes gh-11460
2018-01-02 15:01:16 +01:00
Andy Wilkinson b545330d8e Fix reusable archive creation with Gradle 4.1 and later
Closes gh-11468
2018-01-02 12:56:55 +00:00
Madhura Bhave 8102dc78cb Remove redundant throws declarations 2017-12-29 12:10:13 -08:00
Stephane Nicoll 5328508421 Merge branch '1.5.x' 2017-12-28 11:27:25 +01:00
Johnny Lim 8f7ab95e0e Use BufferedReader.lines()
Closes gh-11436
2017-12-27 16:44:27 +01:00
Johnny Lim 3c5ccb1166 Polish
Closes gh-11418
2017-12-26 09:47:10 +01:00
Johnny Lim 4cc598ac5e Replace contains() with indexOf()
Closes gh-11373
2017-12-23 14:00:27 +01:00
Phillip Webb 2efa21c570 Make hot methods in-line friendly
Refactor a few hot methods so that they are more likely to be in-lined
by the JIT.

Fixes gh-11409
2017-12-22 20:55:47 -08:00
Phillip Webb 7f0048a899 Use fast exceptions when enumerating resources
Update the `LaunchedURLClassLoader` used for fat jar support so that
each iteration on a `findResources` result also allows for fast
exceptions.

Fixes gh-11406
2017-12-22 20:50:07 -08:00
Phillip Webb aa66d5dfb8 Reduce garbage created when loading fat jars
Refactor fat jar loader classes so that less `char[]` instances are
created. This is primarily achieved by adding a new `StringSequence`
class that can chop up Strings without needing to copy the underlying
array. Since Java 8, calls to `String.subString(...)` always copy the
underlying char array. For many of the operations that we need, this
is unnecessary.

Fixes gh-11405
2017-12-22 20:49:17 -08:00
dreis2211 00d12c5b2d Align 'behavior' spelling to style guide
Closes gh-11394
2017-12-22 18:15:19 +01:00
Phillip Webb 3273859fde Polish 2017-12-13 14:32:55 -08:00
Phillip Webb 5ca608330c Merge branch '1.5.x' 2017-12-13 13:07:18 -08:00
Stephane Nicoll a626f5462d Consistent use of @AliasFor
Closes gh-10836
2017-12-13 14:42:16 +01:00
Stephane Nicoll 47c8b5731a polish 2017-12-13 14:41:39 +01:00
Stephane Nicoll b6aa0f24e2 Clean endpointIds in generated metadata
Closes gh-11107
2017-12-13 10:18:08 +01:00
Stephane Nicoll 7f2af8b209 Polish 2017-12-13 09:46:41 +01:00
Andy Wilkinson 58d1f99a1e Merge branch '1.5.x' 2017-12-12 12:55:27 +00:00
Stephane Nicoll 23218add90 Polish 2017-12-12 11:57:30 +01:00
Brian Clozel e68d8a3f98 Merge branch '1.5.x' 2017-12-11 23:37:54 +01:00
Johnny Lim 96250743b5 Add missing "abstract" keywords
Closes gh-11303
2017-12-09 15:29:15 -08:00
Johnny Lim 6d54072e04 Remove "final" keywords
Closes gh-11294
2017-12-08 11:13:07 -08:00
Stephane Nicoll 36ea2ee87b Merge branch '1.5.x' 2017-12-07 09:43:01 -08:00
Johnny Lim 2c204f2154 Polish
Closes gh-11242
2017-12-02 09:03:59 +01:00
Andy Wilkinson 6cae9257fe Merge branch '1.5.x' 2017-11-29 20:33:38 +00:00
Johnny Lim 44299bb980 Polish
Closes gh-11206
2017-11-29 09:37:36 -08:00
Stephane Nicoll 9965221378 Merge branch '1.5.x' 2017-11-29 14:21:45 +01:00
Andy Wilkinson ffca60d308 Revert "Rework BootRun so that it does not subclass JavaExec"
This reverts commit 6eee9de3c1.

Closes gh-10872
2017-11-22 17:22:44 +00:00
Andy Wilkinson aa9c5e6e08 Align expectation with new endpoint enabled property description
See gh-10870
2017-11-21 11:38:50 +00:00
Phillip Webb e82913dd5a Align appendix edits with source code
Port editing changes from append to java source files to ensure that
IDE meta-data also reflects the improvements.

Closes gh-10870
2017-11-20 15:47:49 -08:00
Andy Wilkinson 417c98304d Remove assumption about file separator that is incorrect on Windows
Closes gh-11087
2017-11-20 11:48:07 +00:00
Phillip Webb cbaf0fa686 Support Duration in generated meta-data
Update the configuration properties annotation processor to deal
with `Duration` based default values. For example a field that
defaults to `Duration.ofSeconds(10)` will have a meta-data default
value of `10s`.

See gh-11080
2017-11-19 21:51:10 -08:00
Johnny Lim 1783a072ad Remove explicit constructor super() calls
Closes gh-11068
2017-11-17 16:44:16 -08:00
Phillip Webb a6cefc5ba0 Polish 2017-11-17 14:18:31 -08:00
Johnny Lim 639bf5e99c Update "Building reference documentation" section
This commit also changes `spring-boot-maven-plugin/pom.xml` to make it
work with `full` Maven profile.

Closes gh-11045
2017-11-17 10:05:04 +01:00
Johnny Lim cbb483735d Polish
Closes gh-10948
2017-11-16 10:36:20 +01:00
dreis2211 1e4941e29a Use StandardCharsets where possible
Closes gh-11036
2017-11-16 10:34:44 +01:00
Stephane Nicoll bcab23e538 Polish "Separate endpoint concerns"
* Fix the endpoint prefix for generated metadata.
* Polish and improve configuration key descriptions.

Closes gh-10176
2017-11-16 10:32:34 +01:00
Phillip Webb fd5c43cdc9 Separate endpoint concerns
Update endpoint code to provide cleaner separation of concerns.
Specifically, the top level endpoint package is no longer aware of
the fact that JMX and HTTP are ultimately used to expose endpoints.
Caching concerns have also been abstracted behind a general purpose
`OperationMethodInvokerAdvisor` interface.

Configuration properties have been refined to further enforce
separation. The `management.endpoint.<name>` prefix provides
configuration for a  single endpoint (including enable and cache
time-to-live). These  properties are now technology agnostic (they
don't include `web` or `jmx` sub properties).

The `management.endpoints.<technology>` prefix provide exposure specific
configuration. For example, `management.endpoints.web.path-mapping`
allow endpoint URLs to be changed.

Endpoint enabled/disabled logic has been simplified so that endpoints
can't be disabled per exposure technology. Instead a filter based
approach is used to allow refinement of what endpoints are exposed over
a given technology.

Fixes gh-10176
2017-11-15 14:41:38 -08:00
Johnny Lim bd0dcfb172 Utilize StandardCharsets
Closes gh-10972
2017-11-10 09:49:13 +01:00