Commit Graph

241 Commits (2d71658ed11a715728b86723021fca4046240f55)

Author SHA1 Message Date
Stephane Nicoll 69c2621a14 Polish "Add support for @Value annotation"
See gh-26337
3 years ago
Mark Jeffrey 14d86034a1 Add support for @Value annotation
This commit adds support for `@Value` from project Lombok for metadata
generation. This is very similar to the existing `@Data` support.

See gh-26337
3 years ago
weixsun 8a2be288a3 Remove unnecessary throws declaration in tests
See gh-26441
4 years ago
Stephane Nicoll 7465eb0f03 Merge branch '2.4.x' 4 years ago
Stephane Nicoll 85e1cc4d65 Fix checkstyle violation 4 years ago
Stephane Nicoll 09ae65e3b7 Merge branch '2.4.x'
Closes gh-26277
4 years ago
Stephane Nicoll 05b09907e0 Merge branch '2.3.x' into 2.4.x
Closes gh-26275
4 years ago
Stephane Nicoll d610f3c2ff Polish "Fix ordering of metadata entries"
See gh-26230
4 years ago
Dmitry Pavlov 3e34b0a60a Fix ordering of metadata entries
This commit provides a consistent ordering for groups that share the
same configuration property prefix.

See gh-26230
4 years ago
Stephane Nicoll 9e3c3b73ac Merge branch '2.4.x' 4 years ago
Stephane Nicoll d98fe36b88 Merge branch '2.3.x' into 2.4.x 4 years ago
Stephane Nicoll 20da9826cc Disable incrementalBuildTypeRenamed test
This commit disables a test that does not test what it is supposed to
and improve the Metadata assertions to fail early if more than one
matching item by name and type is found in the metadata.

