269 Commits

Author SHA1 Message Date
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 6eee9de3c1b7a41469a58d7270ea65ba1779b657.

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
Stephane Nicoll
424793d806 Merge branch '1.5.x' 2017-11-07 08:46:29 +01:00
Johnny Lim
c05a299520 Polish
Closes gh-10921
2017-11-06 12:28:43 +01:00
Phillip Webb
b6166dc12a Move Assume to spring-boot-test-support
Fixes gh-10866
2017-11-03 19:07:23 -07:00
Johnny Lim
84d137d41d Restore execution permission on launch.script
Restore the execute permission that was accidentally removed in
commit 5ee28a08e137.

Closes gh-10801
2017-11-02 23:22:17 -07:00
Andy Wilkinson
e43d0adc4f Polish 2017-11-02 12:05:18 +00:00
Andy Wilkinson
9bbccb093a Rename Gradle plugin tests to work around Windows filename restrictions
The Gradle plugin integration tests find their Gradle build scripts
using a naming convention of ${ClassName}-${methodName}.gradle. This
convention led to two gradle scripts with filenames that were long
enough to causes problems on Windows.

This commit renames two test methods to reduce the length of their
names and, therefore, the names of their corresponding Gradle script
files.

Closes gh-10868
2017-11-02 11:51:09 +00:00
Phillip Webb
c11e514767 Allow individual builds of invoker plugin projects
Clean `${revision}` variables when running invoker based integration
tests. Prior to this commit some `${revision}` placeholders remained
in the invoker local repository preventing the project from being built
outside of the reactor.

Fixes gh-10667
2017-11-01 23:14:52 -07:00
Phillip Webb
c55b5d7111 Polish 2017-11-01 23:14:52 -07:00
Andy Wilkinson
6f55b57855 Make discovery of additional config metdata more robust with Gradle
Previously, the configuration metadata annotation processor relied
upon an additional metadata file have been copied to an output
location. When building with Gradle, it's the processResources task
that performs this copy and there is no guarantee that it will have
run before the compileJava task unless an explicit dependency betwee
the two tasks has been configured. If a project is built using
Gradle's parallel build support, the likelihood of this required
ordering not occurring increases.

This commit updates the configuration metadata annotation processor to
consider a new annotation processor option when looking for the
additional config metadata file. The Gradle plugin has been updated
to provide this option as a compiler argument. The option is only
provided when the annotation processor is found on the compilation
classpath to avoid a warning from javac's annotation processing about
the use of an option that is not supported by any of the available
annotation processors.

Closes gh-9755
2017-10-31 14:31:51 +00:00
Andy Wilkinson
48cc7bde30 Test the Gradle plugin against Gradle 4.3
Closes gh-10769
2017-10-30 20:47:37 +00:00
Stephane Nicoll
4dcc354f86 Merge branch '1.5.x' 2017-10-30 16:31:50 +01:00
Stephane Nicoll
a688613fb4 Merge branch '1.5.x' 2017-10-29 14:11:26 +01:00
Andy Wilkinson
ca4d7f7322 Test the Gradle plugin against Gradle 4.3-rc-4
See gh-10769
2017-10-27 20:30:50 +01:00
Stephane Nicoll
56afc25304 Allow to customize the path of a web endpoint
This commit introduces a endpoints.<id>.web.path generic property that
allows to customize the path of an endpoint. By default the path is the
same as the id of the endpoint.

Such customization does not apply for the CloudFoundry specific
endpoints.

Closes gh-10181
2017-10-26 14:36:14 +02:00
Andy Wilkinson
c3f3bba090 Test the Gradle plugin against Gradle 4.3-rc-3
See gh-10769
2017-10-25 08:59:50 +01:00