122 Commits

Author SHA1 Message Date
Andy Wilkinson
59bc3c5602 Prevent recursive config props from causing a stack overflow
Previously, when the configuration properties annotation processor
encountered a property that was the same as an outer type that had
already been processed, it would fail with a stack overflow error.

This commit introduces the use of a stack to track the types that
have been processed. Types that have been seen before are skipped,
thereby preventing a failure from occurring. We do not fail upon
encountering a recursive type to allow metadata generation to
complete. At runtime, the recursive property will not cause a problem
if it is not bound.

Fixes gh-18365
2019-11-05 15:35:11 +00:00
Andy Wilkinson
3d4157ad6d Correct SCM URLs in published poms
Previously, Maven's default behaviour was relied up which resulted
in the artifact ID being appended to each URL as it was inherited.
This behaviour can only be disabled in Maven 3.6 and later, a version
that we cannot use due to an incompatibility with the Flatten Plugin.

This commit works around Maven's default behaviour by defining
properties for the SCM URL, connection, and developer connection and
then explicitly defining the settings in each pom using these
properties. The explicit definition of the properties in each pom
prevents them being inherited from the parent, thereby disabling the
unwanted appending of the artifact ID to the URL.

Fixes gh-18328
2019-10-02 10:48:30 +01:00
Andy Wilkinson
abba4fa9c9 Include exception's message in message printed by AP
Fixes gh-17974
2019-09-02 14:52:14 +01:00
Andy Wilkinson
edcaee375f Consider @Deprecated on field when determining property's deprecation
Fixes gh-17550
2019-09-02 14:39:24 +01:00
Andy Wilkinson
ab87b2a39b Polish 2019-08-19 16:05:43 +01:00
Phillip Webb
fb1dd8fe93 Merge branch '2.0.x' into 2.1.x 2019-07-24 11:41:32 +01:00
Phillip Webb
913e831f4e Merge '1.5.x' into 2.0.x 2019-07-24 11:39:58 +01:00
Phillip Webb
92bff3c328 Merge branch '2.0.x' into 2.1.x 2019-06-28 23:42:28 -07:00
Phillip Webb
cfeb0239b7 Merge branch '1.5.x' into 2.0.x 2019-06-28 23:28:34 -07:00
Andy Wilkinson
24925c3dae Merge branch '2.0.x' into 2.1.x
Closes gh-17078
2019-06-07 10:50:34 +01:00
Andy Wilkinson
c6c139d980 Merge branch '1.5.x' into 2.0.x 2019-06-07 10:46:31 +01:00
Phillip Webb
ccfbd03482 Merge branch '2.0.x' into 2.1.x 2019-06-04 02:07:14 -07:00
Phillip Webb
5fba43aa31 Merge branch '1.5.x' into 2.0.x 2019-06-04 00:05:57 -07:00
Phillip Webb
f380ba63eb Exclude Groovy MetaClass from property meta-data
Update `TypeExcludeFilter` to exclude `groovy.lang.MetaClass`.

Closes gh-16981
2019-05-28 16:42:42 -07:00
Stephane Nicoll
fbb5ffe0a4 Avoid infinite cycle resolving generic type that refers itself
This commit improves type resolution for a unresolved generic type that
uses itself in its upper bound declaration.

Closes gh-16451
2019-04-04 15:55:55 +02:00
Phillip Webb
47c6bf741d Merge branch '2.0.x' into 2.1.x 2019-04-02 13:40:21 -07:00
Phillip Webb
07c000c5b7 Merge branch '1.5.x' into 2.0.x 2019-04-02 13:34:28 -07:00
Andy Wilkinson
864942ad4f Merge branch '2.0.x' into 2.1.x 2019-03-28 09:35:53 +00:00
Andy Wilkinson
ba4671f0ab Merge branch '1.5.x' into 2.0.x 2019-03-27 19:59:36 +00:00
Andy Wilkinson
e23f72c8b0 Merge branch '2.0.x' into 2.1.x 2019-03-20 16:53:48 +00:00
Andy Wilkinson
9fbd38ab3c Merge branch '1.5.x' into 2.0.x 2019-03-20 16:45:26 +00:00
Andy Wilkinson
a36aa67b52 Merge branch '2.0.x' into 2.1.x 2019-03-19 17:04:41 +00:00
Spring Operator
3e2b6ac8ed Update build and setup configuration to use HTTPS
See gh-16246
2019-03-19 16:58:31 +00:00
Andy Wilkinson
9d06d22b99 Merge branch '2.0.x' into 2.1.x 2019-03-07 10:17:01 +00:00
Stephane Nicoll
91a005f578 Resolve generic types in generated metadata
Closes gh-15850
2019-02-20 13:24:40 +01:00
Phillip Webb
f3fa20b2d1 Polish 2018-10-29 14:25:45 -07:00
Madhura Bhave
f0004c4ade Merge branch '2.0.x' 2018-10-22 14:57:10 -07:00
dreis2211
5c0d7f4ac0 Avoid creation of unnecessary collections
Closes gh-14916
2018-10-22 14:54:39 -07:00
Phillip Webb
d76bba5e6f Migrate from ExpectedException rule to AssertJ
Replace ExpectedException JUnit rules with AssertJ exception
assertions.