See gh-26271
4 years ago
Andy Wilkinson 340893747b Merge branch '2.4.x'
Closes gh-25799
4 years ago
Andy Wilkinson af7e4e211c Support all known endpoint types
Previously, the configuration metadata annotation processor only
declared support for `@Endpoint` and none of the other more
specialized `@…Endpoint` annotations that are meta-annotated with
`@Endpoint` such as `@WebEndpoint` and `@JmxEndpoint. This would
result in missing metadata if a full or incremental build only
compiled classes annotated with one of the more specialized
`@…Endpoint` annotations as the annotation processor would not be
called.

This commit updates the processor's supported annotation types to
include every known `@…Endpoint` annotation. The test processor has
also been similarly updated to align its behaviour with that of the
main processor.

Fixes gh-25388
4 years ago
Andy Wilkinson db781a0d84 Merge branch '2.4.x'
See gh-25077
4 years ago
Andy Wilkinson 788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
4 years ago
Andy Wilkinson 67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
4 years ago
Phillip Webb d8b6960997 Merge branch '2.4.x'
Closes gh-25077
4 years ago
Phillip Webb 257608a3a3 Merge branch '2.3.x' into 2.4.x
Closes gh-25076
4 years ago
Phillip Webb 939b5dfc26 Add junit-platform-launcher dependency
Update `build.gradle` files to ensure that `junit-platform-launcher` is
a `testRuntimeOnly` dependency. This ensures that tests can be run from
Eclipse.

Closes gh-25074
4 years ago
Marten Deinum 5121ca5d17 Reduce the overhead of char[] creation
See gh-24204
4 years ago
Stephane Nicoll 946be4eab6 Merge branch '2.3.x'
Closes gh-24059
4 years ago
Stephane Nicoll 4a8646bd09 Merge branch '2.2.x' into 2.3.x
Closes gh-24058
4 years ago
Stephane Nicoll 59ea7c11f6 Use most specific getter when generating metadata
This commit makes sure to use the most specific getter if more than
one candidate exists.

Closes gh-24002
4 years ago
izeye 9c35cd41ad Polish
See gh-23986
4 years ago
Phillip Webb a41ff4dfab Merge branch '2.3.x' 4 years ago
Phillip Webb b0c2687aa9 Update copyright year of changed files 4 years ago
Andy Wilkinson 5642dc6d13 Merge branch '2.3.x'
Closes gh-23970
4 years ago
Andy Wilkinson 70d9602b3f Merge branch '2.2.x' into 2.3.x
Closes gh-23969
4 years ago
Andy Wilkinson e7eb7739dc Use overriding rather than overridden getter methods in config prop AP
Fixes gh-23966
4 years ago
Phillip Webb 74e06e8e6a Refine MetadataCollector logic
Update `MetadataCollector` merge logic so that previous items are no
longer added if the current round contains a property of the same name.

Fixes gh-23916
4 years ago
Phillip Webb 23e5fd798c Merge branch '2.3.x'
Closes gh-23960
4 years ago
Phillip Webb b86dcbec72 Merge branch '2.2.x' into 2.3.x
Closes gh-23959
4 years ago
Phillip Webb cf09451ffb Retain inner-class data on incremental compile
Ensure that metadata sourced from inner-types is not deleted when
performing an incremental compile. Prior to this commit, the source
type was searched using the `Outer$Inner` format. This is not supported
`Elements.getTypeElement` so we now convert the names to `Outer.Inner`.

Closes gh-10886
4 years ago
Stephane Nicoll 1296b4dfe6 Revert "Support constructor binding on 3rd party classes"
This commit reverts the support of constructor binding on 3rd party
classes using @ImportConfigurationPropertiesBean

See gh-23172

Closes gh-23593
4 years ago
Andy Wilkinson c82581171d Trigger configuration properties annotation processsor on `@Endpoint`
We generate metadata for `@Endpoint` annotated types so the annotation
processor need to indicate that it supports the endpoint annotation.

See gh-23580
4 years ago
Andy Wilkinson 1924aad07c Limit supported annotations to `@ConfigurationProperties` and `@Configuration`
Previously, the configuration property annotation processor declared
that it supported all annotation types. This hurt performance and
prevented incremental builds with Gradle when compiling source code
containing source-retention annotations.

This commit updates its supported annotation types to be only
`@ConfigurationProperties` and `@Configuration`. The latter is declared
to allow binding third-party classes returned from a `@Bean` method.

Fixes gh-23580
4 years ago
Stephane Nicoll 5feaf2bc1a Polish "Polish empty string checks"
See gh-23550
4 years ago
Santhoshkumar. P 5cb07e292d Polish empty string checks
See gh-23550
4 years ago
Phillip Webb 5f49d4a8d7 Rename @ConfigurationPropertiesImport
Rename `@ConfigurationPropertiesImport` to
`@ImportAsConfigurationPropertiesBean` and also refine the registrar
so that it can be used with type directly annotated with
`@ConfigurationProperties`.

Closes gh-23172
4 years ago
Phillip Webb c857a743a0 Rename @ImportConfigurationPropertiesBean
Rename `@ImportConfigurationPropertiesBean` to
`@ConfigurationPropertiesImport`.

Closes gh-23172
4 years ago
dreis2211 be56cac2bb Note starters' and annotation processors' jar type in their manifest
See gh-22203
4 years ago
Phillip Webb f260c77fe3 Add @ImportConfigurationPropertiesBean support
Add repeatable `@ImportConfigurationPropertiesBean` annotation that can
be used to import types and treat them as `@ConfigurationProperties`
beans. This annotation is specifically designed to support third-party
classes that can't contain any Spring annotations.

Closes gh-23172
4 years ago
Andy Wilkinson 56ded38f5d Generate default values from Duration and Period .ZERO
Closes gh-23082
4 years ago
Stephane Nicoll dac63fc3e5 Polish 4 years ago
Phillip Webb 33b48c8bac Add @Name support to the annotation processor
Update the `ConfigurationMetadataAnnotationProcessor` so that `@Name`
annotated parameters generate the correct meta-data.

Closes gh-22492
4 years ago
Andy Wilkinson 62aa8ce107 Support incremental annotation processing with Gradle
Closes gh-22150
4 years ago
Phillip Webb 82ed255bb1 Merge branch '2.3.x'
Closes gh-22060
4 years ago
Phillip Webb 9843888714 Merge branch '2.2.x' into 2.3.x
Closes gh-22059
4 years ago
Phillip Webb 3b3a49db1f Polish 'Fix infinite loop in FieldValues'
See gh-22040
4 years ago