Skip to content
This repository was archived by the owner on Dec 19, 2023. It is now read-only.

Commit 154df15

Browse files
authored
Upgrade to Spring REST Docs 2.0.0 (#178)
* Upgrade to Spring REST Docs 2.0.0 * Upgrade to Spring REST Docs 2.0.0 in travis config * Switch to Java 8 as it is required anyway * Upgrade example to Spring Boot 2.0.0.M7 * Test against JDK9 * Fix Gradle build of the example * Let Travis build run on trusty (current default) * Disable JDK9 build because the doclet does not support it yet * Update parent dependencies * Test with Hibernate Validator 6 * Make use of Java 8 * Fix deprecations in example project * Fix deprecations and use lambdas * Upgrade example project to Spring Boot 2.0.0.RELEASE
1 parent d542336 commit 154df15

34 files changed

+346
-359
lines changed

.travis.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
language: java
22
sudo: false
3-
dist: precise
3+
dist: trusty
44
jdk:
55
- oraclejdk8
6-
- oraclejdk7
76
before_cache:
87
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
98
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
@@ -13,8 +12,8 @@ cache:
1312
- $HOME/.gradle/caches/
1413
- $HOME/.gradle/wrapper/
1514
before_install:
16-
- mvn install:install-file -Dfile=lib/spring-restdocs-core-1.2.3.RELEASE-test.jar
17-
-DgroupId=org.springframework.restdocs -DartifactId=spring-restdocs-core -Dversion=1.2.3.RELEASE
15+
- mvn install:install-file -Dfile=lib/spring-restdocs-core-2.0.0.RELEASE-test.jar
16+
-DgroupId=org.springframework.restdocs -DartifactId=spring-restdocs-core -Dversion=2.0.0.RELEASE
1817
-Dpackaging=jar -Dclassifier=test
1918
script:
2019
- mvn install -B -V

docs/index.html

Lines changed: 73 additions & 66 deletions
Large diffs are not rendered by default.
-205 KB
Binary file not shown.
208 KB
Binary file not shown.

pom.xml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>capital.scalable</groupId>
77
<artifactId>spring-auto-restdocs-parent</artifactId>
8-
<version>1.0.12-SNAPSHOT</version>
8+
<version>2.0.0-SNAPSHOT</version>
99
<packaging>pom</packaging>
1010

1111
<name>Spring Auto REST Docs Parent POM</name>
@@ -53,10 +53,10 @@
5353
</developers>
5454

5555
<properties>
56-
<java.version>1.7</java.version>
56+
<java.version>1.8</java.version>
5757
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
5858
<snippetsDirectory>${project.build.directory}/generated-snippets</snippetsDirectory>
59-
<spring-restdocs.version>1.2.3.RELEASE</spring-restdocs.version>
59+
<spring-restdocs.version>2.0.0.RELEASE</spring-restdocs.version>
6060
</properties>
6161

6262
<build>
@@ -145,7 +145,7 @@
145145
<plugin>
146146
<groupId>org.apache.maven.plugins</groupId>
147147
<artifactId>maven-compiler-plugin</artifactId>
148-
<version>3.6.1</version>
148+
<version>3.7.0</version>
149149
</plugin>
150150
<plugin>
151151
<groupId>org.apache.maven.plugins</groupId>
@@ -155,7 +155,7 @@
155155
<plugin>
156156
<groupId>org.apache.maven.plugins</groupId>
157157
<artifactId>maven-javadoc-plugin</artifactId>
158-
<version>2.10.4</version>
158+
<version>3.0.0</version>
159159
</plugin>
160160
<plugin>
161161
<groupId>org.apache.maven.plugins</groupId>
@@ -170,12 +170,12 @@
170170
<plugin>
171171
<groupId>org.apache.maven.plugins</groupId>
172172
<artifactId>maven-surefire-plugin</artifactId>
173-
<version>2.19.1</version>
173+
<version>2.20.1</version>
174174
</plugin>
175175
<plugin>
176176
<groupId>org.asciidoctor</groupId>
177177
<artifactId>asciidoctor-maven-plugin</artifactId>
178-
<version>1.5.5</version>
178+
<version>1.5.6</version>
179179
</plugin>
180180
<plugin>
181181
<groupId>org.apache.maven.plugins</groupId>
@@ -250,28 +250,28 @@
250250
<dependency>
251251
<groupId>com.fasterxml.jackson.core</groupId>
252252
<artifactId>jackson-databind</artifactId>
253-
<version>2.8.6</version>
253+
<version>2.9.3</version>
254254
</dependency>
255255
<dependency>
256256
<groupId>org.springframework</groupId>
257257
<artifactId>spring-test</artifactId>
258-
<version>4.3.10.RELEASE</version>
258+
<version>5.0.2.RELEASE</version>
259259
<scope>provided</scope>
260260
</dependency>
261261
<dependency>
262262
<groupId>org.springframework.data</groupId>
263263
<artifactId>spring-data-commons</artifactId>
264-
<version>1.13.6.RELEASE</version>
264+
<version>2.0.2.RELEASE</version>
265265
</dependency>
266266
<dependency>
267267
<groupId>javax.validation</groupId>
268268
<artifactId>validation-api</artifactId>
269-
<version>1.1.0.Final</version>
269+
<version>2.0.1.Final</version>
270270
</dependency>
271271
<dependency>
272272
<groupId>org.apache.commons</groupId>
273273
<artifactId>commons-lang3</artifactId>
274-
<version>3.5</version>
274+
<version>3.7</version>
275275
</dependency>
276276
<dependency>
277277
<groupId>commons-collections</groupId>
@@ -281,7 +281,7 @@
281281
<dependency>
282282
<groupId>commons-io</groupId>
283283
<artifactId>commons-io</artifactId>
284-
<version>2.5</version>
284+
<version>2.6</version>
285285
<scope>test</scope>
286286
</dependency>
287287
<dependency>
@@ -304,12 +304,12 @@
304304
<dependency>
305305
<groupId>org.slf4j</groupId>
306306
<artifactId>slf4j-api</artifactId>
307-
<version>1.7.22</version>
307+
<version>1.7.25</version>
308308
</dependency>
309309
<dependency>
310310
<groupId>org.slf4j</groupId>
311311
<artifactId>slf4j-simple</artifactId>
312-
<version>1.7.22</version>
312+
<version>1.7.25</version>
313313
<scope>test</scope>
314314
</dependency>
315315
</dependencies>

spring-auto-restdocs-core/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>capital.scalable</groupId>
99
<artifactId>spring-auto-restdocs-parent</artifactId>
10-
<version>1.0.12-SNAPSHOT</version>
10+
<version>2.0.0-SNAPSHOT</version>
1111
<relativePath>..</relativePath>
1212
</parent>
1313

@@ -80,15 +80,15 @@
8080
<scope>test</scope>
8181
</dependency>
8282
<dependency>
83-
<groupId>org.hibernate</groupId>
83+
<groupId>org.hibernate.validator</groupId>
8484
<artifactId>hibernate-validator</artifactId>
85-
<version>5.3.4.Final</version>
85+
<version>6.0.7.Final</version>
8686
<scope>test</scope>
8787
</dependency>
8888
<dependency>
8989
<groupId>org.apache.tomcat.embed</groupId>
9090
<artifactId>tomcat-embed-el</artifactId>
91-
<version>8.5.16</version>
91+
<version>9.0.2</version>
9292
<scope>test</scope>
9393
</dependency>
9494
</dependencies>

spring-auto-restdocs-core/src/main/java/capital/scalable/restdocs/javadoc/JavadocReaderImpl.java

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -86,34 +86,22 @@ public String resolveFieldTag(Class<?> javaBaseClass, String javaFieldName, Stri
8686

8787
@Override
8888
public String resolveMethodComment(Class<?> javaBaseClass, final String javaMethodName) {
89-
return resolveCommentFromClassHierarchy(javaBaseClass, new CommentExtractor() {
90-
@Override
91-
public String comment(ClassJavadoc classJavadoc) {
92-
return classJavadoc.getMethodComment(javaMethodName);
93-
}
94-
});
89+
return resolveCommentFromClassHierarchy(javaBaseClass,
90+
classJavadoc -> classJavadoc.getMethodComment(javaMethodName));
9591
}
9692

9793
@Override
9894
public String resolveMethodTag(Class<?> javaBaseClass, final String javaMethodName,
9995
final String tagName) {
100-
return resolveCommentFromClassHierarchy(javaBaseClass, new CommentExtractor() {
101-
@Override
102-
public String comment(ClassJavadoc classJavadoc) {
103-
return classJavadoc.getMethodTag(javaMethodName, tagName);
104-
}
105-
});
96+
return resolveCommentFromClassHierarchy(javaBaseClass,
97+
classJavadoc -> classJavadoc.getMethodTag(javaMethodName, tagName));
10698
}
10799

108100
@Override
109101
public String resolveMethodParameterComment(Class<?> javaBaseClass, final String javaMethodName,
110102
final String javaParameterName) {
111-
return resolveCommentFromClassHierarchy(javaBaseClass, new CommentExtractor() {
112-
@Override
113-
public String comment(ClassJavadoc classJavadoc) {
114-
return classJavadoc.getMethodParameterComment(javaMethodName, javaParameterName);
115-
}
116-
});
103+
return resolveCommentFromClassHierarchy(javaBaseClass,
104+
classJavadoc -> classJavadoc.getMethodParameterComment(javaMethodName, javaParameterName));
117105
}
118106

119107
private ClassJavadoc classJavadoc(Class<?> clazz) {

spring-auto-restdocs-core/src/main/java/capital/scalable/restdocs/payload/AbstractJacksonFieldSnippet.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,7 @@ private void resolveFieldDescriptors(Map<String, FieldDescriptor> fieldDescripto
113113
List<FieldDescriptor> descriptors = generator.generateDocumentation(type,
114114
objectMapper.getTypeFactory());
115115
for (FieldDescriptor descriptor : descriptors) {
116-
if (fieldDescriptors.get(descriptor.getPath()) == null) {
117-
fieldDescriptors.put(descriptor.getPath(), descriptor);
118-
}
116+
fieldDescriptors.putIfAbsent(descriptor.getPath(), descriptor);
119117
}
120118
}
121119

spring-auto-restdocs-core/src/main/java/capital/scalable/restdocs/payload/JacksonRequestFieldSnippet.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,7 @@ private boolean isModelAttribute(MethodParameter param) {
7676

7777
private Type getType(final MethodParameter param) {
7878
if (isCollection(param.getParameterType())) {
79-
return new GenericArrayType() {
80-
81-
@Override
82-
public Type getGenericComponentType() {
83-
return firstGenericType(param);
84-
}
85-
};
79+
return (GenericArrayType) () -> firstGenericType(param);
8680
} else {
8781
return param.getParameterType();
8882
}

spring-auto-restdocs-core/src/main/java/capital/scalable/restdocs/payload/JacksonResponseFieldSnippet.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,7 @@ protected Type getType(final HandlerMethod method) {
6767
} else if (SPRING_DATA_PAGE_CLASS.equals(returnType.getCanonicalName())) {
6868
return firstGenericType(method.getReturnType());
6969
} else if (isCollection(returnType)) {
70-
return new GenericArrayType() {
71-
72-
@Override
73-
public Type getGenericComponentType() {
74-
return firstGenericType(method.getReturnType());
75-
}
76-
};
70+
return (GenericArrayType) () -> firstGenericType(method.getReturnType());
7771
} else if ("void".equals(returnType.getName())) {
7872
return null;
7973
} else {

0 commit comments

Comments
 (0)