Skip to content

Commit 53e682e

Browse files
committed
Import cloud-dependencies-bom for Azure, AWS, and GCS version management
Replace per-module SDK version properties, Netty BOM convergence profile, and Jackson BOM workaround with io.tileverse:cloud-dependencies-bom, which centrally manages cloud SDK versions, Netty exclusions, and dependency convergence across the geospatial Java ecosystem. Removes local aws.version, azure.version properties, the google-cloud libraries-bom import, and the dependencyConvergence profile that manually aligned Netty and Jackson versions. Adds aws-crt-client and azure-core-http-jdk-httpclient as Netty-free HTTP transports. See https://github.com/tileverse-io/cloud-dependencies-bom
1 parent a7d1fc1 commit 53e682e

4 files changed

Lines changed: 32 additions & 90 deletions

File tree

plugin/cog/cog-rangereader-azure/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
<groupId>com.azure</groupId>
2121
<artifactId>azure-storage-blob</artifactId>
2222
</dependency>
23+
<dependency>
24+
<!-- JDK HttpClient, azure-storage-blob has netty excluded -->
25+
<groupId>com.azure</groupId>
26+
<artifactId>azure-core-http-jdk-httpclient</artifactId>
27+
</dependency>
2328
<dependency>
2429
<groupId>org.mockito</groupId>
2530
<artifactId>mockito-core</artifactId>

plugin/cog/cog-rangereader-gs/pom.xml

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,6 @@
1111

1212
<name>Cloud Optimized GeoTIFF Google Storage Range Reader</name>
1313

14-
<dependencyManagement>
15-
<dependencies>
16-
<dependency>
17-
<groupId>com.google.cloud</groupId>
18-
<artifactId>libraries-bom</artifactId>
19-
<version>22.0.0</version>
20-
<type>pom</type>
21-
<scope>import</scope>
22-
</dependency>
23-
</dependencies>
24-
</dependencyManagement>
25-
2614
<dependencies>
2715
<dependency>
2816
<groupId>it.geosolutions.imageio-ext</groupId>

plugin/cog/cog-rangereader-s3/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
<groupId>software.amazon.awssdk</groupId>
2121
<artifactId>s3</artifactId>
2222
</dependency>
23+
<dependency>
24+
<!-- Sync and Async clients alternative, software.amazon.awssdk:s3 has netty excluded -->
25+
<groupId>software.amazon.awssdk</groupId>
26+
<artifactId>aws-crt-client</artifactId>
27+
</dependency>
2328
<dependency>
2429
<groupId>software.amazon.awssdk</groupId>
2530
<artifactId>auth</artifactId>

plugin/cog/pom.xml

Lines changed: 22 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,21 @@
2222
</modules>
2323

2424
<properties>
25+
<cloud-dependencies-bom.version>1.0-M1</cloud-dependencies-bom.version>
2526
<okhttp.version>4.12.0</okhttp.version>
26-
<aws.version>2.27.23</aws.version>
27-
<azure.version>12.27.1</azure.version>
2827
<ehcache.version>3.4.0</ehcache.version>
2928
<online.skip.pattern>**/*OnlineTest.java</online.skip.pattern>
3029
</properties>
3130

3231
<dependencyManagement>
3332
<dependencies>
33+
<dependency>
34+
<groupId>io.tileverse</groupId>
35+
<artifactId>cloud-dependencies-bom</artifactId>
36+
<version>${cloud-dependencies-bom.version}</version>
37+
<type>pom</type>
38+
<scope>import</scope>
39+
</dependency>
3440
<dependency>
3541
<groupId>it.geosolutions.imageio-ext</groupId>
3642
<artifactId>imageio-ext-tiff</artifactId>
@@ -71,87 +77,25 @@
7177
<artifactId>okhttp</artifactId>
7278
<version>${okhttp.version}</version>
7379
</dependency>
74-
<dependency>
75-
<groupId>software.amazon.awssdk</groupId>
76-
<artifactId>s3</artifactId>
77-
<version>${aws.version}</version>
78-
</dependency>
79-
<dependency>
80-
<groupId>software.amazon.awssdk</groupId>
81-
<artifactId>auth</artifactId>
82-
<version>${aws.version}</version>
83-
</dependency>
84-
<dependency>
85-
<groupId>software.amazon.awssdk</groupId>
86-
<artifactId>sts</artifactId>
87-
<version>${aws.version}</version>
88-
</dependency>
8980
<dependency>
9081
<groupId>org.ehcache</groupId>
9182
<artifactId>ehcache</artifactId>
9283
<version>${ehcache.version}</version>
9384
</dependency>
94-
<dependency>
95-
<groupId>com.azure</groupId>
96-
<artifactId>azure-storage-blob</artifactId>
97-
<version>${azure.version}</version>
98-
</dependency>
9985
</dependencies>
10086
</dependencyManagement>
101-
102-
<profiles>
103-
<profile>
104-
<!--
105-
Converges the netty dependency version from cog-rangereader-s3 and cog-rangereader-azure
106-
to a common version that works with both, so that both plugins can co-exist without
107-
adding netty libs with slightly different versions to the dependencies.
108-
109-
From cog-rangereader-azure:
110-
111-
com.azure:azure-storage-blob:jar:12.27.1
112-
+- com.azure:azure-core-http-netty:jar:1.15.3
113-
+- io.netty:netty-handler:jar:4.1.110.Final
114-
115-
From cog-rangereader-s3:
116-
software.amazon.awssdk:s3:jar:2.24.13
117-
+- software.amazon.awssdk:netty-nio-client:jar:2.24.13
118-
+- io.netty:netty-codec-http:jar:4.1.107.Final
119-
120-
Similarly, converges the Jackson dependency versions from cog-rangereader-gs and
121-
cog-rangereader-azure:
122-
123-
From cog-rangereader-gs:
124-
com.google.cloud:google-cloud-storage:jar:2.1.0
125-
+- com.fasterxml.jackson.core:jackson-core:jar:2.12.4
126-
127-
From cog-rangereader-azure:
128-
com.azure:azure-storage-blob:jar:12.27.1
129-
+- com.azure:azure-core:jar:1.51.0
130-
+- com.fasterxml.jackson.core:jackson-core:jar:2.17.2
131-
+- com.fasterxml.jackson.core:jackson-databind:jar:2.17.2
132-
-->
133-
<id>dependencyConvergence</id>
134-
<activation>
135-
<activeByDefault>true</activeByDefault>
136-
</activation>
137-
<dependencyManagement>
138-
<dependencies>
139-
<dependency>
140-
<groupId>io.netty</groupId>
141-
<artifactId>netty-bom</artifactId>
142-
<version>4.1.113.Final</version>
143-
<type>pom</type>
144-
<scope>import</scope>
145-
</dependency>
146-
<dependency>
147-
<groupId>com.fasterxml.jackson</groupId>
148-
<artifactId>jackson-bom</artifactId>
149-
<version>2.19.0</version>
150-
<type>pom</type>
151-
<scope>import</scope>
152-
</dependency>
153-
</dependencies>
154-
</dependencyManagement>
155-
</profile>
156-
</profiles>
87+
<repositories>
88+
<repository>
89+
<!-- in case of a SNAPSHOT cloud-dependencies-bom.version property value -->
90+
<releases>
91+
<enabled>false</enabled>
92+
</releases>
93+
<snapshots>
94+
<enabled>true</enabled>
95+
</snapshots>
96+
<id>central-portal-snapshots</id>
97+
<name>Central Portal Snapshots</name>
98+
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
99+
</repository>
100+
</repositories>
157101
</project>

0 commit comments

Comments
 (0)