Skip to content

Commit 2c268b0

Browse files
committed
Add more javadoc links for Antora to use
See gh-41614
1 parent e05a846 commit 2c268b0

File tree

4 files changed

+91
-3
lines changed

4 files changed

+91
-3
lines changed

buildSrc/src/main/java/org/springframework/boot/build/antora/AntoraAsciidocAttributes.java

+15-2
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public Map<String, String> get() {
7878
addGitHubAttributes(attributes);
7979
addVersionAttributes(attributes);
8080
addUrlArtifactRepository(attributes);
81+
addUrlJava(attributes);
8182
addUrlLibraryLinkAttributes(attributes);
8283
addPropertyAttributes(attributes);
8384
return attributes;
@@ -109,8 +110,12 @@ private void addVersionAttributes(Map<String, String> attributes) {
109110
});
110111
attributes.put("version-native-build-tools", (String) this.projectProperties.get("nativeBuildToolsVersion"));
111112
attributes.put("version-graal", (String) this.projectProperties.get("graalVersion"));
113+
addDependencyVersion(attributes, "jackson-annotations", "com.fasterxml.jackson.core:jackson-annotations");
114+
addDependencyVersion(attributes, "jackson-core", "com.fasterxml.jackson.core:jackson-core");
115+
addDependencyVersion(attributes, "jackson-databind", "com.fasterxml.jackson.core:jackson-databind");
112116
addSpringDataDependencyVersion(attributes, "spring-data-commons");
113117
addSpringDataDependencyVersion(attributes, "spring-data-couchbase");
118+
addSpringDataDependencyVersion(attributes, "spring-data-cassandra");
114119
addSpringDataDependencyVersion(attributes, "spring-data-elasticsearch");
115120
addSpringDataDependencyVersion(attributes, "spring-data-jdbc");
116121
addSpringDataDependencyVersion(attributes, "spring-data-jpa");
@@ -125,15 +130,23 @@ private void addSpringDataDependencyVersion(Map<String, String> attributes, Stri
125130
}
126131

127132
private void addSpringDataDependencyVersion(Map<String, String> attributes, String name, String artifactId) {
128-
String version = this.dependencyVersions.get("org.springframework.data:" + artifactId);
129-
Assert.notNull(version, () -> "No version found for Spring Data artifact " + artifactId);
133+
addDependencyVersion(attributes, name, "org.springframework.data:" + artifactId);
134+
}
135+
136+
private void addDependencyVersion(Map<String, String> attributes, String name, String groupAndArtifactId) {
137+
String version = this.dependencyVersions.get(groupAndArtifactId);
138+
Assert.notNull(version, () -> "No version found for " + groupAndArtifactId);
130139
attributes.put("version-" + name, version);
131140
}
132141

133142
private void addUrlArtifactRepository(Map<String, String> attributes) {
134143
attributes.put("url-artifact-repository", this.artifactRelease.getDownloadRepo());
135144
}
136145

