Commit Graph

159 Commits

Author SHA1 Message Date
Greg Turnquist
3d9d857807 #853 - Continue development on 1.0.0.BUILD-SNAPSHOT. 2019-03-05 10:12:49 -06:00
Greg Turnquist
221be94134 #853 - Releasing Spring HATEOAS 1.0.0.M1. 2019-03-05 10:12:46 -06:00
Oliver Drotbohm
248a0e0f9f #850 - Upgrade to Spring Plugin 2.0 M1. 2019-03-04 16:46:43 +01:00
Greg Turnquist
6c34f2185e #837 - Fix src/docs/resources configuration 2019-03-03 12:48:48 -06:00
Greg Turnquist
3069543b8f #837 - Add more media types.
Introduce `src/docs/resources` and add `{resource-dir}` as an asciidoctor variable.

Add content for HAL-FORMS, Collection+JSON, and UBER.
2019-03-03 12:34:43 -06:00
Oliver Drotbohm
0cbe2d8544 #837 - POM cleanups.
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.
2019-03-03 16:55:04 +01:00
Oliver Drotbohm
8ddca10ed3 #837 - Moved sample code for fundamentals into test cases. 2019-03-03 16:55:04 +01:00
Oliver Drotbohm
70a072244c #837 - Improve doc generation to only render index file. 2019-03-03 16:55:04 +01:00
Greg Turnquist
fde1ef1099 #837 - Fix code references. 2019-03-01 19:20:36 -06:00
Greg Turnquist
fbfccfb93e #837 - Polishing. 2019-03-01 18:13:47 -06:00
Greg Turnquist
2ec1bb73aa #837 - Add section on affordances. 2019-03-01 18:10:47 -06:00
Oliver Drotbohm
20606fef46 #837 - First chunk of improvements to reference documentation.
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.
2019-03-01 15:56:44 +01:00
Oliver Drotbohm
a89e57eed7 #833 - Changed ResourceSupport class name hierarchy. 2019-02-27 20:04:15 +01:00
Greg Turnquist
9c684c0060 #815 - Test against Spring Framework 5.1/5.2 snapshots. 2019-02-21 11:24:02 -06:00
Oliver Drotbohm
82efbfb6aa #798 - Polishing.
Removed inclusion of broken stylesheet CSS.
2019-02-21 16:52:47 +01:00
Greg Turnquist
3f0dcc7cb4 #728 - Add support for Spring WebFlux.
* 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.
2019-02-21 12:27:51 +01:00
Oliver Drotbohm
0ec193fa26 #798 - Polishing.
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.
2019-02-21 09:52:38 +01:00
Oliver Drotbohm
9131a82b90 #808 - Removed build setup after Spring 5.1 upgrade. 2019-02-15 11:46:46 +01:00
Oliver Drotbohm
9e5db1874e #812 - General overhaul and refactorings.
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.
2019-02-15 10:57:23 +01:00
Oliver Drotbohm
ee12040f10 #813 - Upgrade to Kotlin 1.3.21. 2019-02-14 19:20:35 +01:00
Oliver Drotbohm
eb78f47e4f #808 - Upgrade to Spring Framework 5.1.5. 2019-02-14 19:20:17 +01:00
Oliver Drotbohm
aca2cc578a #806 - Fixed package cycle between hateoas and hateoas.core packages.
Moved AffordanceModelFactory to the library's root package. Moved Kotlin extensions to hateoas.mvc package.

