Skip to content

Commit 93bfa0d

Browse files
groldanjodygarnett
authored andcommitted
[1401] Use GeoTools Bill of Materials (BOM) to manage geotools dependency versions
This commit integrates the GeoTools Bill of Materials (gt-bom) into GeoWebCache, centralizing management of GeoTools dependency versions. * Import `org.geotools:gt-bom` in the root `pom.xml`'s `<dependencyManagement>` section. This makes GeoWebCache a direct consumer of GeoTools' curated dependency set. * Remove explicit `<version>${gt.version}</version>` declarations for individual GeoTools artifacts from all module POMs. Versions are now inherited from the imported `gt-bom`. * Remove unused dependency org.freemarker:freemarker * Delegate the following dependency versions to the GeoTools BOM: * apache commons (io, logging, collections, text, dbcp) * guava * h2 * hsqldb * httpclient * imageio-ext * jackson-annotations * jackson-core * jackson-databind * jai_core/codec * jai_imageio * jaiext * jts * log4j-1.2-api * log4j-api * log4j-core * log4j-jcl * log4j-jul * log4j-slf4j2-impl * ojdbc14 * postgresql * slf4j-api
1 parent c1c237e commit 93bfa0d

File tree

9 files changed

+22
-220
lines changed

9 files changed

+22
-220
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
*.settings
33
*.project
44
.factorypath
5+
.pmd
56
bin
67
target
78
.DS_Store

geowebcache/core/pom.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
<dependency>
1919
<groupId>org.geotools</groupId>
2020
<artifactId>gt-metadata</artifactId>
21-
<version>${gt.version}</version>
2221
</dependency>
2322
<dependency>
2423
<groupId>org.apache.commons</groupId>
@@ -125,19 +124,16 @@
125124
<dependency>
126125
<groupId>javax.media</groupId>
127126
<artifactId>jai_core</artifactId>
128-
<version>1.1.3</version>
129127
</dependency>
130128

131129
<dependency>
132130
<groupId>javax.media</groupId>
133131
<artifactId>jai_codec</artifactId>
134-
<version>1.1.3</version>
135132
</dependency>
136133

137134
<dependency>
138135
<groupId>javax.media</groupId>
139136
<artifactId>jai_imageio</artifactId>
140-
<version>1.1</version>
141137
</dependency>
142138

143139
<dependency>

geowebcache/distributed/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
<dependency>
3333
<groupId>org.geotools</groupId>
3434
<artifactId>gt-xml</artifactId>
35-
<version>${gt.version}</version>
3635
</dependency>
3736
<dependency>
3837
<groupId>junit</groupId>

geowebcache/georss/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
<dependency>
3030
<groupId>org.geotools</groupId>
3131
<artifactId>gt-coverage</artifactId>
32-
<version>${gt.version}</version>
3332
</dependency>
3433

3534
<!-- test dependencies -->

geowebcache/mbtiles/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
<dependency>
3030
<groupId>org.geotools</groupId>
3131
<artifactId>gt-mbtiles</artifactId>
32-
<version>${gt.version}</version>
3332
</dependency>
3433

3534
<!-- test dependencies -->

geowebcache/pom.xml

Lines changed: 21 additions & 206 deletions
Original file line numberDiff line numberDiff line change
@@ -52,39 +52,23 @@
5252

