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.
* Render hypermedia from WebFlux controllers.
* Support consuming hypermedia through WebClient.
* Support link creation reactively with a custom filter and explicitly with a user-provided ServerWebExchange.
* Add a ReactiveResourceAssembler and SimpleReactiveResourceAssembler.
* Upgrade to Spring Framework 5.2 to align with Spring Data Moore, removing specialized Forwarded header handling.
Switched to javadoc:javadoc goal as we're not an aggregator project and can prevent the lifecycle restart from being triggered which caused plugins being bound to lifecycle phases before compile to be re-triggered.
Upgraded to Asciidoctor Maven Plugin 1.5.7.1.
Cleanups in Affordance API and implementations of hypermedia type (de)serializers. Added a lot more domain methods and types to Link, ResourceSupport etc. to be able to move a lot of representation building logic into those.
AffordanceModelFactory is not a Spring Plugin anymore as that functionality is not needed currently as we statically look up all factories via the SpringFactoriesLoader mechanism.
Redesigned LinkRelation to become a first class abstraction in the codebase. IanaLinkRelations is now a collection of constants. Link now keeps a LinkRelation instance around instead of a plain String.
Tweaked LinkDiscoverer API to return Optional and Links instead of nullable Link and List<Link>.
Tweaked API of CurieProvider to make use of the newly introduced HalLinkRelation based on the general LinkRelation.
Additional fixes for the Kotlin extension functions. Make Kotlin build setup compile with JDK 8. Removed Objects helper class in favor of Spring's already existing Assert and it's usage in ResourceAssemblerSupport.
Moved AffordanceModelFactory to the library's root package. Moved Kotlin extensions to hateoas.mvc package.
Added an ArchUnit based test for package cycles.
Introduces pipeline that replaces the Bambook Spring HATEOAS one which builds on master branch and deploys to artifactory.
Additionally:
* Tests against JDK 8, 11, and 12 before doing the final build and deploy.
* Also handles pull requests, running same suite of tests against mutiple JDKs.
The scenarios of using Spring HATEOAS without Spring Plugin are too niche to not support the potential error messages should people use Spring HATEOAS outside of Spring Boot.
Spring 5.1 is centralizing all Forward header handling. This moves critical bits into one location, making it easy to completely remove once we rebaseline against this version.
Also adds a test profile to ensure Spring 5.1 doesn't break anything.
Original pull request: #717.