blob: d54362461785d6c11201c0d4880870c939a82a19 [file] [log] [blame]
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +01001<?xml version="1.0" encoding="UTF-8"?>
Matthias Andreas Benkardb5d657a2022-02-03 21:14:30 +01002
3<!--
4SPDX-FileCopyrightText: © 2021 Matthias Andreas Benkard <code@mail.matthias.benkard.de>
5
6SPDX-License-Identifier: LGPL-3.0-or-later
7-->
8
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +01009<project
10 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
11 xmlns="http://maven.apache.org/POM/4.0.0"
12 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
13
14 <modelVersion>4.0.0</modelVersion>
15
Matthias Andreas Benkard15310a22024-07-22 06:34:17 +020016 <version>0.1.10</version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010017
18 <groupId>eu.mulk.jgvariant</groupId>
19 <artifactId>jgvariant-parent</artifactId>
20 <packaging>pom</packaging>
21
22 <name>JGVariant Parent</name>
23 <url>https://gerrit.benkard.de/plugins/gitiles/jgvariant</url>
24
25 <description>
26 Parent POM of the JGVariant library.
27 </description>
28
29 <licenses>
30 <license>
31 <name>GNU Lesser General Public License v3.0 or later</name>
32 <url>https://www.gnu.org/licenses/lgpl-3.0.html</url>
33 </license>
34 </licenses>
35
36 <developers>
37 <developer>
38 <name>Matthias Benkard</name>
39 <email>code@mulk.eu</email>
40 <organization>Matthias Benkard</organization>
41 <organizationUrl>https://matthias.benkard.de</organizationUrl>
42 </developer>
43 </developers>
44
45 <scm>
46 <connection>scm:git:https://gerrit.benkard.de/jgvariant</connection>
47 <developerConnection>scm:git:ssh://gerrit.benkard.de:29418/jgvariant</developerConnection>
48 <url>https://gerrit.benkard.de/plugins/gitiles/jgvariant</url>
49 </scm>
50
51 <properties>
52 <maven.compiler.parameters>true</maven.compiler.parameters>
53 <maven.compiler.release>17</maven.compiler.release>
54
55 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
56 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
57
Renovate Bot03c27252024-03-18 19:03:14 +000058 <compiler-plugin.version>3.13.0</compiler-plugin.version>
Renovate Botec351d32024-10-22 08:04:29 +000059 <exec-plugin.version>3.5.0</exec-plugin.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010060 <failsafe-plugin.version>${surefire-plugin.version}</failsafe-plugin.version>
Renovate Botfe1ec7b2024-01-14 12:02:50 +000061 <flatten-plugin.version>1.6.0</flatten-plugin.version>
Renovate Bot96aadaf2024-07-07 21:05:16 +000062 <jar-plugin.version>3.4.2</jar-plugin.version>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010063 <jpackage-plugin.version>0.1.5</jpackage-plugin.version>
Renovate Bot469edb52024-04-14 10:04:01 +000064 <maven-scm-plugin.version>2.1.0</maven-scm-plugin.version>
Renovate Bot2ef1c2b2024-09-27 15:02:58 +000065 <maven-gpg-plugin.version>3.2.7</maven-gpg-plugin.version>
Renovate Bot61bf67e2024-11-02 21:04:43 +000066 <maven-javadoc-plugin.version>3.11.1</maven-javadoc-plugin.version>
Renovate Bot60812282024-04-04 20:04:01 +000067 <maven-source-plugin.version>3.3.1</maven-source-plugin.version>
Renovate Bot03fc18b2024-09-10 11:02:43 +000068 <native-plugin.version>0.10.3</native-plugin.version>
Renovate Botccff0432024-05-27 18:02:28 +000069 <nexus-staging-plugin.version>1.7.0</nexus-staging-plugin.version>
Renovate Bot01fa4732024-01-23 08:03:07 +000070 <spotless-plugin.version>2.43.0</spotless-plugin.version>
Renovate Bot61bf67e2024-11-02 21:04:43 +000071 <surefire-plugin.version>3.5.2</surefire-plugin.version>
Renovate Botd64d8a32024-11-13 21:02:02 +000072 <versions-plugin.version>2.18.0</versions-plugin.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010073
74 <apiguardian.version>1.1.2</apiguardian.version>
Renovate Bot59db4992024-11-19 01:02:41 +000075 <errorprone.version>2.36.0</errorprone.version>
Renovate Botd2293da2024-08-07 23:02:57 +000076 <inject-resources.version>0.3.5</inject-resources.version>
Renovate Bot5744ba42024-11-19 01:02:51 +000077 <jetbrains-annotations.version>26.0.1</jetbrains-annotations.version>
Renovate Bot48cb3f42024-09-30 09:03:14 +000078 <jqwik.version>1.9.1</jqwik.version>
Matthias Andreas Benkard15456c82024-07-20 10:52:54 +020079 <jspecify.version>1.0.0</jspecify.version>
Renovate Bot8d0929b2024-10-21 14:04:58 +000080 <junit-jupiter.version>5.11.3</junit-jupiter.version>
Renovate Botf00e0512024-10-30 19:33:00 +000081 <nullaway.version>0.12.1</nullaway.version>
Renovate Botd2293da2024-08-07 23:02:57 +000082 <parsson.version>1.1.7</parsson.version>
Renovate Bote378e7a2024-05-07 23:04:01 +000083 <picocli.version>4.7.6</picocli.version>
Renovate Botd2293da2024-08-07 23:02:57 +000084 <yasson.version>3.0.4</yasson.version>
85 <xz.version>1.10</xz.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010086 </properties>
87
88 <distributionManagement>
89 <snapshotRepository>
90 <id>ossrh</id>
91 <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
92 </snapshotRepository>
93 </distributionManagement>
94
95 <dependencyManagement>
96 <dependencies>
97 <!-- Annotations -->
98 <dependency>
99 <groupId>com.google.errorprone</groupId>
100 <artifactId>error_prone_annotations</artifactId>
101 <version>${errorprone.version}</version>
102 </dependency>
103 <dependency>
104 <groupId>org.jetbrains</groupId>
105 <artifactId>annotations</artifactId>
106 <version>${jetbrains-annotations.version}</version>
107 </dependency>
108 <dependency>
Matthias Andreas Benkard15456c82024-07-20 10:52:54 +0200109 <groupId>org.jspecify</groupId>
110 <artifactId>jspecify</artifactId>
111 <version>${jspecify.version}</version>
112 </dependency>
113 <dependency>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100114 <groupId>org.apiguardian</groupId>
115 <artifactId>apiguardian-api</artifactId>
116 <version>${apiguardian.version}</version>
117 </dependency>
118
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +0100119 <!-- OSTree compression support -->
120 <dependency>
121 <groupId>org.tukaani</groupId>
122 <artifactId>xz</artifactId>
Matthias Andreas Benkarde236b4d2022-03-01 13:51:01 +0100123 <version>${xz.version}</version>
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +0100124 </dependency>
125
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100126 <!-- Command line tooling -->
127 <dependency>
128 <groupId>info.picocli</groupId>
129 <artifactId>picocli</artifactId>
130 <version>${picocli.version}</version>
131 </dependency>
132
133 <!-- JSON -->
134 <dependency>
135 <groupId>org.eclipse</groupId>
136 <artifactId>yasson</artifactId>
137 <version>${yasson.version}</version>
138 </dependency>
Matthias Andreas Benkard7ab11892023-12-13 18:22:18 +0100139 <dependency>
140 <groupId>org.eclipse.parsson</groupId>
141 <artifactId>parsson</artifactId>
142 <version>${parsson.version}</version>
143 </dependency>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100144
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100145 <!-- Testing -->
146 <dependency>
147 <groupId>org.junit.jupiter</groupId>
148 <artifactId>junit-jupiter-engine</artifactId>
149 <version>${junit-jupiter.version}</version>
150 <scope>test</scope>
151 </dependency>
152 <dependency>
153 <groupId>org.junit.jupiter</groupId>
154 <artifactId>junit-jupiter-api</artifactId>
155 <version>${junit-jupiter.version}</version>
156 <scope>test</scope>
157 </dependency>
Matthias Andreas Benkard4e8423d2021-12-19 22:56:09 +0100158 <dependency>
159 <groupId>io.hosuaby</groupId>
160 <artifactId>inject-resources-junit-jupiter</artifactId>
161 <version>${inject-resources.version}</version>
162 <scope>test</scope>
163 </dependency>
Matthias Andreas Benkarddf853ef2023-12-10 20:29:35 +0100164 <dependency>
165 <groupId>net.jqwik</groupId>
166 <artifactId>jqwik</artifactId>
167 <version>${jqwik.version}</version>
168 <scope>test</scope>
169 </dependency>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100170 </dependencies>
171 </dependencyManagement>
172
173 <build>
174
175 <pluginManagement>
176
177 <plugins>
178
179 <plugin>
180 <artifactId>maven-surefire-plugin</artifactId>
181 <version>${surefire-plugin.version}</version>
182 <configuration>
183 <argLine>
184 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100185 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100186 </argLine>
187 </configuration>
188 </plugin>
189
190 <plugin>
191 <artifactId>maven-failsafe-plugin</artifactId>
192 <version>${failsafe-plugin.version}</version>
193 <configuration>
194 <argLine>
195 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100196 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100197 </argLine>
198 </configuration>
199 </plugin>
200
201 <plugin>
202 <artifactId>maven-compiler-plugin</artifactId>
203 <version>${compiler-plugin.version}</version>
204 <configuration>
205 <fork>true</fork>
Matthias Andreas Benkardce8df372023-12-07 19:36:08 +0100206 <parameters>true</parameters>
Matthias Andreas Benkard91dbd742022-10-17 19:38:56 +0200207 <showWarnings>true</showWarnings>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100208 <compilerArgs>
209 <arg>-XDcompilePolicy=simple</arg>
Matthias Benkardd0d05c32023-01-12 18:54:04 +0000210 <arg>-Xplugin:ErrorProne -Xep:InvalidParam:OFF -XepOpt:NullAway:AnnotatedPackages=eu.mulk</arg>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100211 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100212 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100213 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
214 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
215 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
216 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
217 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
218 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
219 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
220 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
221 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
Matthias Andreas Benkarda1869042024-11-20 19:37:13 +0100222 <arg>--should-stop=ifError=FLOW</arg>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100223 </compilerArgs>
224 <annotationProcessorPaths>
225 <path>
226 <groupId>com.google.errorprone</groupId>
227 <artifactId>error_prone_core</artifactId>
228 <version>${errorprone.version}</version>
229 </path>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100230 <path>
Matthias Andreas Benkard91dbd742022-10-17 19:38:56 +0200231 <groupId>com.uber.nullaway</groupId>
232 <artifactId>nullaway</artifactId>
233 <version>${nullaway.version}</version>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100234 </path>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100235 </annotationProcessorPaths>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100236 </configuration>
237 </plugin>
238
239 <plugin>
240 <artifactId>maven-jar-plugin</artifactId>
241 <version>${jar-plugin.version}</version>
242 </plugin>
243
244 <plugin>
245 <groupId>org.codehaus.mojo</groupId>
246 <artifactId>versions-maven-plugin</artifactId>
247 <version>${versions-plugin.version}</version>
248 </plugin>
249
250 <plugin>
251 <groupId>org.apache.maven.plugins</groupId>
252 <artifactId>maven-scm-plugin</artifactId>
253 <version>${maven-scm-plugin.version}</version>
254 <configuration>
255 <tag>v${project.version}</tag>
256 <connectionType>developerConnection</connectionType>
257 </configuration>
258 </plugin>
259
Matthias Andreas Benkard143a64b2022-03-01 14:24:12 +0100260 <plugin>
261 <groupId>org.codehaus.mojo</groupId>
262 <artifactId>flatten-maven-plugin</artifactId>
263 <version>${flatten-plugin.version}</version>
264 <executions>
265 <execution>
266 <id>flatten</id>
267 <phase>process-resources</phase>
268 <goals>
269 <goal>flatten</goal>
270 </goals>
271 </execution>
272 <execution>
273 <id>flatten.clean</id>
274 <phase>clean</phase>
275 <goals>
276 <goal>clean</goal>
277 </goals>
278 </execution>
279 </executions>
280 </plugin>
281
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100282 <plugin>
Matthias Andreas Benkard40bd44a2023-12-05 21:48:46 +0100283 <groupId>org.codehaus.mojo</groupId>
284 <artifactId>exec-maven-plugin</artifactId>
285 <version>${exec-plugin.version}</version>
286 </plugin>
287
288 <plugin>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100289 <groupId>org.graalvm.buildtools</groupId>
290 <artifactId>native-maven-plugin</artifactId>
291 <version>${native-plugin.version}</version>
292 </plugin>
293
294 <plugin>
295 <groupId>com.github.akman</groupId>
296 <artifactId>jpackage-maven-plugin</artifactId>
297 <version>${jpackage-plugin.version}</version>
298 </plugin>
299
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100300 </plugins>
301
302 </pluginManagement>
303
304 <plugins>
305
306 <plugin>
307 <groupId>com.diffplug.spotless</groupId>
308 <artifactId>spotless-maven-plugin</artifactId>
309 <version>${spotless-plugin.version}</version>
310 <configuration>
311 <java>
312 <removeUnusedImports/>
313 <importOrder>
314 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
315 </importOrder>
316 <googleJavaFormat>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100317 <style>GOOGLE</style>
318 </googleJavaFormat>
319 </java>
320 </configuration>
321 </plugin>
322
323 <plugin>
324 <groupId>org.sonatype.plugins</groupId>
325 <artifactId>nexus-staging-maven-plugin</artifactId>
326 <version>${nexus-staging-plugin.version}</version>
327 <extensions>true</extensions>
328 <configuration>
329 <serverId>ossrh</serverId>
330 <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
331 <autoReleaseAfterClose>true</autoReleaseAfterClose>
332 </configuration>
333 </plugin>
334
Matthias Andreas Benkard143a64b2022-03-01 14:24:12 +0100335 <plugin>
336 <groupId>org.codehaus.mojo</groupId>
337 <artifactId>flatten-maven-plugin</artifactId>
338 <configuration>
339 <flattenMode>oss</flattenMode>
340 <flattenDependencyMode>all</flattenDependencyMode>
341 <pomElements>
342 <distributionManagement>flatten</distributionManagement>
343 </pomElements>
344 </configuration>
345 </plugin>
346
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100347 </plugins>
348 </build>
349
350 <profiles>
351
352 <profile>
353 <id>release</id>
354
355 <build>
356 <plugins>
357
358 <plugin>
359 <groupId>org.apache.maven.plugins</groupId>
360 <artifactId>maven-source-plugin</artifactId>
361 <version>${maven-source-plugin.version}</version>
362 <executions>
363 <execution>
364 <id>attach-sources</id>
365 <goals>
366 <goal>jar-no-fork</goal>
367 </goals>
368 </execution>
369 </executions>
370 </plugin>
371
372 <plugin>
373 <groupId>org.apache.maven.plugins</groupId>
374 <artifactId>maven-javadoc-plugin</artifactId>
375 <version>${maven-javadoc-plugin.version}</version>
376 <executions>
377 <execution>
378 <id>attach-javadocs</id>
379 <goals>
380 <goal>jar</goal>
381 </goals>
382 </execution>
383 </executions>
384 </plugin>
385
386 <plugin>
387 <groupId>org.apache.maven.plugins</groupId>
388 <artifactId>maven-gpg-plugin</artifactId>
389 <version>${maven-gpg-plugin.version}</version>
390 <configuration>
Matthias Andreas Benkard3887e3f2023-12-12 19:13:11 +0100391 <keyname>44DD0CEE515E547A0ABAB1D24F2E30DF0A270EFB</keyname>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100392 </configuration>
393 <executions>
394 <execution>
395 <id>sign-artifacts</id>
396 <phase>verify</phase>
397 <goals>
398 <goal>sign</goal>
399 </goals>
400 </execution>
401 </executions>
402 </plugin>
403
404 </plugins>
405 </build>
406 </profile>
407
408 </profiles>
409
410</project>