Skip to content

Commit 9c8928a

Browse files
authored
Merge pull request #4363 from mapfish/use-catalog
Introduce single version catalog
2 parents c9f35f3 + 114236f commit 9c8928a

5 files changed

Lines changed: 234 additions & 97 deletions

File tree

build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ buildscript {
99
}
1010

1111
plugins {
12-
id("com.github.spotbugs") version "6.4.8"
12+
alias(libs.plugins.spotbugs)
1313
}
1414

1515
defaultTasks 'build'
@@ -26,7 +26,7 @@ allprojects {
2626

2727
configurations.configureEach {
2828
resolutionStrategy {
29-
force 'xml-apis:xml-apis:2.0.2'
29+
force libs.xml.apis
3030
}
3131
}
3232

@@ -49,7 +49,7 @@ configure(subprojects.findAll { ['core', 'examples'].contains(it.name) }) {
4949
}
5050

5151
spotbugs {
52-
toolVersion = "4.9.8" // com.github.spotbugs:spotbugs-annotations
52+
toolVersion = libs.versions.spotbugs.asProvider().get() // com.github.spotbugs:spotbugs-annotations
5353
reportsDir = layout.buildDirectory.dir("reports/SpotBugsReports").get().asFile
5454
effort = Effort.MAX
5555
reportLevel = Confidence.valueOf("HIGH")
@@ -68,7 +68,7 @@ configure(subprojects.findAll { ['core', 'examples'].contains(it.name) }) {
6868

6969
dependencies {
7070
testImplementation(
71-
'org.mockito:mockito-core:5.21.0',
71+
libs.mockito.core,
7272
)
7373
}
7474

core/build.gradle

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -127,95 +127,95 @@ configurations {
127127

128128
dependencies {
129129
implementation(
130-
'org.springframework:spring-context:7.0.8',
131-
'org.springframework:spring-core:7.0.8',
132-
'org.springframework:spring-web:7.0.8',
133-
'org.springframework:spring-webmvc:7.0.8',
134-
'org.springframework:spring-aspects:7.0.8',
135-
'org.springframework:spring-orm:7.0.8',
136-
'org.springframework:spring-jdbc:7.0.8',
137-
'org.springframework:spring-tx:7.0.8',
138-
'org.springframework:spring-test:7.0.8',
139-
'org.springframework.security:spring-security-config:7.1.0',
140-
'org.springframework.security:spring-security-web:7.1.0',
141-
'com.thetransactioncompany:cors-filter:3.1',
142-
'org.hibernate:hibernate-core:6.6.54.Final',
143-
'org.postgresql:postgresql:42.7.13',
144-
'io.hypersistence:hypersistence-utils-hibernate-63:3.15.4',
145-
'com.mchange:c3p0:0.14.1',
146-
'javax.media:jai-core:1.1.3',
147-
'jakarta.annotation:jakarta.annotation-api:3.0.0',
148-
'jakarta.persistence:jakarta.persistence-api:3.2.0',
149-
'jakarta.servlet:jakarta.servlet-api:6.1.0'
130+
libs.spring.context,
131+
libs.spring.core,
132+
libs.spring.web,
133+
libs.spring.webmvc,
134+
libs.spring.aspects,
135+
libs.spring.orm,
136+
libs.spring.jdbc,
137+
libs.spring.tx,
138+
libs.spring.test,
139+
libs.spring.security.config,
140+
libs.spring.security.web,
141+
libs.cors.filter,
142+
libs.hibernate.core,
143+
libs.postgresql,
144+
libs.hypersistence.utils.hibernate63,
145+
libs.c3p0,
146+
libs.jai.core,
147+
libs.jakarta.annotation.api,
148+
libs.jakarta.persistence.api,
149+
libs.jakarta.servlet.api,
150150
)
151151
metrics(
152-
'io.dropwizard.metrics:metrics-core:4.2.39',
153-
'io.dropwizard.metrics:metrics-jakarta-servlet:4.2.39',
154-
'io.dropwizard.metrics:metrics-jakarta-servlets:4.2.39',
155-
'io.dropwizard.metrics:metrics-httpclient:4.2.39',
156-
'io.dropwizard.metrics:metrics-jvm:4.2.39',
157-
'io.dropwizard.metrics:metrics-jmx:4.2.39',
158-
'io.dropwizard.metrics:metrics-logback:4.2.39',
152+
libs.metrics.core,
153+
libs.metrics.jakarta.servlet,
154+
libs.metrics.jakarta.servlets,
155+
libs.metrics.httpclient,
156+
libs.metrics.jvm,
157+
libs.metrics.jmx,
158+
libs.metrics.logback,
159159
)
160160
geotools(
161-
'org.geotools:gt-epsg-hsql:34.2',
162-
'org.geotools:gt-render:34.2',
163-
'org.geotools:gt-geojson:34.2',
164-
'org.geotools:gt-geotiff:34.2',
165-
'org.geotools:gt-wms:34.2',
166-
'org.geotools.xsd:gt-xsd-gml3:34.2',
167-
'org.geotools:gt-svg:34.2',
168-
'org.geotools:gt-cql:34.2',
161+
libs.geotools.gt.epsg.hsql,
162+
libs.geotools.gt.render,
163+
libs.geotools.gt.geojson,
164+
libs.geotools.gt.geotiff,
165+
libs.geotools.gt.wms,
166+
libs.geotools.gt.xsd.gml3,
167+
libs.geotools.gt.svg,
168+
libs.geotools.gt.cql,
169169
)
170-
implementation "org.apache.httpcomponents.client5:httpclient5:5.6.3"
170+
implementation libs.httpclient5
171171
jasper(
172-
'ar.com.fdvs:DynamicJasper:5.3.9',
173-
'com.itextpdf:itextpdf:5.5.13.6',
174-
'net.sf.jasperreports:jasperreports:7.0.7',
175-
'net.sf.jasperreports:jasperreports-excel-poi:7.0.7',
176-
'net.sf.jasperreports:jasperreports-fonts:7.0.7',
177-
'net.sf.jasperreports:jasperreports-functions:7.0.7',
178-
'net.sf.jasperreports:jasperreports-json:7.0.7',
179-
'net.sf.jasperreports:jasperreports-jdt:7.0.7',
180-
'net.sf.jasperreports:jasperreports-pdf:7.0.7',
172+
libs.dynamicjasper,
173+
libs.itextpdf,
174+
libs.jasperreports,
175+
libs.jasperreports.excel.poi,
176+
libs.jasperreports.fonts,
177+
libs.jasperreports.functions,
178+
libs.jasperreports.json,
179+
libs.jasperreports.jdt,
180+
libs.jasperreports.pdf,
181181
)
182182
implementation(
183-
'org.slf4j:slf4j-api:2.0.18',
184-
'org.slf4j:jcl-over-slf4j:2.0.18',
185-
'org.slf4j:jul-to-slf4j:2.0.18',
186-
'ch.qos.logback:logback-classic:1.5.35',
187-
'ch.qos.logback:logback-access:1.5.35',
188-
'org.json:json:20250517',
189-
'org.yaml:snakeyaml:2.5',
190-
'com.github.spullara.cli-parser:cli-parser:1.1.6',
191-
'com.sun.mail:javax.mail:1.6.2',
192-
'com.amazonaws:aws-java-sdk-s3:1.12.797',
193-
'io.sentry:sentry-logback:8.31.0',
183+
libs.slf4j.api,
184+
libs.slf4j.jcl.over.slf4j,
185+
libs.slf4j.jul.to.slf4j,
186+
libs.logback.classic,
187+
libs.logback.access,
188+
libs.json,
189+
libs.snakeyaml,
190+
libs.cli.parser,
191+
libs.javax.mail,
192+
libs.aws.java.sdk.s3,
193+
libs.sentry.logback,
194194
// For JSON logs
195-
'net.logstash.logback:logstash-logback-encoder:9.0',
195+
libs.logstash.logback.encoder,
196196
// For PDF/A
197-
'com.adobe.xmp:xmpcore:6.1.11',
197+
libs.adobe.xmpcore,
198198
// For JasperReports
199-
'joda-time:joda-time:2.14.2',
200-
'org.jfree:jcommon:1.0.24',
201-
'org.apache.groovy:groovy-all:5.0.7',
202-
'xalan:serializer:2.7.3',
199+
libs.joda.time,
200+
libs.jcommon,
201+
libs.groovy.all,
202+
libs.xalan.serializer,
203203
// For WebP images
204-
'com.twelvemonkeys.imageio:imageio-webp:3.13.1',
204+
libs.imageio.webp,
205205
)
206206

207207
implementation(
208-
'org.apache.xmlgraphics:batik-codec:1.19',
209-
'org.apache.xmlgraphics:batik-svg-dom:1.19'
208+
libs.batik.codec,
209+
libs.batik.svg.dom,
210210
)
211211

212-
compileOnly 'com.github.spotbugs:spotbugs-annotations:4.9.8'
212+
compileOnly libs.spotbugs.annotations
213213

214-
testImplementation (
215-
'de.saly:javamail-mock2-fullmock:0.5-beta4',
216-
'com.h2database:h2:2.4.240',
217-
'org.junit.jupiter:junit-jupiter:6.0.3',
218-
'org.junit.jupiter:junit-jupiter-api:6.0.3',
214+
testImplementation(
215+
libs.javamail.mock2.fullmock,
216+
libs.h2,
217+
libs.junit.jupiter,
218+
libs.junit.jupiter.api,
219219
)
220220
}
221221

docs/build.gradle

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ repositories {
1818
dependencies {
1919
implementation project(':core')
2020
implementation (
21-
'org.apache.groovy:groovy-xml:5.0.7',
22-
'org.apache.groovy:groovy-json:5.0.7',
23-
"org.springframework:spring-test:7.0.8",
24-
'org.ccil.cowan.tagsoup:tagsoup:1.2.1',
25-
'com.samskivert:jmustache:1.16',
26-
'com.google.guava:guava:33.5.0-jre',
27-
'commons-io:commons-io:2.21.0',
28-
"org.springframework:spring-beans:7.0.8",
29-
"org.springframework:spring-web:7.0.8",
30-
"org.springframework:spring-context:7.0.8",
21+
libs.groovy.xml,
22+
libs.groovy.json,
23+
libs.spring.test,
24+
libs.tagsoup,
25+
libs.jmustache,
26+
libs.guava,
27+
libs.commons.io,
28+
libs.spring.beans,
29+
libs.spring.web,
30+
libs.spring.context,
3131
)
3232
}
3333

examples/build.gradle

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ repositories {
1313
dependencies {
1414
testImplementation(
1515
project(':core'),
16-
'ch.qos.logback:logback-classic:1.6.3',
17-
'org.springframework:spring-core:7.0.8',
18-
'org.springframework:spring-tx:7.0.8',
19-
'org.springframework:spring-test:7.0.8',
20-
'org.springframework:spring-web:7.0.8',
21-
'org.junit.jupiter:junit-jupiter:6.0.1',
22-
'org.json:json:20250517',
23-
'commons-io:commons-io:2.21.0',
24-
'org.apache.commons:commons-lang3:3.20.0',
25-
"org.locationtech.jts:jts-core:1.18.2",
26-
'org.verapdf:validation-model:1.30.2',
27-
'org.junit.platform:junit-platform-launcher:6.0.1',
16+
libs.logback.classic,
17+
libs.spring.core,
18+
libs.spring.tx,
19+
libs.spring.test,
20+
libs.spring.web,
21+
libs.junit.jupiter,
22+
libs.json,
23+
libs.commons.io,
24+
libs.commons.lang3,
25+
libs.jts.core,
26+
libs.verapdf.validation.model,
27+
libs.junit.platform.launcher,
2828
)
2929
}
3030

gradle/libs.versions.toml

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
[versions]
2+
adobe-xmpcore = "6.1.11"
3+
aws-sdk = "1.12.797"
4+
batik = "1.19"
5+
c3p0 = "0.14.1"
6+
cli-parser = "1.1.6"
7+
commons-io = "2.21.0"
8+
commons-lang3 = "3.20.0"
9+
cors-filter = "3.1"
10+
dynamicjasper = "5.3.9"
11+
geotools = "34.2"
12+
groovy = "5.0.7"
13+
guava = "33.5.0-jre"
14+
h2 = "2.4.240"
15+
hibernate = "6.6.54.Final"
16+
httpclient5 = "5.6.3"
17+
hypersistence-utils = "3.15.4"
18+
imageio-webp = "3.13.1"
19+
itextpdf = "5.5.13.6"
20+
jai-core = "1.1.3"
21+
jakarta-annotation = "3.0.0"
22+
jakarta-persistence = "3.2.0"
23+
jakarta-servlet = "6.1.0"
24+
jasperreports = "7.0.7"
25+
javamail = "1.6.2"
26+
javamail-mock2 = "0.5-beta4"
27+
jcommon = "1.0.24"
28+
jmustache = "1.16"
29+
joda-time = "2.14.2"
30+
json = "20250517"
31+
jts = "1.18.2"
32+
junit = "6.0.3"
33+
junit-platform = "6.0.1"
34+
logback = "1.5.35"
35+
logstash-logback = "9.0"
36+
metrics = "4.2.39"
37+
mockito = "5.21.0"
38+
postgresql = "42.7.13"
39+
sentry = "8.31.0"
40+
slf4j = "2.0.18"
41+
snakeyaml = "2.5"
42+
spotbugs = "4.9.8"
43+
spotbugs-plugin = "6.4.8"
44+
spring = "7.0.8"
45+
spring-security = "7.1.0"
46+
tagsoup = "1.2.1"
47+
verapdf = "1.30.2"
48+
xalan = "2.7.3"
49+
xml-apis = "2.0.2"
50+
51+
[libraries]
52+
adobe-xmpcore = { module = "com.adobe.xmp:xmpcore", version.ref = "adobe-xmpcore" }
53+
aws-java-sdk-s3 = { module = "com.amazonaws:aws-java-sdk-s3", version.ref = "aws-sdk" }
54+
batik-codec = { module = "org.apache.xmlgraphics:batik-codec", version.ref = "batik" }
55+
batik-svg-dom = { module = "org.apache.xmlgraphics:batik-svg-dom", version.ref = "batik" }
56+
c3p0 = { module = "com.mchange:c3p0", version.ref = "c3p0" }
57+
cli-parser = { module = "com.github.spullara.cli-parser:cli-parser", version.ref = "cli-parser" }
58+
commons-io = { module = "commons-io:commons-io", version.ref = "commons-io" }
59+
commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "commons-lang3" }
60+
cors-filter = { module = "com.thetransactioncompany:cors-filter", version.ref = "cors-filter" }
61+
dynamicjasper = { module = "ar.com.fdvs:DynamicJasper", version.ref = "dynamicjasper" }
62+
geotools-gt-cql = { module = "org.geotools:gt-cql", version.ref = "geotools" }
63+
geotools-gt-epsg-hsql = { module = "org.geotools:gt-epsg-hsql", version.ref = "geotools" }
64+
geotools-gt-geojson = { module = "org.geotools:gt-geojson", version.ref = "geotools" }
65+
geotools-gt-geotiff = { module = "org.geotools:gt-geotiff", version.ref = "geotools" }
66+
geotools-gt-render = { module = "org.geotools:gt-render", version.ref = "geotools" }
67+
geotools-gt-svg = { module = "org.geotools:gt-svg", version.ref = "geotools" }
68+
geotools-gt-wms = { module = "org.geotools:gt-wms", version.ref = "geotools" }
69+
geotools-gt-xsd-gml3 = { module = "org.geotools.xsd:gt-xsd-gml3", version.ref = "geotools" }
70+
groovy-all = { module = "org.apache.groovy:groovy-all", version.ref = "groovy" }
71+
groovy-json = { module = "org.apache.groovy:groovy-json", version.ref = "groovy" }
72+
groovy-xml = { module = "org.apache.groovy:groovy-xml", version.ref = "groovy" }
73+
guava = { module = "com.google.guava:guava", version.ref = "guava" }
74+
h2 = { module = "com.h2database:h2", version.ref = "h2" }
75+
hibernate-core = { module = "org.hibernate:hibernate-core", version.ref = "hibernate" }
76+
httpclient5 = { module = "org.apache.httpcomponents.client5:httpclient5", version.ref = "httpclient5" }
77+
hypersistence-utils-hibernate63 = { module = "io.hypersistence:hypersistence-utils-hibernate-63", version.ref = "hypersistence-utils" }
78+
imageio-webp = { module = "com.twelvemonkeys.imageio:imageio-webp", version.ref = "imageio-webp" }
79+
itextpdf = { module = "com.itextpdf:itextpdf", version.ref = "itextpdf" }
80+
jai-core = { module = "javax.media:jai-core", version.ref = "jai-core" }
81+
jakarta-annotation-api = { module = "jakarta.annotation:jakarta.annotation-api", version.ref = "jakarta-annotation" }
82+
jakarta-persistence-api = { module = "jakarta.persistence:jakarta.persistence-api", version.ref = "jakarta-persistence" }
83+
jakarta-servlet-api = { module = "jakarta.servlet:jakarta.servlet-api", version.ref = "jakarta-servlet" }
84+
jasperreports = { module = "net.sf.jasperreports:jasperreports", version.ref = "jasperreports" }
85+
jasperreports-excel-poi = { module = "net.sf.jasperreports:jasperreports-excel-poi", version.ref = "jasperreports" }
86+
jasperreports-fonts = { module = "net.sf.jasperreports:jasperreports-fonts", version.ref = "jasperreports" }
87+
jasperreports-functions = { module = "net.sf.jasperreports:jasperreports-functions", version.ref = "jasperreports" }
88+
jasperreports-jdt = { module = "net.sf.jasperreports:jasperreports-jdt", version.ref = "jasperreports" }
89+
jasperreports-json = { module = "net.sf.jasperreports:jasperreports-json", version.ref = "jasperreports" }
90+
jasperreports-pdf = { module = "net.sf.jasperreports:jasperreports-pdf", version.ref = "jasperreports" }
91+
javax-mail = { module = "com.sun.mail:javax.mail", version.ref = "javamail" }
92+
javamail-mock2-fullmock = { module = "de.saly:javamail-mock2-fullmock", version.ref = "javamail-mock2" }
93+
jcommon = { module = "org.jfree:jcommon", version.ref = "jcommon" }
94+
jmustache = { module = "com.samskivert:jmustache", version.ref = "jmustache" }
95+
joda-time = { module = "joda-time:joda-time", version.ref = "joda-time" }
96+
json = { module = "org.json:json", version.ref = "json" }
97+
jts-core = { module = "org.locationtech.jts:jts-core", version.ref = "jts" }
98+
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }
99+
junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" }
100+
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher", version.ref = "junit-platform" }
101+
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
102+
logback-access = { module = "ch.qos.logback:logback-access", version.ref = "logback" }
103+
logstash-logback-encoder = { module = "net.logstash.logback:logstash-logback-encoder", version.ref = "logstash-logback" }
104+
metrics-core = { module = "io.dropwizard.metrics:metrics-core", version.ref = "metrics" }
105+
metrics-httpclient = { module = "io.dropwizard.metrics:metrics-httpclient", version.ref = "metrics" }
106+
metrics-jakarta-servlet = { module = "io.dropwizard.metrics:metrics-jakarta-servlet", version.ref = "metrics" }
107+
metrics-jakarta-servlets = { module = "io.dropwizard.metrics:metrics-jakarta-servlets", version.ref = "metrics" }
108+
metrics-jmx = { module = "io.dropwizard.metrics:metrics-jmx", version.ref = "metrics" }
109+
metrics-jvm = { module = "io.dropwizard.metrics:metrics-jvm", version.ref = "metrics" }
110+
metrics-logback = { module = "io.dropwizard.metrics:metrics-logback", version.ref = "metrics" }
111+
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" }
112+
postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresql" }
113+
sentry-logback = { module = "io.sentry:sentry-logback", version.ref = "sentry" }
114+
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
115+
slf4j-jcl-over-slf4j = { module = "org.slf4j:jcl-over-slf4j", version.ref = "slf4j" }
116+
slf4j-jul-to-slf4j = { module = "org.slf4j:jul-to-slf4j", version.ref = "slf4j" }
117+
snakeyaml = { module = "org.yaml:snakeyaml", version.ref = "snakeyaml" }
118+
spotbugs-annotations = { module = "com.github.spotbugs:spotbugs-annotations", version.ref = "spotbugs" }
119+
spring-aspects = { module = "org.springframework:spring-aspects", version.ref = "spring" }
120+
spring-beans = { module = "org.springframework:spring-beans", version.ref = "spring" }
121+
spring-context = { module = "org.springframework:spring-context", version.ref = "spring" }
122+
spring-core = { module = "org.springframework:spring-core", version.ref = "spring" }
123+
spring-jdbc = { module = "org.springframework:spring-jdbc", version.ref = "spring" }
124+
spring-orm = { module = "org.springframework:spring-orm", version.ref = "spring" }
125+
spring-security-config = { module = "org.springframework.security:spring-security-config", version.ref = "spring-security" }
126+
spring-security-web = { module = "org.springframework.security:spring-security-web", version.ref = "spring-security" }
127+
spring-test = { module = "org.springframework:spring-test", version.ref = "spring" }
128+
spring-tx = { module = "org.springframework:spring-tx", version.ref = "spring" }
129+
spring-web = { module = "org.springframework:spring-web", version.ref = "spring" }
130+
spring-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "spring" }
131+
tagsoup = { module = "org.ccil.cowan.tagsoup:tagsoup", version.ref = "tagsoup" }
132+
verapdf-validation-model = { module = "org.verapdf:validation-model", version.ref = "verapdf" }
133+
xalan-serializer = { module = "xalan:serializer", version.ref = "xalan" }
134+
xml-apis = { module = "xml-apis:xml-apis", version.ref = "xml-apis" }
135+
136+
[plugins]
137+
spotbugs = { id = "com.github.spotbugs", version.ref = "spotbugs-plugin" }

0 commit comments

Comments
 (0)