Add more javadoc links for Antora to use

See gh-41614
This commit is contained in:
Phillip Webb 2024-07-29 13:56:06 +01:00
parent e05a846a1c
commit 2c268b0773
4 changed files with 91 additions and 3 deletions

View File

@ -78,6 +78,7 @@ public class AntoraAsciidocAttributes {
addGitHubAttributes(attributes);
addVersionAttributes(attributes);
addUrlArtifactRepository(attributes);
addUrlJava(attributes);
addUrlLibraryLinkAttributes(attributes);
addPropertyAttributes(attributes);
return attributes;
@ -109,8 +110,12 @@ public class AntoraAsciidocAttributes {
});
attributes.put("version-native-build-tools", (String) this.projectProperties.get("nativeBuildToolsVersion"));
attributes.put("version-graal", (String) this.projectProperties.get("graalVersion"));
addDependencyVersion(attributes, "jackson-annotations", "com.fasterxml.jackson.core:jackson-annotations");
addDependencyVersion(attributes, "jackson-core", "com.fasterxml.jackson.core:jackson-core");
addDependencyVersion(attributes, "jackson-databind", "com.fasterxml.jackson.core:jackson-databind");
addSpringDataDependencyVersion(attributes, "spring-data-commons");
addSpringDataDependencyVersion(attributes, "spring-data-couchbase");
addSpringDataDependencyVersion(attributes, "spring-data-cassandra");
addSpringDataDependencyVersion(attributes, "spring-data-elasticsearch");
addSpringDataDependencyVersion(attributes, "spring-data-jdbc");
addSpringDataDependencyVersion(attributes, "spring-data-jpa");
@ -125,8 +130,12 @@ public class AntoraAsciidocAttributes {
}
private void addSpringDataDependencyVersion(Map<String, String> attributes, String name, String artifactId) {
String version = this.dependencyVersions.get("org.springframework.data:" + artifactId);
Assert.notNull(version, () -> "No version found for Spring Data artifact " + artifactId);
addDependencyVersion(attributes, name, "org.springframework.data:" + artifactId);
}
private void addDependencyVersion(Map<String, String> attributes, String name, String groupAndArtifactId) {
String version = this.dependencyVersions.get(groupAndArtifactId);
Assert.notNull(version, () -> "No version found for " + groupAndArtifactId);
attributes.put("version-" + name, version);
}
@ -134,6 +143,10 @@ public class AntoraAsciidocAttributes {
attributes.put("url-artifact-repository", this.artifactRelease.getDownloadRepo());
}
private void addUrlJava(Map<String, String> attributes) {
attributes.put("url-javase-javadoc", "https://docs.oracle.com/en/java/javase/17/docs/api/");
}
private void addUrlLibraryLinkAttributes(Map<String, String> attributes) {
this.libraries.forEach((library) -> {
String prefix = "url-" + library.getLinkRootName() + "-";

View File

@ -33,10 +33,13 @@ url-paketo-docs=https://paketo.io/docs
url-paketo-docs-java-buildpack={url-paketo-docs}/buildpacks/language-family-buildpacks/java
url-spring-boot-for-apache-geode-docs=https://docs.spring.io/spring-boot-data-geode-build/2.0.x/reference/html5
url-spring-boot-for-apache-geode-site=https://github.com/spring-projects/spring-boot-data-geode
url-spring-data-cassandra-javadoc=https://docs.spring.io/spring-data/cassandra/docs/{version-spring-data-cassandra}/api
url-spring-data-cassandra-site=https://spring.io/projects/spring-data-cassandra
url-spring-data-commons-javadoc=https://docs.spring.io/spring-data/commons/docs/{version-spring-data-commons}/api
url-spring-data-couchbase-docs=https://docs.spring.io/spring-data/couchbase/reference/{version-spring-data-couchbase}
url-spring-data-couchbase-site=https://spring.io/projects/spring-data-couchbase
url-spring-data-couchbase-javadoc=https://docs.spring.io/spring-data/couchbase/docs/{version-spring-data-couchbase}/api
url-spring-data-elasticsearch-javadoc=https://docs.spring.io/spring-data/elasticsearch/docs/{version-spring-data-elasticsearch}/api
url-spring-data-elasticsearch-docs=https://docs.spring.io/spring-data/elasticsearch/reference/{version-spring-data-elasticsearch}
url-spring-data-elasticsearch-site=https://spring.io/projects/spring-data-elasticsearch
url-spring-data-envers-site=https://spring.io/projects/spring-data-envers
@ -50,6 +53,7 @@ url-spring-data-ldap-site=https://spring.io/projects/spring-data-ldap
url-spring-data-mongodb-javadoc=https://docs.spring.io/spring-data/mongodb/docs/{version-spring-data-mongodb}/api
url-spring-data-mongodb-site=https://spring.io/projects/spring-data-mongodb
url-spring-data-mongodb-docs=https://docs.spring.io/spring-data/mongodb/reference/{version-spring-data-mongodb}
url-spring-data-neo4j-javadoc=https://docs.spring.io/spring-data/neo4j/docs/{version-spring-data-neo4j}/api
url-spring-data-neo4j-docs=https://docs.spring.io/spring-data/neo4j/reference/{version-spring-data-neo4j}
url-spring-data-neo4j-site=https://spring.io/projects/spring-data-neo4j
url-spring-data-r2dbc-javadoc=https://docs.spring.io/spring-data/r2dbc/docs/{version-spring-data-r2dbc}/api
@ -57,6 +61,9 @@ url-spring-data-r2dbc-docs=https://docs.spring.io/spring-data/relational/referen
url-spring-data-redis-site=https://spring.io/projects/spring-data-redis
url-spring-data-rest-javadoc=https://docs.spring.io/spring-data/rest/docs/{version-spring-data-rest}/api
url-spring-data-site=https://spring.io/projects/spring-data
url-jackson-annotations=https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-annotations/{version-jackson-annotations}
url-jackson-core=https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/{version-jackson-core}
url-jackson-databind=https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/{version-jackson-databind}
# === API References ===

View File

@ -154,6 +154,7 @@ class AntoraAsciidocAttributesTests {
private Map<String, String> mockDependencyVersions() {
Map<String, String> versions = new LinkedHashMap<>();
addMockSpringDataVersion(versions, "spring-data-commons");
addMockSpringDataVersion(versions, "spring-data-cassandra");
addMockSpringDataVersion(versions, "spring-data-couchbase");
addMockSpringDataVersion(versions, "spring-data-elasticsearch");
addMockSpringDataVersion(versions, "spring-data-jdbc");
@ -162,6 +163,9 @@ class AntoraAsciidocAttributesTests {
addMockSpringDataVersion(versions, "spring-data-neo4j");
addMockSpringDataVersion(versions, "spring-data-r2dbc");
addMockSpringDataVersion(versions, "spring-data-rest-core");
addMockJacksonVersion(versions, "jackson-annotations");
addMockJacksonVersion(versions, "jackson-core");
addMockJacksonVersion(versions, "jackson-databind");
return versions;
}
@ -169,4 +173,8 @@ class AntoraAsciidocAttributesTests {
versions.put("org.springframework.data:" + artifactId, "1.2.3");
}
private void addMockJacksonVersion(Map<String, String> versions, String artifactId) {
versions.put("com.fasterxml.jackson.core:" + artifactId, "2.3.4");
}
}

View File

@ -402,6 +402,7 @@ bom {
}
links {
site("https://documentation.red-gate.com/flyway")
javadoc("https://javadoc.io/doc/org.flywaydb/flyway-core/{version}")
}
}
library("FreeMarker", "2.3.33") {
@ -458,6 +459,7 @@ bom {
}
links {
site("https://www.graphql-java.com/")
javadoc("https://javadoc.io/doc/com.graphql-java/graphql-java/{version}")
releaseNotes("https://github.com/graphql-java/graphql-java/releases/tag/v{version}")
}
}
@ -479,6 +481,7 @@ bom {
}
links {
site("https://github.com/google/gson")
javadoc("https://javadoc.io/doc/com.google.code.gson/gson/{version}")
releaseNotes("https://github.com/google/gson/releases/tag/gson-parent-{version}")
}
}
@ -511,6 +514,7 @@ bom {
}
links {
site("https://hazelcast.com")
javadoc("https://javadoc.io/doc/com.hazelcast/hazelcast/{version}")
releaseNotes("https://github.com/hazelcast/hazelcast/releases/tag/v{version}")
}
}
@ -653,6 +657,8 @@ bom {
}
links {
site("https://github.com/jakartaee/jaf-api")
javadoc { version -> "https://jakarta.ee/specifications/activation/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
releaseNotes("https://github.com/jakartaee/jaf-api/releases/tag/{version}")
}
}
@ -662,6 +668,10 @@ bom {
"jakarta.annotation-api"
]
}
links {
javadoc { version -> "https://jakarta.ee/specifications/annotations/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
}
}
library("Jakarta Inject", "2.0.1") {
group("jakarta.inject") {
@ -669,6 +679,10 @@ bom {
"jakarta.inject-api"
]
}
links {
javadoc { version -> "https://jakarta.ee/specifications/dependency-injection/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
}
}
library("Jakarta JMS", "3.1.0") {
group("jakarta.jms") {
@ -676,6 +690,12 @@ bom {
"jakarta.jms-api"
]
}
links {
site { version -> "https://jakarta.ee/specifications/messaging/%s.%s"
.formatted(version.major(), version.minor()) }
javadoc { version -> "https://jakarta.ee/specifications/messaging/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
}
}
library("Jakarta Json", "2.1.3") {
group("jakarta.json") {
@ -683,6 +703,10 @@ bom {
"jakarta.json-api"
]
}
links {
javadoc { version -> "https://jakarta.ee/specifications/jsonp/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
}
}
library("Jakarta Json Bind", "3.0.1") {
group("jakarta.json.bind") {
@ -690,6 +714,10 @@ bom {
"jakarta.json.bind-api"
]
}
links {
javadoc { version -> "https://jakarta.ee/specifications/jsonb/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
}
}
library("Jakarta Mail", "2.1.3") {
group("jakarta.mail") {
@ -698,7 +726,10 @@ bom {
]
}
links {
site("https://github.com/jakartaee/mail-api")
site { version -> "https://jakarta.ee/specifications/mail/%s.%s"
.formatted(version.major(), version.minor()) }
javadoc { version -> "https://jakarta.ee/specifications/mail/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
releaseNotes("https://github.com/jakartaee/mail-api/releases/tag/{version}")
}
}
@ -715,6 +746,12 @@ bom {
"jakarta.persistence-api"
]
}
links {
site { version -> "https://jakarta.ee/specifications/persistence/%s.%s"
.formatted(version.major(), version.minor()) }
javadoc { version -> "https://jakarta.ee/specifications/persistence/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
}
}
library("Jakarta Servlet", "6.0.0") {
group("jakarta.servlet") {
@ -722,6 +759,12 @@ bom {
"jakarta.servlet-api"
]
}
links {
site { version -> "https://jakarta.ee/specifications/servlet/%s.%s"
.formatted(version.major(), version.minor()) }
javadoc { version -> "https://jakarta.ee/specifications/servlet/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
}
}
library("Jakarta Servlet JSP JSTL", "3.0.0") {
group("jakarta.servlet.jsp.jstl") {
@ -736,6 +779,10 @@ bom {
"jakarta.transaction-api"
]
}
links {
javadoc { version -> "https://jakarta.ee/specifications/transactions/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
}
}
library("Jakarta Validation", "3.0.2") {
group("jakarta.validation") {
@ -743,6 +790,10 @@ bom {
"jakarta.validation-api"
]
}
links {
javadoc { version -> "https://jakarta.ee/specifications/bean-validation/%s.%s/apidocs"
.formatted(version.major(), version.minor()) }
}
}
library("Jakarta WebSocket", "2.1.1") {
group("jakarta.websocket") {
@ -1262,6 +1313,7 @@ bom {
}
links {
site("https://micrometer.io")
javadoc("https://javadoc.io/doc/io.micrometer/micrometer-core/{version}")
docs { version -> "https://docs.micrometer.io/micrometer/reference/%s.%s"
.formatted(version.major(), version.minor()) }
releaseNotes("https://github.com/micrometer-metrics/micrometer/releases/tag/v{version}")
@ -1276,6 +1328,7 @@ bom {
}
links {
site("https://micrometer.io")
javadoc("https://javadoc.io/doc/io.micrometer/micrometer-tracing/{version}")
docs { version -> "https://docs.micrometer.io/tracing/reference/%s.%s"
.formatted(version.major(), version.minor()) }
releaseNotes("https://github.com/micrometer-metrics/tracing/releases/tag/v{version}")
@ -1401,6 +1454,7 @@ bom {
}
links {
site("https://github.com/open-telemetry/opentelemetry-java")
javadoc("https://javadoc.io/doc/io.opentelemetry/opentelemetry-sdk-common/{version}")
releaseNotes("https://github.com/open-telemetry/opentelemetry-java/releases/tag/v{version}")
}
}
@ -1634,6 +1688,10 @@ bom {
"r2dbc-spi"
]
}
links {
site("https://r2dbc.io")
javadoc("https://r2dbc.io/spec/{version}/api")
}
}
library("Rabbit AMQP Client", "5.21.0") {
group("com.rabbitmq") {
@ -1643,6 +1701,7 @@ bom {
}
links {
site("https://github.com/rabbitmq/rabbitmq-java-client")
javadoc("https://rabbitmq.github.io/rabbitmq-java-client/api/current/")
releaseNotes("https://github.com/rabbitmq/rabbitmq-java-client/releases/tag/v{version}")
}
}
@ -2132,6 +2191,7 @@ bom {
}
links {
site("https://java.testcontainers.org")
javadoc("https://javadoc.io/doc/org.testcontainers/testcontainers/{version}")
releaseNotes("https://github.com/testcontainers/testcontainers-java/releases/tag/{version}")
}
}