Added an ArchUnit based test for package cycles.
2019-02-11 14:57:25 +01:00
Jay Bryant
a483daab6d #798 - Modernize documentation production and appearance.
Applied new convention standard for generating documentation using spring-doc-resources.
2019-02-06 10:26:48 -06:00
Oliver Drotbohm
c16ac486e4 #792 - Upgrade to Jackson 2.9.8. 2019-01-29 16:51:34 +01:00
Kulcsár Roland
9c5d10aa07 #715 - Add link and affordance DSLs to help write idiomatic Kotlin code.
* Provide a LinkBuilderDsl for help create links.
* Provider an AffordanceBuilderDsl to help create affordances.
2019-01-02 13:31:23 -06:00
Greg Turnquist
a5554ef2e5 #764 - Fix test dependencies to support Java 11.
Several test libraries had to be upgraded to their versions that support Java 11 and higher.
2018-12-17 10:33:16 -06:00
Greg Turnquist
7874be5b08 #764 - Introduce Concourse CI.
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.
2018-12-14 11:02:48 -06:00
Greg Turnquist
1731b49bc6 #760 - Make Spring Plugin a full dependency.
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.
2018-12-12 12:23:29 -06:00
Greg Turnquist
bb4a4a615c #758 - Centralize all Forward header handling.
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.
2018-12-06 14:20:54 +01:00
Oliver Drotbohm
267ff45043 #754 - Upgrade to Jackson 2.9.7. 2018-12-06 13:22:20 +01:00
Greg Turnquist
9f7eaeecd9 #752 - Upgraded to latest Spring 5.0 version. 2018-11-26 15:29:49 -06:00
Greg Turnquist
8f15301220 #711 - Upgrade to Spring Framework 5.0.6.RELEASE. 2018-05-15 15:06:34 -05:00
Greg Turnquist
3af698d928 #700 - Remove JAX-RS support. 2018-04-18 16:34:35 +02:00
Christian Bühler
21719bb041 #686 - Support whitespace in Links header (RFC 5988).
RFC 5988 (https://tools.ietf.org/html/rfc5988#section-5.5) has clear examples of whitespace in link headers. This commit introduces support (and tests) to support these spec cases.
2018-01-03 13:50:25 -06:00
Oliver Gierke
ad801e9003 #662 - Upgraded to Spring Framework 5.0.2. 2017-10-30 14:10:18 +01:00
Oliver Gierke
160afea34d #648 - Added build setup to add Java 9 automatic module name. 2017-10-14 01:00:12 +02:00
Oliver Gierke
35033fee0e #647 - Switch to AssertJ and upgrade to Mockito 2. 2017-10-14 00:59:54 +02:00
Oliver Gierke
b862919868 #646 - Upgraded to Lombok 1.16.18. 2017-10-14 00:59:54 +02:00
Oliver Gierke
09f7a5d5eb #641 - General dependency upgrade. 2017-10-14 00:59:51 +02:00
Oliver Gierke
aaddb8fc55 #645 - Upgraded to Spring Plugin 2.0. 2017-10-14 00:59:18 +02:00
Oliver Gierke
ba63e0527f #643 - Upgrade to Spring Framework 5 as development baseline.
Upgraded to required Jackson 2.9 baseline, too.
2017-10-14 00:59:18 +02:00
Oliver Gierke
79618e9e10 #642 - Upgrade compiler level to Java 8. 2017-10-14 00:59:18 +02:00
Oliver Gierke
17981e77e5 #644 - Removed Bundlor Maven plugin. 2017-10-13 17:54:49 +02:00
Oliver Gierke
4d7c618ca7 #641 - Prepare 1.0 development. 2017-10-13 17:52:54 +02:00
Greg Turnquist
3006c47616 #635 - Upgrade to Spring 5 GA
On spring5 build profiles, use Spring 5 GA, and the subsequent snapshot release.
2017-09-28 11:53:59 -05:00
Greg Turnquist
ef825433e8 #627 - Upgrade to Spring 5 RC4 2017-09-18 09:48:47 -05:00
Oliver Gierke
9c7fa95541 #623 - Upgraded Spring 5 build profile to Jackson 2.9.1. 2017-09-08 17:28:15 +02:00
Oliver Gierke
6bed9bec40 #583 - Updated Jackson version to 2.9.0.pr for Spring 5 compatibility in build profile.
Fixed super constructor invocation to avoid NullPointerException in super class.
2017-05-16 13:33:27 +02:00
Oliver Gierke
e0bfa04beb #562 - Polishing.
Add Greg to project metadata in pom.xml.
2017-03-26 11:14:56 +02:00
Greg Turnquist
fe8c3c476d #553 - Upgrade spring43-next build profile to 4.3.8.BUILD-SNAPSHOT. 2017-03-26 11:12:18 +02:00