diff --git a/buildSrc/src/main/java/org/springframework/boot/build/antora/AntoraAsciidocAttributes.java b/buildSrc/src/main/java/org/springframework/boot/build/antora/AntoraAsciidocAttributes.java index 44e140434d9..d8b6e4d55a1 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/antora/AntoraAsciidocAttributes.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/antora/AntoraAsciidocAttributes.java @@ -178,26 +178,6 @@ public class AntoraAsciidocAttributes { addSpringDataDependencyVersion(attributes, internal, "spring-data-redis"); addSpringDataDependencyVersion(attributes, internal, "spring-data-rest", "spring-data-rest-core"); addSpringDataDependencyVersion(attributes, internal, "spring-data-ldap"); - addTestcontainersDependencyVersion(attributes, internal, "activemq"); - addTestcontainersDependencyVersion(attributes, internal, "cassandra"); - addTestcontainersDependencyVersion(attributes, internal, "clickhouse"); - addTestcontainersDependencyVersion(attributes, internal, "couchbase"); - addTestcontainersDependencyVersion(attributes, internal, "elasticsearch"); - addTestcontainersDependencyVersion(attributes, internal, "grafana"); - addTestcontainersDependencyVersion(attributes, internal, "jdbc"); - addTestcontainersDependencyVersion(attributes, internal, "kafka"); - addTestcontainersDependencyVersion(attributes, internal, "mariadb"); - addTestcontainersDependencyVersion(attributes, internal, "mongodb"); - addTestcontainersDependencyVersion(attributes, internal, "mssqlserver"); - addTestcontainersDependencyVersion(attributes, internal, "mysql"); - addTestcontainersDependencyVersion(attributes, internal, "neo4j"); - addTestcontainersDependencyVersion(attributes, internal, "oracle-xe"); - addTestcontainersDependencyVersion(attributes, internal, "oracle-free"); - addTestcontainersDependencyVersion(attributes, internal, "postgresql"); - addTestcontainersDependencyVersion(attributes, internal, "pulsar"); - addTestcontainersDependencyVersion(attributes, internal, "rabbitmq"); - addTestcontainersDependencyVersion(attributes, internal, "redpanda"); - addTestcontainersDependencyVersion(attributes, internal, "r2dbc"); addDependencyVersion(attributes, "pulsar-client-reactive-api", "org.apache.pulsar:pulsar-client-reactive-api"); addDependencyVersion(attributes, "pulsar-client-api", "org.apache.pulsar:pulsar-client-api"); } @@ -218,11 +198,6 @@ public class AntoraAsciidocAttributes { internal.put("dotxversion-" + name, majorMinor + ".x"); } - private void addTestcontainersDependencyVersion(Map attributes, Map internal, - String artifactId) { - addDependencyVersion(attributes, "testcontainers-" + artifactId, "org.testcontainers:" + artifactId); - } - private void addDependencyVersion(Map attributes, String name, String groupAndArtifactId) { attributes.put("version-" + name, getVersion(groupAndArtifactId)); } diff --git a/buildSrc/src/main/resources/org/springframework/boot/build/antora/antora-asciidoc-attributes.properties b/buildSrc/src/main/resources/org/springframework/boot/build/antora/antora-asciidoc-attributes.properties index 3da569d0a4f..d7e566ffe03 100644 --- a/buildSrc/src/main/resources/org/springframework/boot/build/antora/antora-asciidoc-attributes.properties +++ b/buildSrc/src/main/resources/org/springframework/boot/build/antora/antora-asciidoc-attributes.properties @@ -76,25 +76,6 @@ url-spring-data-rest-docs=https://docs.spring.io/spring-data/rest/reference/{ant url-spring-data-rest-site=https://spring.io/projects/spring-data-rest url-spring-data-rest-javadoc=https://docs.spring.io/spring-data/rest/docs/{dotxversion-spring-data-rest}/api url-spring-data-site=https://spring.io/projects/spring-data -url-testcontainers-docs=https://java.testcontainers.org -url-testcontainers-activemq-javadoc=https://javadoc.io/doc/org.testcontainers/activemq/{version-testcontainers-activemq} -url-testcontainers-cassandra-javadoc=https://javadoc.io/doc/org.testcontainers/cassandra/{version-testcontainers-cassandra} -url-testcontainers-couchbase-javadoc=https://javadoc.io/doc/org.testcontainers/couchbase/{version-testcontainers-couchbase} -url-testcontainers-elasticsearch-javadoc=https://javadoc.io/doc/org.testcontainers/elasticsearch/{version-testcontainers-elasticsearch} -url-testcontainers-jdbc-javadoc=https://javadoc.io/doc/org.testcontainers/jdbc/{version-testcontainers-jdbc} -url-testcontainers-kafka-javadoc=https://javadoc.io/doc/org.testcontainers/kafka/{version-testcontainers-kafka} -url-testcontainers-mariadb-javadoc=https://javadoc.io/doc/org.testcontainers/mariadb/{version-testcontainers-mariadb} -url-testcontainers-mongodb-javadoc=https://javadoc.io/doc/org.testcontainers/mongodb/{version-testcontainers-mongodb} -url-testcontainers-mssqlserver-javadoc=https://javadoc.io/doc/org.testcontainers/mssqlserver/{version-testcontainers-mssqlserver} -url-testcontainers-mysql-javadoc=https://javadoc.io/doc/org.testcontainers/mysql/{version-testcontainers-mysql} -url-testcontainers-neo4j-javadoc=https://javadoc.io/doc/org.testcontainers/neo4j/{version-testcontainers-neo4j} -url-testcontainers-oracle-xe-javadoc=https://javadoc.io/doc/org.testcontainers/oracle-xe/{version-testcontainers-oracle-xe} -url-testcontainers-oracle-free-javadoc=https://javadoc.io/doc/org.testcontainers/oracle-free/{version-testcontainers-oracle-free} -url-testcontainers-postgresql-javadoc=https://javadoc.io/doc/org.testcontainers/postgresql/{version-testcontainers-postgresql} -url-testcontainers-pulsar-javadoc=https://javadoc.io/doc/org.testcontainers/pulsar/{version-testcontainers-pulsar} -url-testcontainers-rabbitmq-javadoc=https://javadoc.io/doc/org.testcontainers/rabbitmq/{version-testcontainers-rabbitmq} -url-testcontainers-redpanda-javadoc=https://javadoc.io/doc/org.testcontainers/redpanda/{version-testcontainers-redpanda} -url-testcontainers-r2dbc-javadoc=https://javadoc.io/doc/org.testcontainers/r2dbc/{version-testcontainers-r2dbc} url-jackson-annotations-javadoc=https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-annotations/{version-jackson-annotations} url-jackson-core-javadoc=https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/{version-jackson-core} url-jackson-databind-javadoc=https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/{version-jackson-databind} diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 481e32a7fa8..0362518cedd 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -2409,9 +2409,31 @@ bom { bom("testcontainers-bom") } links { - site("https://java.testcontainers.org") - javadoc("https://javadoc.io/doc/org.testcontainers/testcontainers/{version}", "org.testcontainers") + docs("https://java.testcontainers.org") + javadoc("testcontainers", version -> "https://javadoc.io/doc/org.testcontainers/testcontainers/%s".formatted(version), "org.testcontainers") + javadoc("testcontainers-activemq", version -> "https://javadoc.io/doc/org.testcontainers/activemq/%s".formatted(version), "org.testcontainers.activemq") + javadoc("testcontainers-cassandra", version -> "https://javadoc.io/doc/org.testcontainers/cassandra/%s".formatted(version)) + javadoc("testcontainers-clickhouse", version -> "https://javadoc.io/doc/org.testcontainers/clickhouse/%s".formatted(version), "org.testcontainers.clickhouse") + javadoc("testcontainers-couchbase", version -> "https://javadoc.io/doc/org.testcontainers/couchbase/%s".formatted(version), "org.testcontainers.couchbase") + javadoc("testcontainers-elasticsearch", version -> "https://javadoc.io/doc/org.testcontainers/elasticsearch/%s".formatted(version), "org.testcontainers.elasticsearch") + javadoc("testcontainers-grafana", version -> "https://javadoc.io/doc/org.testcontainers/grafana/%s".formatted(version), "org.testcontainers.grafana") + javadoc("testcontainers-jdbc", version -> "https://javadoc.io/doc/org.testcontainers/jdbc/%s".formatted(version)) + javadoc("testcontainers-junit-jupiter", version -> "https://javadoc.io/doc/org.testcontainers/junit-jupiter/%s".formatted(version), "org.testcontainers.junit.jupiter") + javadoc("testcontainers-kafka", version -> "https://javadoc.io/doc/org.testcontainers/kafka/%s".formatted(version), "org.testcontainers.kafka") + javadoc("testcontainers-mariadb", version -> "https://javadoc.io/doc/org.testcontainers/mariadb/%s".formatted(version)) + javadoc("testcontainers-mongodb", version -> "https://javadoc.io/doc/org.testcontainers/mongodb/%s".formatted(version)) + javadoc("testcontainers-mssqlserver", version -> "https://javadoc.io/doc/org.testcontainers/mssqlserver/%s".formatted(version)) + javadoc("testcontainers-mysql", version -> "https://javadoc.io/doc/org.testcontainers/mysql/%s".formatted(version)) + javadoc("testcontainers-neo4j", version -> "https://javadoc.io/doc/org.testcontainers/neo4j/%s".formatted(version)) + javadoc("testcontainers-oracle-xe", version -> "https://javadoc.io/doc/org.testcontainers/oracle-xe/%s".formatted(version)) + javadoc("testcontainers-oracle-free", version -> "https://javadoc.io/doc/org.testcontainers/oracle-free/%s".formatted(version), "org.testcontainers.oracle") + javadoc("testcontainers-postgresql", version -> "https://javadoc.io/doc/org.testcontainers/postgresql/%s".formatted(version)) + javadoc("testcontainers-pulsar", version -> "https://javadoc.io/doc/org.testcontainers/pulsar/%s".formatted(version)) + javadoc("testcontainers-rabbitmq", version -> "https://javadoc.io/doc/org.testcontainers/rabbitmq/%s".formatted(version)) + javadoc("testcontainers-redpanda", version -> "https://javadoc.io/doc/org.testcontainers/redpanda/%s".formatted(version), "org.testcontainers.redpanda") + javadoc("testcontainers-r2dbc", version -> "https://javadoc.io/doc/org.testcontainers/r2dbc/%s".formatted(version), "org.testcontainers.r2dbc") releaseNotes("https://github.com/testcontainers/testcontainers-java/releases/tag/{version}") + site("https://java.testcontainers.org") } } library("Testcontainers Redis Module", "2.2.4") { diff --git a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/testing/testcontainers.adoc b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/testing/testcontainers.adoc index c98f5a6cb90..e91148b517d 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/testing/testcontainers.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/testing/testcontainers.adoc @@ -49,7 +49,7 @@ NOTE: In most cases, you will additionally need to configure the application to A common pattern with Testcontainers is to declare the container instances as static fields in an interface. -For example, the following interface declares two containers, one named `mongo` of type javadoc:org.testcontainers.containers.MongoDBContainer[] and another named `neo4j` of type javadoc:org.testcontainers.containers.Neo4jContainer.Neo4jContainer[]: +For example, the following interface declares two containers, one named `mongo` of type javadoc:{url-testcontainers-mongodb-javadoc}/org.testcontainers.containers.MongoDBContainer[] and another named `neo4j` of type javadoc:{url-testcontainers-neo4j-javadoc}/org.testcontainers.containers.Neo4jContainer[]: include-code::MyContainers[] @@ -156,19 +156,22 @@ The following service connection factories are provided in the `spring-boot-test | Containers of type javadoc:{url-testcontainers-neo4j-javadoc}/org.testcontainers.containers.Neo4jContainer[] | javadoc:org.springframework.boot.actuate.autoconfigure.logging.otlp.OtlpLoggingConnectionDetails[] -| Containers named "otel/opentelemetry-collector-contrib" or of type `LgtmStackContainer` +| Containers named "otel/opentelemetry-collector-contrib" or of type javadoc:org.testcontainers.grafana.LgtmStackContainer[] | javadoc:org.springframework.boot.actuate.autoconfigure.metrics.export.otlp.OtlpMetricsConnectionDetails[] -| Containers named "otel/opentelemetry-collector-contrib" or of type `LgtmStackContainer` +| Containers named "otel/opentelemetry-collector-contrib" or of type javadoc:org.testcontainers.grafana.LgtmStackContainer[] | javadoc:org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails[] -| Containers named "otel/opentelemetry-collector-contrib" or of type `LgtmStackContainer` +| Containers named "otel/opentelemetry-collector-contrib" or of type javadoc:org.testcontainers.grafana.LgtmStackContainer[] | javadoc:org.springframework.boot.autoconfigure.pulsar.PulsarConnectionDetails[] | Containers of type javadoc:{url-testcontainers-pulsar-javadoc}/org.testcontainers.containers.PulsarContainer[] | javadoc:org.springframework.boot.autoconfigure.r2dbc.R2dbcConnectionDetails[] -| Containers of type `ClickHouseContainer`, javadoc:{url-testcontainers-mariadb-javadoc}/org.testcontainers.containers.MariaDBContainer[], javadoc:{url-testcontainers-mssqlserver-javadoc}/org.testcontainers.containers.MSSQLServerContainer[], javadoc:{url-testcontainers-mysql-javadoc}/org.testcontainers.containers.MySQLContainer[], javadoc:{url-testcontainers-oracle-free-javadoc}/org.testcontainers.OracleContainer[OracleContainer (free)], javadoc:{url-testcontainers-oracle-xe-javadoc}/org.testcontainers.oracle.OracleContainer[OracleContainer (XE)] or javadoc:{url-testcontainers-postgresql-javadoc}/org.testcontainers.containers.PostgreSQLContainer[] +| Containers of type +javadoc:org.testcontainers.clickhouse.ClickHouseContainer[], +javadoc:{url-testcontainers-mariadb-javadoc}/org.testcontainers.containers.MariaDBContainer[], javadoc:{url-testcontainers-mssqlserver-javadoc}/org.testcontainers.containers.MSSQLServerContainer[], javadoc:{url-testcontainers-mysql-javadoc}/org.testcontainers.containers.MySQLContainer[], +javadoc:org.testcontainers.oracle.OracleContainer[OracleContainer (free)], javadoc:{url-testcontainers-oracle-xe-javadoc}/org.testcontainers.containers.OracleContainer[OracleContainer (XE)] or javadoc:{url-testcontainers-postgresql-javadoc}/org.testcontainers.containers.PostgreSQLContainer[] | javadoc:org.springframework.boot.autoconfigure.amqp.RabbitConnectionDetails[] | Containers of type javadoc:{url-testcontainers-rabbitmq-javadoc}/org.testcontainers.containers.RabbitMQContainer[]