146+
private void addUrlJava(Map<String, String> attributes) {
147+
attributes.put("url-javase-javadoc", "https://docs.oracle.com/en/java/javase/17/docs/api/");
148+
}
149+
137150
private void addUrlLibraryLinkAttributes(Map<String, String> attributes) {
138151
this.libraries.forEach((library) -> {
139152
String prefix = "url-" + library.getLinkRootName() + "-";

buildSrc/src/main/resources/org/springframework/boot/build/antora/antora-asciidoc-attributes.properties

+7
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,13 @@ url-paketo-docs=https://paketo.io/docs
3333
url-paketo-docs-java-buildpack={url-paketo-docs}/buildpacks/language-family-buildpacks/java
3434
url-spring-boot-for-apache-geode-docs=https://docs.spring.io/spring-boot-data-geode-build/2.0.x/reference/html5
3535
url-spring-boot-for-apache-geode-site=https://github.com/spring-projects/spring-boot-data-geode
36+
url-spring-data-cassandra-javadoc=https://docs.spring.io/spring-data/cassandra/docs/{version-spring-data-cassandra}/api
3637
url-spring-data-cassandra-site=https://spring.io/projects/spring-data-cassandra
3738
url-spring-data-commons-javadoc=https://docs.spring.io/spring-data/commons/docs/{version-spring-data-commons}/api
3839
url-spring-data-couchbase-docs=https://docs.spring.io/spring-data/couchbase/reference/{version-spring-data-couchbase}
3940
url-spring-data-couchbase-site=https://spring.io/projects/spring-data-couchbase
41+
url-spring-data-couchbase-javadoc=https://docs.spring.io/spring-data/couchbase/docs/{version-spring-data-couchbase}/api
42+
url-spring-data-elasticsearch-javadoc=https://docs.spring.io/spring-data/elasticsearch/docs/{version-spring-data-elasticsearch}/api
4043
url-spring-data-elasticsearch-docs=https://docs.spring.io/spring-data/elasticsearch/reference/{version-spring-data-elasticsearch}
4144
url-spring-data-elasticsearch-site=https://spring.io/projects/spring-data-elasticsearch
4245
url-spring-data-envers-site=https://spring.io/projects/spring-data-envers
@@ -50,13 +53,17 @@ url-spring-data-ldap-site=https://spring.io/projects/spring-data-ldap
5053
url-spring-data-mongodb-javadoc=https://docs.spring.io/spring-data/mongodb/docs/{version-spring-data-mongodb}/api
5154
url-spring-data-mongodb-site=https://spring.io/projects/spring-data-mongodb
5255
url-spring-data-mongodb-docs=https://docs.spring.io/spring-data/mongodb/reference/{version-spring-data-mongodb}
56+
url-spring-data-neo4j-javadoc=https://docs.spring.io/spring-data/neo4j/docs/{version-spring-data-neo4j}/api
5357
url-spring-data-neo4j-docs=https://docs.spring.io/spring-data/neo4j/reference/{version-spring-data-neo4j}
5458
url-spring-data-neo4j-site=https://spring.io/projects/spring-data-neo4j
5559
url-spring-data-r2dbc-javadoc=https://docs.spring.io/spring-data/r2dbc/docs/{version-spring-data-r2dbc}/api
5660
url-spring-data-r2dbc-docs=https://docs.spring.io/spring-data/relational/reference/{version-spring-data-r2dbc}
5761
url-spring-data-redis-site=https://spring.io/projects/spring-data-redis
5862
url-spring-data-rest-javadoc=https://docs.spring.io/spring-data/rest/docs/{version-spring-data-rest}/api
5963
url-spring-data-site=https://spring.io/projects/spring-data
64+
url-jackson-annotations=https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-annotations/{version-jackson-annotations}
65+
url-jackson-core=https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/{version-jackson-core}
66+
url-jackson-databind=https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/{version-jackson-databind}
6067

6168
# === API References ===
6269

buildSrc/src/test/java/org/springframework/boot/build/antora/AntoraAsciidocAttributesTests.java

+8
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ private Library mockLibrary(Map<String, Function<LibraryVersion, String>> links)
154154
private Map<String, String> mockDependencyVersions() {
155155
Map<String, String> versions = new LinkedHashMap<>();
156156
addMockSpringDataVersion(versions, "spring-data-commons");
157+
addMockSpringDataVersion(versions, "spring-data-cassandra");
157158
addMockSpringDataVersion(versions, "spring-data-couchbase");
158159
addMockSpringDataVersion(versions, "spring-data-elasticsearch");
159160
addMockSpringDataVersion(versions, "spring-data-jdbc");
@@ -162,11 +163,18 @@ private Map<String, String> mockDependencyVersions() {
162163
addMockSpringDataVersion(versions, "spring-data-neo4j");
163164
addMockSpringDataVersion(versions, "spring-data-r2dbc");
164165
addMockSpringDataVersion(versions, "spring-data-rest-core");
166+
addMockJacksonVersion(versions, "jackson-annotations");
167+
addMockJacksonVersion(versions, "jackson-core");
168+
addMockJacksonVersion(versions, "jackson-databind");
165169
return versions;
166170
}
167171

168172
private void addMockSpringDataVersion(Map<String, String> versions, String artifactId) {
169173
versions.put("org.springframework.data:" + artifactId, "1.2.3");
170174
}
171175

176+
private void addMockJacksonVersion(Map<String, String> versions, String artifactId) {
177+
versions.put("com.fasterxml.jackson.core:" + artifactId, "2.3.4");
178+
}
179+
172180
}

spring-boot-project/spring-boot-dependencies/build.gradle

+61-1
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,7 @@ bom {
402402
}
403403
links {
404404
site("https://documentation.red-gate.com/flyway")
405+
javadoc("https://javadoc.io/doc/org.flywaydb/flyway-core/{version}")
405406
}
406407
}
407408
library("FreeMarker", "2.3.33") {
@@ -458,6 +459,7 @@ bom {
458459
}
459460
links {
460461
site("https://www.graphql-java.com/")
462+
javadoc("https://javadoc.io/doc/com.graphql-java/graphql-java/{version}")
461463
releaseNotes("https://github.com/graphql-java/graphql-java/releases/tag/v{version}")
462464
}
463465
}
@@ -479,6 +481,7 @@ bom {
479481
}
480482
links {
481483
site("https://github.com/google/gson")
484+
javadoc("https://javadoc.io/doc/com.google.code.gson/gson/{version}")
482485
releaseNotes("https://github.com/google/gson/releases/tag/gson-parent-{version}")
483486
}
484487
}
@@ -511,6 +514,7 @@ bom {
511514
}
512515
links {
513516
site("https://hazelcast.com")
517+
javadoc("https://javadoc.io/doc/com.hazelcast/hazelcast/{version}")
514518
releaseNotes("https://github.com/hazelcast/hazelcast/releases/tag/v{version}")
515519
}
516520
}
@@ -653,6 +657,8 @@ bom {
653657
}
654658
links {
655659
site("https://github.com/jakartaee/jaf-api")
660+
javadoc { version -> "https://jakarta.ee/specifications/activation/%s.%s/apidocs"
661+
.formatted(version.major(), version.minor()) }
656662
releaseNotes("https://github.com/jakartaee/jaf-api/releases/tag/{version}")
657663
}
658664
}
@@ -662,34 +668,56 @@ bom {
662668
"jakarta.annotation-api"
663669
]
664670
}
671+
links {
672+
javadoc { version -> "https://jakarta.ee/specifications/annotations/%s.%s/apidocs"
673+
.formatted(version.major(), version.minor()) }
674+
}
665675
}
666676
library("Jakarta Inject", "2.0.1") {
667677
group("jakarta.inject") {
668678
modules = [
669679
"jakarta.inject-api"
670680
]
671681
}
682+
links {
683+
javadoc { version -> "https://jakarta.ee/specifications/dependency-injection/%s.%s/apidocs"
684+
.formatted(version.major(), version.minor()) }
685+
}
672686
}
673687
library("Jakarta JMS", "3.1.0") {
674688
group("jakarta.jms") {
675689
modules = [
676690
"jakarta.jms-api"
677691
]
678692
}
693+
links {
694+
site { version -> "https://jakarta.ee/specifications/messaging/%s.%s"
695+
.formatted(version.major(), version.minor()) }
696+
javadoc { version -> "https://jakarta.ee/specifications/messaging/%s.%s/apidocs"
697+
.formatted(version.major(), version.minor()) }
698+
}
679699
}
680700
library("Jakarta Json", "2.1.3") {
681701
group("jakarta.json") {
682702
modules = [
683703
"jakarta.json-api"
684704
]
685705
}
706+
links {
707+
javadoc { version -> "https://jakarta.ee/specifications/jsonp/%s.%s/apidocs"
708+
.formatted(version.major(), version.minor()) }
709+
}
686710
}
687711
library("Jakarta Json Bind", "3.0.1") {
688712
group("jakarta.json.bind") {
689713
modules = [
690714
"jakarta.json.bind-api"
691715
]
692716
}
717+
links {
718+
javadoc { version -> "https://jakarta.ee/specifications/jsonb/%s.%s/apidocs"
719+
.formatted(version.major(), version.minor()) }
720+
}
693721
}
694722
library("Jakarta Mail", "2.1.3") {
695723
group("jakarta.mail") {
@@ -698,7 +726,10 @@ bom {
698726
]
699727
}
700728
links {
701-
site("https://github.com/jakartaee/mail-api")
729+
site { version -> "https://jakarta.ee/specifications/mail/%s.%s"
730+
.formatted(version.major(), version.minor()) }
731+
javadoc { version -> "https://jakarta.ee/specifications/mail/%s.%s/apidocs"
732+
.formatted(version.major(), version.minor()) }
702733
releaseNotes("https://github.com/jakartaee/mail-api/releases/tag/{version}")
703734
}
704735
}
@@ -715,13 +746,25 @@ bom {
715746
"jakarta.persistence-api"
716747
]
717748
}
749+
links {
750+
site { version -> "https://jakarta.ee/specifications/persistence/%s.%s"
751+
.formatted(version.major(), version.minor()) }
752+
javadoc { version -> "https://jakarta.ee/specifications/persistence/%s.%s/apidocs"
753+
.formatted(version.major(), version.minor()) }
754+
}
718755
}
719756
library("Jakarta Servlet", "6.0.0") {
720757
group("jakarta.servlet") {
721758
modules = [
722759
"jakarta.servlet-api"
723760
]
724761
}
762+
links {
763+
site { version -> "https://jakarta.ee/specifications/servlet/%s.%s"
764+
.formatted(version.major(), version.minor()) }
765+
javadoc { version -> "https://jakarta.ee/specifications/servlet/%s.%s/apidocs"
766+
.formatted(version.major(), version.minor()) }
767+
}
725768
}
726769
library("Jakarta Servlet JSP JSTL", "3.0.0") {
727770
group("jakarta.servlet.jsp.jstl") {
@@ -736,13 +779,21 @@ bom {
736779
"jakarta.transaction-api"
737780
]
738781
}
782+
links {
783+
javadoc { version -> "https://jakarta.ee/specifications/transactions/%s.%s/apidocs"
784+
.formatted(version.major(), version.minor()) }
785+
}
739786
}
740787
library("Jakarta Validation", "3.0.2") {
741788
group("jakarta.validation") {
742789
modules = [
743790
"jakarta.validation-api"
744791
]
745792
}
793+
links {
794+
javadoc { version -> "https://jakarta.ee/specifications/bean-validation/%s.%s/apidocs"
795+
.formatted(version.major(), version.minor()) }
796+
}
746797
}
747798
library("Jakarta WebSocket", "2.1.1") {
748799
group("jakarta.websocket") {
@@ -1262,6 +1313,7 @@ bom {
12621313
}
12631314
links {
12641315
site("https://micrometer.io")
1316+
javadoc("https://javadoc.io/doc/io.micrometer/micrometer-core/{version}")
12651317
docs { version -> "https://docs.micrometer.io/micrometer/reference/%s.%s"
12661318
.formatted(version.major(), version.minor()) }
12671319
releaseNotes("https://github.com/micrometer-metrics/micrometer/releases/tag/v{version}")
@@ -1276,6 +1328,7 @@ bom {
12761328
}
12771329
links {
12781330
site("https://micrometer.io")
1331+
javadoc("https://javadoc.io/doc/io.micrometer/micrometer-tracing/{version}")
12791332
docs { version -> "https://docs.micrometer.io/tracing/reference/%s.%s"
12801333
.formatted(version.major(), version.minor()) }
12811334
releaseNotes("https://github.com/micrometer-metrics/tracing/releases/tag/v{version}")
@@ -1401,6 +1454,7 @@ bom {
14011454
}
14021455
links {
14031456
site("https://github.com/open-telemetry/opentelemetry-java")
1457+
javadoc("https://javadoc.io/doc/io.opentelemetry/opentelemetry-sdk-common/{version}")
14041458
releaseNotes("https://github.com/open-telemetry/opentelemetry-java/releases/tag/v{version}")
14051459
}
14061460
}
@@ -1634,6 +1688,10 @@ bom {
16341688
"r2dbc-spi"
16351689
]
16361690
}
1691+
links {
1692+
site("https://r2dbc.io")
1693+
javadoc("https://r2dbc.io/spec/{version}/api")
1694+
}
16371695
}
16381696
library("Rabbit AMQP Client", "5.21.0") {
16391697
group("com.rabbitmq") {
@@ -1643,6 +1701,7 @@ bom {
16431701
}
16441702
links {
16451703
site("https://github.com/rabbitmq/rabbitmq-java-client")
1704+
javadoc("https://rabbitmq.github.io/rabbitmq-java-client/api/current/")
16461705
releaseNotes("https://github.com/rabbitmq/rabbitmq-java-client/releases/tag/v{version}")
16471706
}
16481707
}
@@ -2132,6 +2191,7 @@ bom {
21322191
}
21332192
links {
21342193
site("https://java.testcontainers.org")
2194+
javadoc("https://javadoc.io/doc/org.testcontainers/testcontainers/{version}")
21352195
releaseNotes("https://github.com/testcontainers/testcontainers-java/releases/tag/{version}")
21362196
}
21372197
}

0 commit comments

Comments
 (0)