Commit Graph

209 Commits (a825e9f49375adfdb0219fe732cb190479e32245)

Author SHA1 Message Date
Stephane Nicoll 222ed44bd4 Replace enabledByDefault to DefaultEnablement
This commit introduces a DefaultEnablement enum that replaces the
"enabledByDefault" boolean flag of Endpoint. This allows to better
control what indicates the default enablement of an endpoint.

With DefaultEnablement#ENABLED, the endpoint is enabled unless an
endpoint specific property says otherwise. With DefaultEnabled#DISABLED,
the endpoint is disabled unless an endpoint specific property says
otherwise. DefaultEnablement#NEUTRAL provides a dedicated option to
indicate that we should resort to the default settings in absence of
a specific property.

See gh-10161
7 years ago
Stephane Nicoll 6cd624ba39 Restore processing of Endpoint meta-data 7 years ago
Stephane Nicoll a4a19e1e01 Polish
This commit makes sure that the defaultValue has to be provided in
assertions. If not present, no defaultValue should be generated.
7 years ago
Andy Wilkinson 7fc12bc8a3 Polish 7 years ago
Phillip Webb 2c97d3a5e9 Polish 7 years ago
Stephane Nicoll def094b844 Advertize web endpoints as disabled by default
Following the rework on Security that expects web endpoints to be
disabled by default, this commit updates the metadata (including the
automatic generation) to reflect this decision.
7 years ago
Johnny Lim 9439467664 Remove null check before instanceof
Closes gh-10033
7 years ago
Stephane Nicoll 83e81e13f2 Add support of metadata generation for Endpoints
This commit improves the configuration metadata annotation processor to
explicitly handle `@Endpoint` annotated class. Adding a new endpoint on
a project potentially creates the following keys:

* `endpoints.<id>.enabled`
* `endpoints.<id>.cache.time-to-live`
* `endpoints.<id>.jmx.enabled`
* `endpoints.<id>.web.enabled`

Default values are extracted from the annotation type. If an endpoint
is restricted to a given tech, properties from unrelated techs are not
generated.

Closes gh-9692
7 years ago
Andy Wilkinson 8b53ff454c Merge branch '1.5.x' 7 years ago
Andy Wilkinson e0be40cd94 Polish "Locate additional metadata when using Gradle 4"
Closes gh-9732
7 years ago
Misagh Moayyed 980b83c0d8 Locate additional metadata when using Gradle 4
Closes gh-9758
7 years ago
Emanuel Campolo 2626a3a795 Use lambdas when possible
Replace anonymous inner classes with lambda declarations (when possible
using method references).

See gh-9781
7 years ago
Andy Wilkinson 991314c63d Merge branch '1.5.x' 8 years ago
Andy Wilkinson 59122358d3 Clean up and format code 8 years ago
Stephane Nicoll 81efd225f9 Merge branch '1.5.x' 8 years ago
Stephane Nicoll acda4f905f Add support for deprecation level
This commit ensures that deprecation level set in manual metadata is
properly merged in the generated one.

Closes gh-9449
8 years ago
Phillip Webb b94bb00fa1 Remove need for attached test-jar artifacts
Remove test-jar artifacts from Maven projects and relocate classes. The
majority of utilities now live in the `spring-boot-testsupport` module.

This update will help us to deploy artifacts using the standard Maven
deploy plugin in the future (which doesn't support the filtering of
individual artifacts).

Fixes gh-9493
8 years ago
Spring Buildmaster 05d4d0281c Next Development Version 8 years ago
Johnny Lim 6939ff1e65 Polish
Closes gh-9330
8 years ago
Andy Wilkinson d5438c299c Polish "Use try-with-resources to close resources automatically"
- Apply code formatting
- Use try-with-resources in many other places that were missed in the
  pull request

Closes gh-8045
8 years ago
Phillip Webb 302f038e84 Polish 8 years ago
Madhura Bhave 53493fdd86 Make detection of nested config more lenient
Closes gh-3454
8 years ago
Stephane Nicoll 1835dd7b94 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 643dea18ee Accommodate with Lombok generation ordering
Previously, if lombok was running before the configuration metadata
annotation processor, duplicated keys were created as both the
getter/setter and the special lombok handling applied.

This commit makes sure to be lenient by removing duplicate metadata
entries. This commit also makes sure to identify the getter of a
nested group if present. That way, the sourceMethod is set consistently
and avoid the creation of a duplicate group.

Closes gh-8886
8 years ago
Spring Buildmaster 9768b0a8c2 Next Development Version 8 years ago
Phillip Webb ca5e566deb Fix Configuration processor test tangle
Move `Metadata` test class to fix a package tangle in the test code.

Fixes gh-8613
8 years ago
Phillip Webb d8f827d224 Cleanup and format code 8 years ago
Phillip Webb 425dbc3e52 Update copyright header for edited files 8 years ago
Spring Buildmaster d23fa24340 Next Development Version 8 years ago
Phillip Webb a4bcd20b64 Merge branch '1.5.x' 8 years ago
Phillip Webb ca1540cefe Update header copyright for changed files 8 years ago
Phillip Webb 47fd5f4fac Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 47b00c086c Polish 8 years ago
Spring Buildmaster 5c12500366 Next Development Version 8 years ago
Andy Wilkinson 9a7e5caea7 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 20c1370107 Correct the scope of the spring-boot-test-support dependency
Closes gh-8136
8 years ago
Spring Buildmaster a2696bf873 Next Development Version 8 years ago
Andy Wilkinson 31b0e81765 Add @FunctionalInterface to remaining public and protected interfaces
See gh-6857
8 years ago
Eddú Meléndez 3d52c86a21 Annotate interfaces with @FunctionaInterface
Closes gh-6857
8 years ago
Spring Buildmaster ed1ce140c0 Next Development Version 8 years ago
Phillip Webb 8ffaa54e74 Merge branch '1.5.x' 8 years ago
Madhura Bhave ca435512c0 Introduce spring-boot-autoconfigure-processor
Add an annotation processor that generates properties files for certain
auto-configuration class annotations. Currently attribute values from
@AutoConfigureOrder, @AutoConfigureBefore, @AutoConfigureAfter and
@ConditionalOnClass annotations are stored.

The properties file will allow optimizations to be added in the
`spring-boot-autoconfigure` project. Primarily by removing the need
to ASM parse as many `.class` files.

See gh-7573
8 years ago
Phillip Webb 6bc37c0589 Drop annotation processor spring-core dependency
Remove the spring-core dependency from the annotation processor.
(cherry-picked from 4cb7d86aec)

Fixes gh-7882
8 years ago
Stephane Nicoll c0012a4bfe Merge branch '1.5.x' 8 years ago
Stephane Nicoll c06ff7061f Revert Shade annotation processor dependencies
This commit reverts 45d5b60

See gh-7883
8 years ago
Phillip Webb 4bfecc1307 Merge branch '1.5.x' 8 years ago
Phillip Webb 45d5b60f6d Shade annotation processor dependencies
Update the annotation processor to be completely self contained. The
single required dependency is now "shaded" into the jar.

Fixes gh-7883
8 years ago
Phillip Webb cc7c2ebb87 Migrate to android-json
Migrate from `org.json:json` to the clean room Apache 2.0 licensed
version that was developed for Android.

Fixes gh-5929
8 years ago
Phillip Webb 4cb7d86aec Drop annotation processor spring-core dependency
Remove the spring-core dependency from the annotation processor.

Fixes gh-7882
8 years ago
Phillip Webb 53f1df86a2 Merge branch '1.5.x' 8 years ago