346 Commits

Author SHA1 Message Date
Andy Wilkinson
6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
2021-08-18 17:56:32 +01:00
Andy Wilkinson
ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
2021-08-18 17:52:42 +01:00
Andy Wilkinson
681df90d33 Generate metadata for records using implicit constructor binding
Closes gh-27216
2021-07-26 09:43:32 +01:00
Andy Wilkinson
37f690323f Polish
Closes gh-27432
2021-07-21 11:55:38 +01:00
Stephane Nicoll
69c2621a14 Polish "Add support for @Value annotation"
See gh-26337
2021-06-12 17:40:34 +02:00
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
2021-06-12 17:40:34 +02:00
weixsun
8a2be288a3 Remove unnecessary throws declaration in tests
See gh-26441
2021-05-17 09:31:51 +02:00
Stephane Nicoll
52994027f4 Fix checkstyle violation 2021-04-28 15:14:33 +02:00
Stephane Nicoll
7465eb0f03 Merge branch '2.4.x' 2021-04-28 15:12:45 +02:00
Stephane Nicoll
85e1cc4d65 Fix checkstyle violation 2021-04-28 15:12:22 +02:00
Stephane Nicoll
09ae65e3b7 Merge branch '2.4.x'
Closes gh-26277
2021-04-28 14:13:11 +02:00
Stephane Nicoll
05b09907e0 Merge branch '2.3.x' into 2.4.x
Closes gh-26275
2021-04-28 14:12:35 +02:00
Stephane Nicoll
d610f3c2ff Polish "Fix ordering of metadata entries"
See gh-26230
2021-04-28 14:07:37 +02:00
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
2021-04-28 14:07:37 +02:00
Stephane Nicoll
9e3c3b73ac Merge branch '2.4.x' 2021-04-28 13:58:05 +02:00
Stephane Nicoll
d98fe36b88 Merge branch '2.3.x' into 2.4.x 2021-04-28 13:57:45 +02:00
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
2021-04-28 13:54:35 +02:00
Andy Wilkinson
340893747b Merge branch '2.4.x'
Closes gh-25799
2021-03-25 15:50:45 +00:00
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
2021-03-25 15:23:09 +00:00
Andy Wilkinson
db781a0d84 Merge branch '2.4.x'
See gh-25077
2021-02-02 15:14:18 +00:00
Andy Wilkinson
788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
2021-02-02 15:12:27 +00:00
Andy Wilkinson
67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
2021-02-02 13:03:21 +00:00
Phillip Webb
d8b6960997 Merge branch '2.4.x'
Closes gh-25077
2021-02-01 16:08:57 -08:00
Phillip Webb
257608a3a3 Merge branch '2.3.x' into 2.4.x
Closes gh-25076
2021-02-01 16:03:43 -08:00
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
2021-02-01 15:31:28 -08:00
Marten Deinum
5121ca5d17 Reduce the overhead of char[] creation
See gh-24204
2020-12-21 10:21:49 +01:00
Stephane Nicoll
946be4eab6 Merge branch '2.3.x'
Closes gh-24059
2020-11-05 16:33:28 +01:00
Stephane Nicoll
4a8646bd09 Merge branch '2.2.x' into 2.3.x
Closes gh-24058
2020-11-05 16:32:52 +01:00
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
2020-11-05 16:01:28 +01:00
izeye
9c35cd41ad Polish
See gh-23986
2020-11-01 17:07:50 +01:00
Phillip Webb
a41ff4dfab Merge branch '2.3.x' 2020-10-29 09:07:57 -07:00
Phillip Webb
b0c2687aa9 Update copyright year of changed files 2020-10-29 09:07:42 -07:00
Andy Wilkinson
5642dc6d13 Merge branch '2.3.x'
Closes gh-23970
2020-10-29 15:31:59 +00:00
Andy Wilkinson
70d9602b3f Merge branch '2.2.x' into 2.3.x
Closes gh-23969
2020-10-29 15:31:12 +00:00
Andy Wilkinson
e7eb7739dc Use overriding rather than overridden getter methods in config prop AP
Fixes gh-23966
2020-10-29 15:30:46 +00:00
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
2020-10-28 21:59:06 -07:00
Phillip Webb
23e5fd798c Merge branch '2.3.x'
Closes gh-23960
2020-10-28 21:18:42 -07:00
Phillip Webb
b86dcbec72 Merge branch '2.2.x' into 2.3.x
Closes gh-23959
2020-10-28 21:18:17 -07:00
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
2020-10-28 21:13:08 -07:00
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
2020-10-07 10:53:01 +02:00
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
2020-10-06 16:13:19 +01:00
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
2020-10-06 14:54:24 +01:00
Stephane Nicoll
5feaf2bc1a Polish "Polish empty string checks"
See gh-23550
2020-10-05 10:42:19 +02:00
Santhoshkumar. P
5cb07e292d Polish empty string checks
See gh-23550
2020-10-05 10:38:47 +02:00
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
2020-09-15 11:36:00 -07:00
Phillip Webb
c857a743a0 Rename @ImportConfigurationPropertiesBean
Rename `@ImportConfigurationPropertiesBean` to
`@ConfigurationPropertiesImport`.

Closes gh-23172
2020-09-14 19:35:10 -07:00
dreis2211
be56cac2bb Note starters' and annotation processors' jar type in their manifest
See gh-22203
2020-09-10 14:37:06 +01:00
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
2020-09-09 22:05:49 -07:00
Andy Wilkinson
56ded38f5d Generate default values from Duration and Period .ZERO
Closes gh-23082
2020-08-25 15:46:50 +01:00
Stephane Nicoll
dac63fc3e5 Polish 2020-08-06 17:35:01 +02:00