Tweaked WebFluxLinkBuilder to make sure the controller invocations are resolved eagerly as otherwise, the controller proxy created would override the invocations due to the lazy evaluation of the links and for multiple method references, only the last one would have been used.
Removed duplicate declaration of the deploy plugin.
Switched to the prepare-package phase for the documentation generation as the declaration of the Maven Build Helper Plugin caused the unpacking of the dependencies to be delayed to after the asciidoctor execution which then renders the CSS and JavaScript files missing.
Extracted the JavaDoc generation settings into the plugin management section so that both the CI build as well as the one creating the JavaDoc for the site deployment use the same setup. Removed the JavaDoc declaration from the default build and activate it in the testing build.
Removed inclusion of Spring Data static resources as they're superseded by the docs resources.
Introduced new structure to reference docs that reflects the new library structure. Completely rewrote the Fundamentals section. Adapted to all type renames in the codebase. Fixed anchors in migration chapter.
Integrated PlantUML plugin for Asciidoctor generation to generate diagrams.
The introduced methods allow clients to pass an identifier extractor function. Also introduced a new (Extended)TypedEntityLinks that exposes the same functionality as EntityLinks but with a shared identifier extractor function so that clients don't have to provide it for each method invocation.
Prepares the fix for #842.
Introduced findRequiredLinkWithRel(…) methods on LinkDiscoverer to delegate to existing lookups but resolving the Optional into an IllegalArgumentException.
Fixed JsonPathLinkDiscoverer to return no links at all if a required path segment in the payload cannot be found which would have triggered a PathNotFoundException before.
Polished parameter names and JavaDoc. Moved base test cases into the right packages.
The BeanPostProcessor implementations in (WebMVC|WebFlux)HateoasConfiguration are now declared as static methods and their dependencies use ObjectProvider wrapper types to prevent the need to prematurely initialize the entire configuration class which triggered the creation of a lot of downstream dependencies which were then reported as ineligible for post processing themselves.