5353
<properties>
5454
<gt.version>34-SNAPSHOT</gt.version>
55-
<jts.version>1.20.0</jts.version>
56-
<jaiext.version>1.1.31</jaiext.version>
5755
<spring.version>5.3.39</spring.version>
5856
<spring.security.version>5.7.13</spring.security.version>
5957
<xstream.version>1.4.21</xstream.version>
60-
<commons-io.version>2.19.0</commons-io.version>
61-
<commons-dbcp.version>1.4</commons-dbcp.version>
62-
<commons-collections.version>4.4</commons-collections.version>
6358
<commons-codec.version>1.18.0</commons-codec.version>
64-
<commons-text.version>1.13.0</commons-text.version>
6559
<commons-fileupload.version>1.5</commons-fileupload.version>
66-
<guava.version>33.4.8-jre</guava.version>
6760
<hamcrest.version>3.0</hamcrest.version>
68-
<jsr305.version>3.0.1</jsr305.version>
69-
<log4j.version>2.24.3</log4j.version>
70-
<h2.version>1.1.119</h2.version>
71-
<hsql.version>2.7.1</hsql.version>
72-
<postgresql.version>42.7.7</postgresql.version>
73-
<oracle.version></oracle.version>
7461
<java.awt.headless>true</java.awt.headless>
7562
<jalopy.phase>disabled</jalopy.phase>
7663
<jalopy.srcExcludesPattern>disabled</jalopy.srcExcludesPattern>
7764
<test.maxHeapSize>64M</test.maxHeapSize>
7865
<maven.test.jvmargs></maven.test.jvmargs>
79-
<imageio-ext.version>1.4.15</imageio-ext.version>
8066
<hazelcast.version>5.3.8</hazelcast.version>
8167
<joda-time.version>2.8.1</joda-time.version>
8268
<spotless.action>apply</spotless.action>
8369
<spotless.apply.skip>false</spotless.apply.skip>
8470
<pom.fmt.action>sort</pom.fmt.action>
8571
<pom.fmt.skip>${spotless.apply.skip}</pom.fmt.skip>
86-
<jackson.version>2.19.0</jackson.version>
87-
<jackson.databind.version>${jackson.version}</jackson.databind.version>
8872
<jetty.version>9.4.55.v20240627</jetty.version>
8973
<errorProneFlags></errorProneFlags>
9074
<errorProne.version>2.31.0</errorProne.version>
@@ -102,6 +86,26 @@
10286

10387
<dependencyManagement>
10488
<dependencies>
89+
<!--
90+
Import the GeoTools platform-dependencies BOM to get consistent third-party dependency versions
91+
Provides managed versions for several libraries across projects, such as jackson, commons-logging/pool/lang3/cli/text/dbcp,
92+
JTS, guava, imageio-ext, jai-ext, and more.
93+
-->
94+
<dependency>
95+
<groupId>org.geotools</groupId>
96+
<artifactId>gt-platform-dependencies</artifactId>
97+
<version>${gt.version}</version>
98+
<type>pom</type>
99+
<scope>import</scope>
100+
</dependency>
101+
<!-- Import the GeoTools BOM to have access to all gt artifacts without specifying the version -->
102+
<dependency>
103+
<groupId>org.geotools</groupId>
104+
<artifactId>gt-bom</artifactId>
105+
<version>${gt.version}</version>
106+
<type>pom</type>
107+
<scope>import</scope>
108+
</dependency>
105109
<dependency>
106110
<groupId>org.springframework</groupId>
107111
<artifactId>spring-framework-bom</artifactId>
@@ -132,55 +136,12 @@
132136
<scope>import</scope>
133137
</dependency>
134138