Closes gh-14336
2018-10-02 10:55:28 -07:00
durigon
7aaeefbc0e Use Matcher from pre-compiled Pattern rather than String for replaceAll
Closes gh-14483
2018-09-17 10:54:54 +01:00
Stephane Nicoll
0493355241 Use deterministic order for configuration properties metadata
This commit updates the annotation processor to write metadata in a
consistent way. Groups, properties and hints are written and each item
is ordered alphabetically based on its name.

Also, deprecated items are written last.

Closes gh-14347
2018-09-08 08:20:43 +02:00
Andy Wilkinson
8ee4775820 Polish 2018-09-04 20:46:35 +01:00
Stephane Nicoll
c0e45b7333 Adapt to Spring Framework API change 2018-09-04 14:09:57 +02:00
Stephane Nicoll
91af9e2ca9 Merge branch '2.0.x' 2018-08-20 10:34:03 +02:00
Stephane Nicoll
d80ed27339 Fix checkstyle violation 2018-08-20 10:33:46 +02:00
Stephane Nicoll
b26dedb547 Merge branch '2.0.x' 2018-08-20 10:26:21 +02:00
dreis2211
0bc66dc4a9 Replace loops with Arrays.setAll where possible
See gh-14125
2018-08-20 10:16:50 +02:00
dreis2211
a601bc863b Remove unused method in TypeUtils
Closes gh-14130
2018-08-19 15:39:39 +02:00
Stephane Nicoll
8f2ab952f5 Polish javadoc formatting 2018-08-16 17:19:25 +02:00
Stephane Nicoll
94013aaba6 Add support for DataSize
This commit adds support for Spring Framework's `DataSize` allowing to
express a size in bytes and other convenient units.

Similar to the `Duration` support introduced previously, this commit
adds transparent binding support as well as detection of default values
in `@ConfigurationProperties`-annotated object.

Closes gh-13974
2018-08-13 16:43:23 +03:00
Johnny Lim
05a7d21305 Polish ItemMetadata.buildName()
Closes gh-14024
2018-08-09 09:47:02 +02:00
dreis2211
66b1742f96 Optimize some StringBuilder.append() calls
Closes gh-13961
2018-08-01 08:41:03 +02:00
Phillip Webb
aeb885192e Polish ternary expressions 2018-07-29 09:24:46 +01:00
Phillip Webb
63b609827e Fix checkstyle method order issues
Fix checkstyle issues with method ordering following the
spring-javaformat upgrade.

See gh-13932
2018-07-28 01:11:53 +01:00
Phillip Webb
e6a68b39a3 Fix checkstyle javadoc issues
Fix checkstyle issues in javadoc following the spring-javaformat
upgrade.

See gh-13932
2018-07-28 01:11:52 +01:00
Phillip Webb
7fc455654a Fix checkstyle ternary issues
Fix checkstyle issues with ternary expressions following the
spring-javaformat upgrade.

See gh-13932
2018-07-28 01:11:52 +01:00
Stephane Nicoll
ffe994335e Merge branch '1.5.x' into 2.0.x 2018-07-16 14:12:16 +02:00
Stephane Nicoll
174cc2bc4e Merge branch '1.5.x' into 2.0.x 2018-07-13 09:25:42 +02:00
dreis2211
ac8eebfbad Fix typos
Closes gh-13762
2018-07-13 07:54:03 +02:00
Stephane Nicoll
9e9e746554 Merge branch '1.5.x' into 2.0.x 2018-06-21 09:17:05 +02:00