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); addGitHubAttributes(attributes);
addVersionAttributes(attributes); addVersionAttributes(attributes);
addUrlArtifactRepository(attributes); addUrlArtifactRepository(attributes);
addUrlJava(attributes);
addUrlLibraryLinkAttributes(attributes); addUrlLibraryLinkAttributes(attributes);
addPropertyAttributes(attributes); addPropertyAttributes(attributes);
return attributes; return attributes;
@ -109,8 +110,12 @@ public class AntoraAsciidocAttributes {
}); });
attributes.put("version-native-build-tools", (String) this.projectProperties.get("nativeBuildToolsVersion")); attributes.put("version-native-build-tools", (String) this.projectProperties.get("nativeBuildToolsVersion"));
attributes.put("version-graal", (String) this.projectProperties.get("graalVersion")); 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-commons");
addSpringDataDependencyVersion(attributes, "spring-data-couchbase"); addSpringDataDependencyVersion(attributes, "spring-data-couchbase");
addSpringDataDependencyVersion(attributes, "spring-data-cassandra");
addSpringDataDependencyVersion(attributes, "spring-data-elasticsearch"); addSpringDataDependencyVersion(attributes, "spring-data-elasticsearch");
addSpringDataDependencyVersion(attributes, "spring-data-jdbc"); addSpringDataDependencyVersion(attributes, "spring-data-jdbc");
addSpringDataDependencyVersion(attributes, "spring-data-jpa"); addSpringDataDependencyVersion(attributes, "spring-data-jpa");
@ -125,8 +130,12 @@ public class AntoraAsciidocAttributes {
} }
private void addSpringDataDependencyVersion(Map<String, String> attributes, String name, String artifactId) { private void addSpringDataDependencyVersion(Map<String, String> attributes, String name, String artifactId) {
String version = this.dependencyVersions.get("org.springframework.data:" + artifactId); addDependencyVersion(attributes, name, "org.springframework.data:" + artifactId);
Assert.notNull(version, () -> "No version found for Spring Data artifact " + 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); attributes.put("version-" + name, version);
} }
@ -134,6 +143,10 @@ public class AntoraAsciidocAttributes {
attributes.put("url-artifact-repository", this.artifactRelease.getDownloadRepo()); 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) { private void addUrlLibraryLinkAttributes(Map<String, String> attributes) {
this.libraries.forEach((library) -> { this.libraries.forEach((library) -> {
String prefix = "url-" + library.getLinkRootName() + "-"; 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-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-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-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-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-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-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-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-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-elasticsearch-site=https://spring.io/projects/spring-data-elasticsearch
url-spring-data-envers-site=https://spring.io/projects/spring-data-envers 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-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-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-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-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-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 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-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-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-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 === # === API References ===

View File

@ -154,6 +154,7 @@ class AntoraAsciidocAttributesTests {
private Map<String, String> mockDependencyVersions() { private Map<String, String> mockDependencyVersions() {
Map<String, String> versions = new LinkedHashMap<>(); Map<String, String> versions = new LinkedHashMap<>();
addMockSpringDataVersion(versions, "spring-data-commons"); addMockSpringDataVersion(versions, "spring-data-commons");
addMockSpringDataVersion(versions, "spring-data-cassandra");
addMockSpringDataVersion(versions, "spring-data-couchbase"); addMockSpringDataVersion(versions, "spring-data-couchbase");
addMockSpringDataVersion(versions, "spring-data-elasticsearch"); addMockSpringDataVersion(versions, "spring-data-elasticsearch");
addMockSpringDataVersion(versions, "spring-data-jdbc"); addMockSpringDataVersion(versions, "spring-data-jdbc");
@ -162,6 +163,9 @@ class AntoraAsciidocAttributesTests {
addMockSpringDataVersion(versions, "spring-data-neo4j"); addMockSpringDataVersion(versions, "spring-data-neo4j");
addMockSpringDataVersion(versions, "spring-data-r2dbc"); addMockSpringDataVersion(versions, "spring-data-r2dbc");
addMockSpringDataVersion(versions, "spring-data-rest-core"); addMockSpringDataVersion(versions, "spring-data-rest-core");
addMockJacksonVersion(versions, "jackson-annotations");
addMockJacksonVersion(versions, "jackson-core");
addMockJacksonVersion(versions, "jackson-databind");
return versions; return versions;
} }
@ -169,4 +173,8 @@ class AntoraAsciidocAttributesTests {
versions.put("org.springframework.data:" + artifactId, "1.2.3"); 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 { links {
site("https://documentation.red-gate.com/flyway") site("https://documentation.red-gate.com/flyway")
javadoc("https://javadoc.io/doc/org.flywaydb/flyway-core/{version}")
} }
} }
library("FreeMarker", "2.3.33") { library("FreeMarker", "2.3.33") {
@ -458,6 +459,7 @@ bom {
} }
links { links {
site("https://www.graphql-java.com/") 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}") releaseNotes("https://github.com/graphql-java/graphql-java/releases/tag/v{version}")
} }
} }
@ -479,6 +481,7 @@ bom {
} }
links { links {
site("https://github.com/google/gson") 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}") releaseNotes("https://github.com/google/gson/releases/tag/gson-parent-{version}")
} }
} }
@ -511,6 +514,7 @@ bom {
} }
links { links {
site("https://hazelcast.com") site("https://hazelcast.com")
javadoc("https://javadoc.io/doc/com.hazelcast/hazelcast/{version}")
releaseNotes("https://github.com/hazelcast/hazelcast/releases/tag/v{version}") releaseNotes("https://github.com/hazelcast/hazelcast/releases/tag/v{version}")
} }
} }
@ -653,6 +657,8 @@ bom {
} }
links { links {
site("https://github.com/jakartaee/jaf-api") 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}") releaseNotes("https://github.com/jakartaee/jaf-api/releases/tag/{version}")
} }
} }
@ -662,6 +668,10 @@ bom {
"jakarta.annotation-api" "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") { library("Jakarta Inject", "2.0.1") {
group("jakarta.inject") { group("jakarta.inject") {
@ -669,6 +679,10 @@ bom {
"jakarta.inject-api" "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") { library("Jakarta JMS", "3.1.0") {
group("jakarta.jms") { group("jakarta.jms") {
@ -676,6 +690,12 @@ bom {
"jakarta.jms-api" "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") { library("Jakarta Json", "2.1.3") {
group("jakarta.json") { group("jakarta.json") {
@ -683,6 +703,10 @@ bom {
"jakarta.json-api" "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") { library("Jakarta Json Bind", "3.0.1") {
group("jakarta.json.bind") { group("jakarta.json.bind") {
@ -690,6 +714,10 @@ bom {
"jakarta.json.bind-api" "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") { library("Jakarta Mail", "2.1.3") {
group("jakarta.mail") { group("jakarta.mail") {
@ -698,7 +726,10 @@ bom {
] ]
} }
links { 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}") releaseNotes("https://github.com/jakartaee/mail-api/releases/tag/{version}")
} }
} }
@ -715,6 +746,12 @@ bom {
"jakarta.persistence-api" "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") { library("Jakarta Servlet", "6.0.0") {
group("jakarta.servlet") { group("jakarta.servlet") {
@ -722,6 +759,12 @@ bom {
"jakarta.servlet-api" "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") { library("Jakarta Servlet JSP JSTL", "3.0.0") {
group("jakarta.servlet.jsp.jstl") { group("jakarta.servlet.jsp.jstl") {
@ -736,6 +779,10 @@ bom {
"jakarta.transaction-api" "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") { library("Jakarta Validation", "3.0.2") {
group("jakarta.validation") { group("jakarta.validation") {
@ -743,6 +790,10 @@ bom {
"jakarta.validation-api" "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") { library("Jakarta WebSocket", "2.1.1") {
group("jakarta.websocket") { group("jakarta.websocket") {
@ -1262,6 +1313,7 @@ bom {
} }
links { links {
site("https://micrometer.io") site("https://micrometer.io")
javadoc("https://javadoc.io/doc/io.micrometer/micrometer-core/{version}")
docs { version -> "https://docs.micrometer.io/micrometer/reference/%s.%s" docs { version -> "https://docs.micrometer.io/micrometer/reference/%s.%s"
.formatted(version.major(), version.minor()) } .formatted(version.major(), version.minor()) }
releaseNotes("https://github.com/micrometer-metrics/micrometer/releases/tag/v{version}") releaseNotes("https://github.com/micrometer-metrics/micrometer/releases/tag/v{version}")
@ -1276,6 +1328,7 @@ bom {
} }
links { links {
site("https://micrometer.io") site("https://micrometer.io")
javadoc("https://javadoc.io/doc/io.micrometer/micrometer-tracing/{version}")
docs { version -> "https://docs.micrometer.io/tracing/reference/%s.%s" docs { version -> "https://docs.micrometer.io/tracing/reference/%s.%s"
.formatted(version.major(), version.minor()) } .formatted(version.major(), version.minor()) }
releaseNotes("https://github.com/micrometer-metrics/tracing/releases/tag/v{version}") releaseNotes("https://github.com/micrometer-metrics/tracing/releases/tag/v{version}")
@ -1401,6 +1454,7 @@ bom {
} }
links { links {
site("https://github.com/open-telemetry/opentelemetry-java") 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}") releaseNotes("https://github.com/open-telemetry/opentelemetry-java/releases/tag/v{version}")
} }
} }
@ -1634,6 +1688,10 @@ bom {
"r2dbc-spi" "r2dbc-spi"
] ]
} }
links {
site("https://r2dbc.io")
javadoc("https://r2dbc.io/spec/{version}/api")
}
} }
library("Rabbit AMQP Client", "5.21.0") { library("Rabbit AMQP Client", "5.21.0") {
group("com.rabbitmq") { group("com.rabbitmq") {
@ -1643,6 +1701,7 @@ bom {
} }
links { links {
site("https://github.com/rabbitmq/rabbitmq-java-client") 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}") releaseNotes("https://github.com/rabbitmq/rabbitmq-java-client/releases/tag/v{version}")
} }
} }
@ -2132,6 +2191,7 @@ bom {
} }
links { links {
site("https://java.testcontainers.org") site("https://java.testcontainers.org")
javadoc("https://javadoc.io/doc/org.testcontainers/testcontainers/{version}")
releaseNotes("https://github.com/testcontainers/testcontainers-java/releases/tag/{version}") releaseNotes("https://github.com/testcontainers/testcontainers-java/releases/tag/{version}")
} }
} }