135-
<dependency>
136-
<groupId>org.locationtech.jts</groupId>
137-
<artifactId>jts-core</artifactId>
138-
<version>${jts.version}</version>
139-
<exclusions>
140-
<exclusion>
141-
<artifactId>xercesImpl</artifactId>
142-
<groupId>xerces</groupId>
143-
</exclusion>
144-
</exclusions>
145-
</dependency>
146-
147139
<dependency>
148140
<groupId>javax.servlet</groupId>
149141
<artifactId>javax.servlet-api</artifactId>
150142
<version>3.1.0</version>
151143
<scope>provided</scope>
152144
</dependency>
153-
154-
<dependency>
155-
<groupId>com.google.guava</groupId>
156-
<artifactId>guava</artifactId>
157-
<version>${guava.version}</version>
158-
</dependency>
159-
<dependency>
160-
<groupId>com.google.code.findbugs</groupId>
161-
<artifactId>jsr305</artifactId>
162-
<version>${jsr305.version}</version>
163-
</dependency>
164-
<dependency>
165-
<groupId>commons-dbcp</groupId>
166-
<artifactId>commons-dbcp</artifactId>
167-
<version>${commons-dbcp.version}</version>
168-
</dependency>
169-
<dependency>
170-
<groupId>commons-io</groupId>
171-
<artifactId>commons-io</artifactId>
172-
<version>${commons-io.version}</version>
173-
</dependency>
174-
<dependency>
175-
<groupId>org.apache.commons</groupId>
176-
<artifactId>commons-text</artifactId>
177-
<version>${commons-text.version}</version>
178-
</dependency>
179-
<dependency>
180-
<groupId>org.apache.commons</groupId>
181-
<artifactId>commons-collections4</artifactId>
182-
<version>${commons-collections.version}</version>
183-
</dependency>
184145
<dependency>
185146
<groupId>commons-codec</groupId>
186147
<artifactId>commons-codec</artifactId>
@@ -191,106 +152,6 @@
191152
<artifactId>commons-fileupload</artifactId>
192153
<version>${commons-fileupload.version}</version>
193154
</dependency>
194-
<dependency>
195-
<groupId>org.apache.httpcomponents</groupId>
196-
<artifactId>httpclient</artifactId>
197-
<version>4.5.14</version>
198-
</dependency>
199-
200-
<!-- configure geotools logging -->
201-
<dependency>
202-
<groupId>org.geotools</groupId>
203-
<artifactId>gt-metadata</artifactId>
204-
<version>${gt.version}</version>
205-
</dependency>
206-
<!-- logging dependencies -->
207-
<dependency>
208-
<groupId>org.apache.logging.log4j</groupId>
209-
<artifactId>log4j-api</artifactId>
210-
<version>${log4j.version}</version>
211-
</dependency>
212-
<dependency>
213-
<groupId>org.apache.logging.log4j</groupId>
214-
<artifactId>log4j-core</artifactId>
215-
<version>${log4j.version}</version>
216-
</dependency>
217-
<dependency>
218-
<groupId>org.apache.logging.log4j</groupId>
219-
<artifactId>log4j-1.2-api</artifactId>
220-
<version>${log4j.version}</version>
221-
</dependency>
222-
<dependency>
223-
<groupId>org.apache.logging.log4j</groupId>
224-
<artifactId>log4j-jul</artifactId>
225-
<version>${log4j.version}</version>
226-
</dependency>
227-
<!-- bridge slf4j to log4j -->
228-
<dependency>
229-
<groupId>org.apache.logging.log4j</groupId>
230-
<artifactId>log4j-slf4j2-impl</artifactId>
231-
<version>${log4j.version}</version>
232-
</dependency>
233-
<dependency>
234-
<groupId>org.slf4j</groupId>
235-
<artifactId>slf4j-api</artifactId>
236-
<version>2.0.16</version>
237-
</dependency>
238-
239-
<!-- bridge commons-logging to log4j -->
240-
<dependency>
241-
<groupId>org.apache.logging.log4j</groupId>
242-
<artifactId>log4j-jcl</artifactId>
243-
<version>${log4j.version}</version>
244-
</dependency>
245-
<dependency>
246-
<groupId>commons-logging</groupId>
247-
<artifactId>commons-logging</artifactId>
248-
<version>1.3.5</version>
249-
</dependency>
250-
251-
<dependency>
252-
<groupId>it.geosolutions.jaiext.utilities</groupId>
253-
<artifactId>jt-utilities</artifactId>
254-
<version>${jaiext.version}</version>
255-
</dependency>
256-
<dependency>
257-
<groupId>it.geosolutions.jaiext.colorindexer</groupId>
258-
<artifactId>jt-colorindexer</artifactId>
259-
<version>${jaiext.version}</version>
260-
</dependency>
261-
262-
<!-- PNG Encoder dependencies -->
263-
<dependency>
264-
<groupId>it.geosolutions.imageio-ext</groupId>
265-
<artifactId>imageio-ext-png</artifactId>
266-
<version>${imageio-ext.version}</version>
267-
</dependency>
268-
269-
<dependency>
270-
<groupId>it.geosolutions.imageio-ext</groupId>
271-
<artifactId>imageio-ext-streams</artifactId>
272-
<version>${imageio-ext.version}</version>
273-
</dependency>
274-
275-
<!-- dependency>
276-
<groupId>jcs</groupId>
277-
<artifactId>jcs</artifactId>
278-
<version>1.3</version>
279-
<exclusions>
280-
<exclusion>
281-
<groupId>mysql</groupId>
282-
<artifactId>mysql-connector-java</artifactId>
283-
</exclusion>
284-
<exclusion>
285-
<groupId>berkeleydb</groupId>
286-
<artifactId>berkeleydb</artifactId>
287-
</exclusion>
288-
<exclusion>
289-
<groupId>hsqldb</groupId>
290-
<artifactId>hsqldb</artifactId>
291-
</exclusion>
292-
</exclusions>
293-
</dependency -->
294155

