From 5924e14d0c6f31c0663d2a45b8cd3c018e3099b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Sat, 27 Jul 2024 02:46:49 -0500 Subject: [PATCH 01/14] Add Storage Blob and Queue Service Connection from Docker Compose --- eng/versioning/version_client.txt | 1 + .../spring-cloud-azure-dependencies/pom.xml | 5 + sdk/spring/CHANGELOG.md | 1 + sdk/spring/pom.xml | 1 + .../CHANGELOG.md | 11 + .../README.md | 0 .../spring-cloud-azure-docker-compose/pom.xml | 198 ++++++++++++++++++ ...DockerComposeConnectionDetailsFactory.java | 48 +++++ ...DockerComposeConnectionDetailsFactory.java | 54 +++++ .../main/resources/META-INF/spring.factories | 3 + ...rComposeConnectionDetailsFactoryTests.java | 48 +++++ ...rComposeConnectionDetailsFactoryTests.java | 42 ++++ .../connection/storage/storage-compose.yaml | 7 + 13 files changed, 419 insertions(+) create mode 100644 sdk/spring/spring-cloud-azure-docker-compose/CHANGELOG.md create mode 100644 sdk/spring/spring-cloud-azure-docker-compose/README.md create mode 100644 sdk/spring/spring-cloud-azure-docker-compose/pom.xml create mode 100644 sdk/spring/spring-cloud-azure-docker-compose/src/main/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactory.java create mode 100644 sdk/spring/spring-cloud-azure-docker-compose/src/main/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactory.java create mode 100644 sdk/spring/spring-cloud-azure-docker-compose/src/main/resources/META-INF/spring.factories create mode 100644 sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactoryTests.java create mode 100644 sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactoryTests.java create mode 100644 sdk/spring/spring-cloud-azure-docker-compose/src/test/resources/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/storage-compose.yaml diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index eb61ab9d8e04..882a60be8159 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -228,6 +228,7 @@ com.azure.spring:spring-cloud-azure-core;5.14.0;5.15.0-beta.1 com.azure.spring:spring-cloud-azure-actuator-autoconfigure;5.14.0;5.15.0-beta.1 com.azure.spring:spring-cloud-azure-actuator;5.14.0;5.15.0-beta.1 com.azure.spring:spring-cloud-azure-autoconfigure;5.14.0;5.15.0-beta.1 +com.azure.spring:spring-cloud-azure-docker-compose;5.15.0-beta.1;5.15.0-beta.1 com.azure.spring:spring-cloud-azure-resourcemanager;5.14.0;5.15.0-beta.1 com.azure.spring:spring-cloud-azure-service;5.14.0;5.15.0-beta.1 com.azure.spring:spring-cloud-azure-starter-active-directory;5.14.0;5.15.0-beta.1 diff --git a/sdk/boms/spring-cloud-azure-dependencies/pom.xml b/sdk/boms/spring-cloud-azure-dependencies/pom.xml index db5bcceca3df..1cf20b4ddb20 100644 --- a/sdk/boms/spring-cloud-azure-dependencies/pom.xml +++ b/sdk/boms/spring-cloud-azure-dependencies/pom.xml @@ -321,6 +321,11 @@ spring-cloud-azure-starter-jdbc-postgresql ${project.version} + + com.azure.spring + spring-cloud-azure-docker-compose + ${project.version} + com.azure.spring spring-cloud-azure-testcontainers diff --git a/sdk/spring/CHANGELOG.md b/sdk/spring/CHANGELOG.md index bac934085957..4dc0551ba0c7 100644 --- a/sdk/spring/CHANGELOG.md +++ b/sdk/spring/CHANGELOG.md @@ -7,6 +7,7 @@ Upgrade Spring Boot dependencies version to 3.3.2 and Spring Cloud dependencies #### Dependency Updates - Added a new dependency: `spring-cloud-azure-testcontainers`. + - Added a new dependency: `spring-cloud-azure-docker-compose`. ### Spring Cloud Azure Autoconfigure This section includes changes in `spring-cloud-azure-autoconfigure` module. diff --git a/sdk/spring/pom.xml b/sdk/spring/pom.xml index 918cd246b624..247ad70f0842 100644 --- a/sdk/spring/pom.xml +++ b/sdk/spring/pom.xml @@ -29,6 +29,7 @@ spring-cloud-azure-actuator spring-cloud-azure-actuator-autoconfigure spring-cloud-azure-autoconfigure + spring-cloud-azure-docker-compose spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory-b2c spring-cloud-azure-starter-actuator diff --git a/sdk/spring/spring-cloud-azure-docker-compose/CHANGELOG.md b/sdk/spring/spring-cloud-azure-docker-compose/CHANGELOG.md new file mode 100644 index 000000000000..fab7f7687a6e --- /dev/null +++ b/sdk/spring/spring-cloud-azure-docker-compose/CHANGELOG.md @@ -0,0 +1,11 @@ +# Release History + +## 5.14.0-beta.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes diff --git a/sdk/spring/spring-cloud-azure-docker-compose/README.md b/sdk/spring/spring-cloud-azure-docker-compose/README.md new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml new file mode 100644 index 000000000000..d751b0c2b175 --- /dev/null +++ b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml @@ -0,0 +1,198 @@ + + + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + + 4.0.0 + + com.azure.spring + spring-cloud-azure-docker-compose + 5.14.0-beta.1 + + Spring Cloud Azure Docker Compose + Spring Cloud Azure Docker Compose + https://microsoft.github.io/spring-cloud-azure + + + Spring Cloud Azure + SpringIntegSupport@microsoft.com + + + + scm:git:git@github.com:Azure/azure-sdk-for-java.git + scm:git:ssh://git@github.com:Azure/azure-sdk-for-java.git + https://github.com/Azure/azure-sdk-for-java + + + GitHub + https://github.com/Azure/azure-sdk-for-java/issues + + + + + true + + + + com.azure.spring + spring-cloud-azure-autoconfigure + 5.14.0-beta.1 + + + com.azure + azure-spring-data-cosmos + 5.14.0-beta.1 + + + + com.azure + azure-storage-blob + 12.26.1 + + + com.azure + azure-storage-queue + 12.21.1 + + + + org.springframework.boot + spring-boot-docker-compose + 3.3.2 + + + + com.google.code.findbugs + jsr305 + 3.0.2 + provided + + + + org.springframework.boot + spring-boot-test + 3.3.2 + test + + + org.springframework + spring-test + 6.1.11 + test + + + org.junit.jupiter + junit-jupiter + 5.10.3 + test + + + org.assertj + assertj-core + 3.25.3 + test + + + + + + + com.github.spotbugs + spotbugs-maven-plugin + 4.8.2.0 + + true + + + + com.diffplug.spotless + spotless-maven-plugin + 2.30.0 + + true + + + + org.revapi + revapi-maven-plugin + 0.14.6 + + true + + + + com.azure.tools + codesnippet-maven-plugin + 1.0.0-beta.10 + + true + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + + + base-modules-compile + none + + + + base-compile + none + + + + base-testCompile + none + + + + + compile + + + 17 + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.4.1 + + + + + org.springframework.boot:spring-boot-testcontainers:[3.3.2] + org.testcontainers:azure:[1.19.8] + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.4.2 + + + + com.azure.spring.cloud.docker.compose + + + + + + + diff --git a/sdk/spring/spring-cloud-azure-docker-compose/src/main/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactory.java b/sdk/spring/spring-cloud-azure-docker-compose/src/main/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactory.java new file mode 100644 index 000000000000..47033724a117 --- /dev/null +++ b/sdk/spring/spring-cloud-azure-docker-compose/src/main/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactory.java @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.spring.cloud.docker.compose.implementation.service.connection.storage; + +import com.azure.spring.cloud.autoconfigure.implementation.storage.blob.properties.AzureStorageBlobConnectionDetails; +import org.springframework.boot.docker.compose.core.RunningService; +import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; +import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; + +class StorageBlobDockerComposeConnectionDetailsFactory + extends DockerComposeConnectionDetailsFactory { + + private static final int STORAGE_BLOB_PORT = 10_000; + + protected StorageBlobDockerComposeConnectionDetailsFactory() { + super("azure-storage/azurite"); + } + + @Override + protected AzureStorageBlobConnectionDetails getDockerComposeConnectionDetails(DockerComposeConnectionSource source) { + return new StorageBlobContainerConnectionDetails(source.getRunningService()); + } + + /** + * {@link AzureStorageBlobConnectionDetails} backed by a {@code Storage Blob} + * {@link RunningService}. + */ + private static class StorageBlobContainerConnectionDetails extends DockerComposeConnectionDetails + implements AzureStorageBlobConnectionDetails { + + private final String host; + + private final int port; + + StorageBlobContainerConnectionDetails(RunningService service) { + super(service); + this.host = service.host(); + this.port = service.ports().get(STORAGE_BLOB_PORT); + } + + @Override + public String getConnectionString() { + return "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://%s:%d/devstoreaccount1;" + .formatted(this.host, this.port); + } + } +} diff --git a/sdk/spring/spring-cloud-azure-docker-compose/src/main/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactory.java b/sdk/spring/spring-cloud-azure-docker-compose/src/main/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactory.java new file mode 100644 index 000000000000..a06cf0783db4 --- /dev/null +++ b/sdk/spring/spring-cloud-azure-docker-compose/src/main/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactory.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.spring.cloud.docker.compose.implementation.service.connection.storage; + +import com.azure.spring.cloud.autoconfigure.implementation.storage.blob.properties.AzureStorageBlobConnectionDetails; +import com.azure.spring.cloud.autoconfigure.implementation.storage.queue.properties.AzureStorageQueueConnectionDetails; +import org.springframework.boot.docker.compose.core.RunningService; +import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; +import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; + +class StorageQueueDockerComposeConnectionDetailsFactory + extends DockerComposeConnectionDetailsFactory { + + private static final int STORAGE_QUEUE_PORT = 10_001; + + protected StorageQueueDockerComposeConnectionDetailsFactory() { + super("azure-storage/azurite"); + } + + @Override + protected AzureStorageQueueConnectionDetails getDockerComposeConnectionDetails(DockerComposeConnectionSource source) { + return new StorageQueueContainerConnectionDetails(source.getRunningService()); + } + + /** + * {@link AzureStorageBlobConnectionDetails} backed by a {@code Storage Queue} + * {@link RunningService}. + */ + private static class StorageQueueContainerConnectionDetails extends DockerComposeConnectionDetails + implements AzureStorageQueueConnectionDetails { + + private final String host; + + private final int port; + + StorageQueueContainerConnectionDetails(RunningService service) { + super(service); + this.host = service.host(); + this.port = service.ports().get(STORAGE_QUEUE_PORT); + } + + @Override + public String getConnectionString() { + return "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;QueueEndpoint=http://%s:%d/devstoreaccount1;" + .formatted(this.host, this.port); + } + + @Override + public String getEndpoint() { + return "http://%s:%d".formatted(this.host, this.port); + } + } +} diff --git a/sdk/spring/spring-cloud-azure-docker-compose/src/main/resources/META-INF/spring.factories b/sdk/spring/spring-cloud-azure-docker-compose/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000000..17b7623a3151 --- /dev/null +++ b/sdk/spring/spring-cloud-azure-docker-compose/src/main/resources/META-INF/spring.factories @@ -0,0 +1,3 @@ +org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ +com.azure.spring.cloud.docker.compose.implementation.service.connection.storage.StorageBlobDockerComposeConnectionDetailsFactory,\ +com.azure.spring.cloud.docker.compose.implementation.service.connection.storage.StorageQueueDockerComposeConnectionDetailsFactory diff --git a/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactoryTests.java b/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactoryTests.java new file mode 100644 index 000000000000..83a8269f60de --- /dev/null +++ b/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactoryTests.java @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.spring.cloud.docker.compose.implementation.service.connection.storage; + +import com.azure.spring.cloud.autoconfigure.implementation.context.AzureGlobalPropertiesAutoConfiguration; +import com.azure.spring.cloud.autoconfigure.implementation.storage.blob.AzureStorageBlobAutoConfiguration; +import com.azure.spring.cloud.autoconfigure.implementation.storage.blob.AzureStorageBlobResourceAutoConfiguration; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.ImportAutoConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.Resource; +import org.springframework.core.io.WritableResource; +import org.springframework.util.StreamUtils; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.charset.Charset; + +import static org.assertj.core.api.Assertions.assertThat; + +@SpringBootTest(properties = { + "spring.docker.compose.skip.in-tests=false", + "spring.docker.compose.file=classpath:com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/storage-compose.yaml", + "spring.docker.compose.stop.command=down" +}) +class StorageBlobDockerComposeConnectionDetailsFactoryTests { + + @Value("azure-blob://testcontainers/message.txt") + private Resource blobFile; + + @Test + void test() throws IOException { + String originalContent = "Hello World!"; + try (OutputStream os = ((WritableResource) this.blobFile).getOutputStream()) { + os.write(originalContent.getBytes()); + } + String resultContent = StreamUtils.copyToString(this.blobFile.getInputStream(), Charset.defaultCharset()); + assertThat(resultContent).isEqualTo(originalContent); + } + + @Configuration(proxyBeanMethods = false) + @ImportAutoConfiguration(classes = {AzureGlobalPropertiesAutoConfiguration.class, AzureStorageBlobAutoConfiguration.class, AzureStorageBlobResourceAutoConfiguration.class}) + static class Config { + } +} diff --git a/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactoryTests.java b/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactoryTests.java new file mode 100644 index 000000000000..5aff677f3820 --- /dev/null +++ b/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactoryTests.java @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.spring.cloud.docker.compose.implementation.service.connection.storage; + +import com.azure.spring.cloud.autoconfigure.implementation.context.AzureGlobalPropertiesAutoConfiguration; +import com.azure.spring.cloud.autoconfigure.implementation.storage.queue.AzureStorageQueueAutoConfiguration; +import com.azure.storage.queue.QueueClient; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.ImportAutoConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.Configuration; + +import static org.assertj.core.api.Assertions.assertThat; + +@SpringBootTest(properties = { + "spring.docker.compose.skip.in-tests=false", + "spring.docker.compose.file=classpath:com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/storage-compose.yaml", + "spring.docker.compose.stop.command=down", + "spring.cloud.azure.storage.queue.queue-name=devstoreaccount1/tc-queue" +}) +class StorageQueueDockerComposeConnectionDetailsFactoryTests { + + @Autowired + private QueueClient queueClient; + + @Test + void test() { + String message = "Hello World!"; + this.queueClient.create(); + this.queueClient.sendMessage(message); + var messageItem = this.queueClient.receiveMessage(); + assertThat(messageItem.getBody().toString()).isEqualTo(message); + } + + @Configuration + @ImportAutoConfiguration(classes = {AzureGlobalPropertiesAutoConfiguration.class, AzureStorageQueueAutoConfiguration.class}) + static class Config { + } + +} diff --git a/sdk/spring/spring-cloud-azure-docker-compose/src/test/resources/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/storage-compose.yaml b/sdk/spring/spring-cloud-azure-docker-compose/src/test/resources/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/storage-compose.yaml new file mode 100644 index 000000000000..576244a197ef --- /dev/null +++ b/sdk/spring/spring-cloud-azure-docker-compose/src/test/resources/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/storage-compose.yaml @@ -0,0 +1,7 @@ +services: + storage: + image: mcr.microsoft.com/azure-storage/azurite:latest + ports: + - '10000' + - '10001' + command: azurite -l /data --blobHost 0.0.0.0 --queueHost 0.0.0.0 --tableHost 0.0.0.0 --skipApiVersionCheck From ecee2540e89831cced8fbc7202b30c408cf96fdf Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 31 Jul 2024 10:03:46 +0800 Subject: [PATCH 02/14] Fix pipeline failure by adding spring-boot-docker-compose in external_dependencies.txt. --- eng/versioning/external_dependencies.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eng/versioning/external_dependencies.txt b/eng/versioning/external_dependencies.txt index 5fa889153906..0f4de8f53e13 100644 --- a/eng/versioning/external_dependencies.txt +++ b/eng/versioning/external_dependencies.txt @@ -2,7 +2,7 @@ # make sure the version is same to sdk/spring/scripts/spring_boot_2.7.18_managed_external_dependencies.txt # If your version is different from sdk/spring/scripts/spring_boot_2.7.18_managed_external_dependencies.txt, # please discuss with Spring Integration team members: -# @rujche (rujche), @saragluna (xiada), @yiliuTo (yiliu6), @backwind1233 (zhihaoguo). +# @rujche (rujche), @saragluna (xiada). # Thanks. # Format; @@ -505,6 +505,7 @@ springboot3_org.springframework.boot:spring-boot-autoconfigure;3.3.2 springboot3_org.springframework.boot:spring-boot-configuration-metadata;3.3.2 springboot3_org.springframework.boot:spring-boot-configuration-processor;3.3.2 springboot3_org.springframework.boot:spring-boot-dependencies;3.3.2 +springboot3_org.springframework.boot:spring-boot-docker-compose;3.3.2 springboot3_org.springframework.boot:spring-boot-starter-actuator;3.3.2 springboot3_org.springframework.boot:spring-boot-starter-integration;3.3.2 springboot3_org.springframework.boot:spring-boot-starter-parent;3.3.2 From 436d9bb9a7f4aa89303f33e0e3041eac56a53a30 Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 31 Jul 2024 10:13:00 +0800 Subject: [PATCH 03/14] 1. Add "spring-cloud-azure-docker-compose" in dev profile. 2. Change the order about test container related modules. --- sdk/spring/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/spring/pom.xml b/sdk/spring/pom.xml index 247ad70f0842..c04281714cde 100644 --- a/sdk/spring/pom.xml +++ b/sdk/spring/pom.xml @@ -29,7 +29,6 @@ spring-cloud-azure-actuator spring-cloud-azure-actuator-autoconfigure spring-cloud-azure-autoconfigure - spring-cloud-azure-docker-compose spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory-b2c spring-cloud-azure-starter-actuator @@ -61,6 +60,7 @@ spring-cloud-azure-starter-jdbc-mysql spring-cloud-azure-starter-jdbc-postgresql spring-cloud-azure-testcontainers + spring-cloud-azure-docker-compose spring-cloud-azure-integration-tests spring-cloud-azure-integration-test-appconfiguration-config spring-cloud-azure-appconfiguration-config @@ -124,6 +124,7 @@ spring-cloud-azure-starter-jdbc-mysql spring-cloud-azure-starter-jdbc-postgresql spring-cloud-azure-testcontainers + spring-cloud-azure-docker-compose spring-cloud-azure-integration-test-appconfiguration-config spring-cloud-azure-appconfiguration-config spring-cloud-azure-appconfiguration-config-web From 3303a5d05b580590c92cd36339267b4922ed1ed8 Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 31 Jul 2024 10:15:47 +0800 Subject: [PATCH 04/14] Fix the version in spring-cloud-azure-docker-compose CHANGELOG.md. --- sdk/spring/spring-cloud-azure-docker-compose/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/CHANGELOG.md b/sdk/spring/spring-cloud-azure-docker-compose/CHANGELOG.md index fab7f7687a6e..ada153dfb495 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/CHANGELOG.md +++ b/sdk/spring/spring-cloud-azure-docker-compose/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 5.14.0-beta.1 (Unreleased) +## 5.15.0-beta.1 (Unreleased) ### Features Added From f7b4a0c4ace7d1b5a8d5825ee762f7bd5027c952 Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 31 Jul 2024 10:20:34 +0800 Subject: [PATCH 05/14] Fix the version in spring-cloud-azure-docker-compose pom.xml --- sdk/spring/spring-cloud-azure-docker-compose/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml index d751b0c2b175..c2fb59a87c9f 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml +++ b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml @@ -12,7 +12,7 @@ com.azure.spring spring-cloud-azure-docker-compose - 5.14.0-beta.1 + 5.15.0-beta.1 Spring Cloud Azure Docker Compose Spring Cloud Azure Docker Compose From 926aca921b2f14fa5655ec4de6951e697d7edaaf Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 31 Jul 2024 10:23:58 +0800 Subject: [PATCH 06/14] Update version by executing "py eng/versioning/update_versions.py --ut library --bt client --sr". --- sdk/spring/spring-cloud-azure-docker-compose/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml index c2fb59a87c9f..fbcb55d89f87 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml +++ b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml @@ -41,12 +41,12 @@ com.azure.spring spring-cloud-azure-autoconfigure - 5.14.0-beta.1 + 5.15.0-beta.1 com.azure azure-spring-data-cosmos - 5.14.0-beta.1 + 5.15.0-beta.1 From 014dc94cbcad5013b8ef9f34e826ec424c30c0c1 Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 31 Jul 2024 10:44:10 +0800 Subject: [PATCH 07/14] Fix error in bannedDependencies. --- sdk/spring/spring-cloud-azure-docker-compose/pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml index fbcb55d89f87..3832213601a3 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml +++ b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml @@ -174,8 +174,7 @@ - org.springframework.boot:spring-boot-testcontainers:[3.3.2] - org.testcontainers:azure:[1.19.8] + org.springframework.boot:spring-boot-docker-compose:[3.3.2] From bc22e551fff6769f5ef681a0957f5156556d60c5 Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 31 Jul 2024 13:39:37 +0800 Subject: [PATCH 08/14] Make number easier to read by converting 10000 to 10_000. --- .../storage/StorageBlobContainerConnectionDetailsFactory.java | 2 +- .../storage/StorageQueueContainerConnectionDetailsFactory.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/spring/spring-cloud-azure-testcontainers/src/main/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/storage/StorageBlobContainerConnectionDetailsFactory.java b/sdk/spring/spring-cloud-azure-testcontainers/src/main/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/storage/StorageBlobContainerConnectionDetailsFactory.java index 3b84eb44d176..c16f86894541 100644 --- a/sdk/spring/spring-cloud-azure-testcontainers/src/main/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/storage/StorageBlobContainerConnectionDetailsFactory.java +++ b/sdk/spring/spring-cloud-azure-testcontainers/src/main/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/storage/StorageBlobContainerConnectionDetailsFactory.java @@ -11,7 +11,7 @@ class StorageBlobContainerConnectionDetailsFactory extends ContainerConnectionDetailsFactory, AzureStorageBlobConnectionDetails> { - private static final int STORAGE_BLOB_PORT = 10000; + private static final int STORAGE_BLOB_PORT = 10_000; StorageBlobContainerConnectionDetailsFactory() { super("azure-storage/azurite"); diff --git a/sdk/spring/spring-cloud-azure-testcontainers/src/main/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/storage/StorageQueueContainerConnectionDetailsFactory.java b/sdk/spring/spring-cloud-azure-testcontainers/src/main/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/storage/StorageQueueContainerConnectionDetailsFactory.java index 1030e3910755..f0e764dc1da8 100644 --- a/sdk/spring/spring-cloud-azure-testcontainers/src/main/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/storage/StorageQueueContainerConnectionDetailsFactory.java +++ b/sdk/spring/spring-cloud-azure-testcontainers/src/main/java/com/azure/spring/cloud/testcontainers/implementation/service/connection/storage/StorageQueueContainerConnectionDetailsFactory.java @@ -12,7 +12,7 @@ class StorageQueueContainerConnectionDetailsFactory extends ContainerConnectionDetailsFactory, AzureStorageQueueConnectionDetails> { - private static final int STORAGE_QUEUE_PORT = 10001; + private static final int STORAGE_QUEUE_PORT = 10_001; StorageQueueContainerConnectionDetailsFactory() { super("azure-storage/azurite"); From 6b2d77eef4659913e38662816eb67c7400f669db Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 31 Jul 2024 13:48:55 +0800 Subject: [PATCH 09/14] Format codes. --- ...torageBlobDockerComposeConnectionDetailsFactoryTests.java | 5 ++++- ...orageQueueDockerComposeConnectionDetailsFactoryTests.java | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactoryTests.java b/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactoryTests.java index 83a8269f60de..6ffcea861b39 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactoryTests.java +++ b/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageBlobDockerComposeConnectionDetailsFactoryTests.java @@ -42,7 +42,10 @@ void test() throws IOException { } @Configuration(proxyBeanMethods = false) - @ImportAutoConfiguration(classes = {AzureGlobalPropertiesAutoConfiguration.class, AzureStorageBlobAutoConfiguration.class, AzureStorageBlobResourceAutoConfiguration.class}) + @ImportAutoConfiguration(classes = { + AzureGlobalPropertiesAutoConfiguration.class, + AzureStorageBlobAutoConfiguration.class, + AzureStorageBlobResourceAutoConfiguration.class}) static class Config { } } diff --git a/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactoryTests.java b/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactoryTests.java index 5aff677f3820..688a8b7a55fc 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactoryTests.java +++ b/sdk/spring/spring-cloud-azure-docker-compose/src/test/java/com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/StorageQueueDockerComposeConnectionDetailsFactoryTests.java @@ -35,7 +35,9 @@ void test() { } @Configuration - @ImportAutoConfiguration(classes = {AzureGlobalPropertiesAutoConfiguration.class, AzureStorageQueueAutoConfiguration.class}) + @ImportAutoConfiguration(classes = { + AzureGlobalPropertiesAutoConfiguration.class, + AzureStorageQueueAutoConfiguration.class}) static class Config { } From 782174101fab253c853cc20d77a4746bd0e3b206 Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 28 Aug 2024 09:31:59 +0800 Subject: [PATCH 10/14] Upgrade spring-boot-docker-compose's version to 3.3.3. --- sdk/spring/spring-cloud-azure-docker-compose/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml index 3832213601a3..ed11cb6a8e73 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml +++ b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml @@ -63,7 +63,7 @@ org.springframework.boot spring-boot-docker-compose - 3.3.2 + 3.3.3 + org.springframework.boot:spring-boot-docker-compose:[3.3.3] From 9f4f5e87ef0572eaced8ea53f2d2712076cbeeca Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 28 Aug 2024 13:13:49 +0800 Subject: [PATCH 11/14] Fix version error. --- .../spring-cloud-azure-docker-compose/pom.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml index ed11cb6a8e73..ca9cd340355c 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml +++ b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml @@ -12,7 +12,7 @@ com.azure.spring spring-cloud-azure-docker-compose - 5.15.0-beta.1 + 5.16.0-beta.1 Spring Cloud Azure Docker Compose Spring Cloud Azure Docker Compose @@ -41,23 +41,23 @@ com.azure.spring spring-cloud-azure-autoconfigure - 5.15.0-beta.1 + 5.16.0-beta.1 com.azure azure-spring-data-cosmos - 5.15.0-beta.1 + 5.16.0-beta.1 com.azure azure-storage-blob - 12.26.1 + 12.27.1 com.azure azure-storage-queue - 12.21.1 + 12.22.1 @@ -78,13 +78,13 @@ org.springframework.boot spring-boot-test - 3.3.2 + 3.3.3 test org.springframework spring-test - 6.1.11 + 6.1.12 test From 80933c1dc156d3529edf82b4b1fe4eff0e18c47a Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 28 Aug 2024 13:18:09 +0800 Subject: [PATCH 12/14] Add "optional" for Storage sdk dependency. --- sdk/spring/spring-cloud-azure-docker-compose/pom.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml index ca9cd340355c..507b080cd38a 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml +++ b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml @@ -47,17 +47,19 @@ com.azure azure-spring-data-cosmos 5.16.0-beta.1 + true - com.azure azure-storage-blob 12.27.1 + true com.azure azure-storage-queue 12.22.1 + true From a07ec149665fdcf7548813182d403fb1967d0f73 Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 28 Aug 2024 13:24:28 +0800 Subject: [PATCH 13/14] Delete "azure-spring-data-cosmos" because it's not used. --- sdk/spring/spring-cloud-azure-docker-compose/pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml index 507b080cd38a..772f50aae486 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml +++ b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml @@ -43,12 +43,6 @@ spring-cloud-azure-autoconfigure 5.16.0-beta.1 - - com.azure - azure-spring-data-cosmos - 5.16.0-beta.1 - true - com.azure azure-storage-blob From fe9b371e8f97e9d542a31317119bdfbc756b6c1a Mon Sep 17 00:00:00 2001 From: rujche Date: Wed, 28 Aug 2024 13:57:19 +0800 Subject: [PATCH 14/14] Add "optional" for spring-cloud-azure-autoconfigure. --- sdk/spring/spring-cloud-azure-docker-compose/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml index 772f50aae486..8307de727d04 100644 --- a/sdk/spring/spring-cloud-azure-docker-compose/pom.xml +++ b/sdk/spring/spring-cloud-azure-docker-compose/pom.xml @@ -42,6 +42,7 @@ com.azure.spring spring-cloud-azure-autoconfigure 5.16.0-beta.1 + true com.azure