295156
<dependency>
296157
<groupId>junit</groupId>
@@ -366,13 +227,6 @@
366227
<scope>test</scope>
367228
</dependency>
368229

369-
<dependency>
370-
<groupId>org.freemarker</groupId>
371-
<artifactId>freemarker</artifactId>
372-
<version>2.3.18</version>
373-
<!-- track same version than GeoServer -->
374-
</dependency>
375-
376230
<dependency>
377231
<groupId>com.thoughtworks.xstream</groupId>
378232
<artifactId>xstream</artifactId>
@@ -385,30 +239,6 @@
385239
<version>1.5.4</version>
386240
</dependency>
387241

388-
<dependency>
389-
<groupId>com.h2database</groupId>
390-
<artifactId>h2</artifactId>
391-
<version>${h2.version}</version>
392-
</dependency>
393-
394-
<dependency>
395-
<groupId>org.hsqldb</groupId>
396-
<artifactId>hsqldb</artifactId>
397-
<version>${hsql.version}</version>
398-
</dependency>
399-
400-
<dependency>
401-
<groupId>org.postgresql</groupId>
402-
<artifactId>postgresql</artifactId>
403-
<version>${postgresql.version}</version>
404-
</dependency>
405-
406-
<dependency>
407-
<groupId>com.oracle</groupId>
408-
<artifactId>ojdbc14</artifactId>
409-
<version>${oracle.version}</version>
410-
</dependency>
411-
412242
<!-- Berkeley DB JE -->
413243
<dependency>
414244
<groupId>com.sleepycat</groupId>
@@ -424,22 +254,7 @@
424254
<version>${joda-time.version}</version>
425255
</dependency>
426256

427-
<!-- Pin some additional transitive dependencies in S3 module for consistency-->
428-
<dependency>
429-
<groupId>com.fasterxml.jackson.core</groupId>
430-
<artifactId>jackson-databind</artifactId>
431-
<version>${jackson.databind.version}</version>
432-
</dependency>
433-
<dependency>
434-
<groupId>com.fasterxml.jackson.core</groupId>
435-
<artifactId>jackson-annotations</artifactId>
436-
<version>${jackson.version}</version>
437-
</dependency>
438-
<dependency>
439-
<groupId>com.fasterxml.jackson.core</groupId>
440-
<artifactId>jackson-core</artifactId>
441-
<version>${jackson.version}</version>
442-
</dependency>
257+
<!-- Jackson dependencies managed by platform-dependencies BOM -->
443258
<dependency>
444259
<!-- used for tests that require environment variables -->
445260
<groupId>com.github.stefanbirkner</groupId>

geowebcache/rest/pom.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@
2525
<artifactId>javax.servlet-api</artifactId>
2626
<scope>provided</scope>
2727
</dependency>
28-
<dependency>
29-
<groupId>org.freemarker</groupId>
30-
<artifactId>freemarker</artifactId>
31-
</dependency>
3228
<dependency>
3329
<groupId>com.google.guava</groupId>
3430
<artifactId>guava</artifactId>

geowebcache/sqlite/pom.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@
2424
<dependency>
2525
<groupId>org.geotools</groupId>
2626
<artifactId>gt-mbtiles</artifactId>
27-
<version>${gt.version}</version>
2827
</dependency>
2928
<dependency>
3029
<groupId>org.geotools</groupId>
3130
<artifactId>gt-mbtiles</artifactId>
32-
<version>${gt.version}</version>
3331
<classifier>tests</classifier>
3432
<scope>test</scope>
3533
</dependency>

geowebcache/wms/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
<dependency>
2929
<groupId>org.geotools</groupId>
3030
<artifactId>gt-wms</artifactId>
31-
<version>${gt.version}</version>
3231
</dependency>
3332

3433
<dependency>

0 commit comments

Comments
 (0)