blob: f5937b060ced8ad65d22011928f27fe5840e0c2f [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 Benkardfde50642023-12-12 19:39:25 +010016 <version>0.1.9-SNAPSHOT</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 Bot32fc95b2023-03-06 06:01:26 +000058 <compiler-plugin.version>3.11.0</compiler-plugin.version>
Renovate Botd1c75b22023-12-05 21:04:44 +000059 <exec-plugin.version>3.1.1</exec-plugin.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010060 <failsafe-plugin.version>${surefire-plugin.version}</failsafe-plugin.version>
Renovate Bot0106bc02023-05-09 21:01:17 +000061 <flatten-plugin.version>1.5.0</flatten-plugin.version>
renovate[bot]a378e612022-12-17 09:26:01 +010062 <jar-plugin.version>3.3.0</jar-plugin.version>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010063 <jpackage-plugin.version>0.1.5</jpackage-plugin.version>
Renovate Bot20de5222023-05-18 16:01:20 +000064 <maven-scm-plugin.version>2.0.1</maven-scm-plugin.version>
Renovate Botbed2d5e2023-05-08 11:02:39 +000065 <maven-gpg-plugin.version>3.1.0</maven-gpg-plugin.version>
Renovate Botfc17e892023-12-03 20:02:55 +000066 <maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
Renovate Bot44b0a682023-05-21 09:01:36 +000067 <maven-source-plugin.version>3.3.0</maven-source-plugin.version>
Renovate Botd1c75b22023-12-05 21:04:44 +000068 <native-plugin.version>0.9.28</native-plugin.version>
renovate[bot]a378e612022-12-17 09:26:01 +010069 <nexus-staging-plugin.version>1.6.13</nexus-staging-plugin.version>
Renovate Botfe42f322023-12-04 05:03:09 +000070 <spotless-plugin.version>2.41.1</spotless-plugin.version>
Renovate Bot2ca8f5d2023-12-13 11:04:20 +000071 <surefire-plugin.version>3.2.3</surefire-plugin.version>
Renovate Bot3df0c0c2023-11-17 01:02:13 +000072 <versions-plugin.version>2.16.2</versions-plugin.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010073
74 <apiguardian.version>1.1.2</apiguardian.version>
Renovate Bot60bc1f22023-10-18 19:01:50 +000075 <errorprone.version>2.23.0</errorprone.version>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010076 <guava.version>32.1.3-jre</guava.version>
Renovate Bot126844b2023-05-28 13:01:36 +000077 <inject-resources.version>0.3.3</inject-resources.version>
Renovate Bot11fe66b2023-11-15 12:02:19 +000078 <jetbrains-annotations.version>24.1.0</jetbrains-annotations.version>
Matthias Andreas Benkarddf853ef2023-12-10 20:29:35 +010079 <jqwik.version>1.8.2</jqwik.version>
Renovate Bot9376aaa2023-11-05 18:02:05 +000080 <junit-jupiter.version>5.10.1</junit-jupiter.version>
Renovate Bote9ab00b2023-11-30 21:03:27 +000081 <nullaway.version>0.10.18</nullaway.version>
Matthias Andreas Benkard7ab11892023-12-13 18:22:18 +010082 <parsson.version>1.1.5</parsson.version>
Renovate Botd1c75b22023-12-05 21:04:44 +000083 <picocli.version>4.7.5</picocli.version>
84 <yasson.version>3.0.3</yasson.version>
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +010085 <xz.version>1.9</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>
109 <groupId>org.apiguardian</groupId>
110 <artifactId>apiguardian-api</artifactId>
111 <version>${apiguardian.version}</version>
112 </dependency>
113
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +0100114 <!-- OSTree compression support -->
115 <dependency>
116 <groupId>org.tukaani</groupId>
117 <artifactId>xz</artifactId>
Matthias Andreas Benkarde236b4d2022-03-01 13:51:01 +0100118 <version>${xz.version}</version>
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +0100119 </dependency>
120
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100121 <!-- Command line tooling -->
122 <dependency>
123 <groupId>info.picocli</groupId>
124 <artifactId>picocli</artifactId>
125 <version>${picocli.version}</version>
126 </dependency>
127
128 <!-- JSON -->
129 <dependency>
130 <groupId>org.eclipse</groupId>
131 <artifactId>yasson</artifactId>
132 <version>${yasson.version}</version>
133 </dependency>
Matthias Andreas Benkard7ab11892023-12-13 18:22:18 +0100134 <dependency>
135 <groupId>org.eclipse.parsson</groupId>
136 <artifactId>parsson</artifactId>
137 <version>${parsson.version}</version>
138 </dependency>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100139
140 <!-- Guava -->
141 <dependency>
142 <groupId>com.google.guava</groupId>
143 <artifactId>guava</artifactId>
144 <version>${guava.version}</version>
145 </dependency>
146
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100147 <!-- Testing -->
148 <dependency>
149 <groupId>org.junit.jupiter</groupId>
150 <artifactId>junit-jupiter-engine</artifactId>
151 <version>${junit-jupiter.version}</version>
152 <scope>test</scope>
153 </dependency>
154 <dependency>
155 <groupId>org.junit.jupiter</groupId>
156 <artifactId>junit-jupiter-api</artifactId>
157 <version>${junit-jupiter.version}</version>
158 <scope>test</scope>
159 </dependency>
Matthias Andreas Benkard4e8423d2021-12-19 22:56:09 +0100160 <dependency>
161 <groupId>io.hosuaby</groupId>
162 <artifactId>inject-resources-junit-jupiter</artifactId>
163 <version>${inject-resources.version}</version>
164 <scope>test</scope>
165 </dependency>
Matthias Andreas Benkarddf853ef2023-12-10 20:29:35 +0100166 <dependency>
167 <groupId>net.jqwik</groupId>
168 <artifactId>jqwik</artifactId>
169 <version>${jqwik.version}</version>
170 <scope>test</scope>
171 </dependency>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100172 </dependencies>
173 </dependencyManagement>
174
175 <build>
176
177 <pluginManagement>
178
179 <plugins>
180
181 <plugin>
182 <artifactId>maven-surefire-plugin</artifactId>
183 <version>${surefire-plugin.version}</version>
184 <configuration>
185 <argLine>
186 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100187 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100188 </argLine>
189 </configuration>
190 </plugin>
191
192 <plugin>
193 <artifactId>maven-failsafe-plugin</artifactId>
194 <version>${failsafe-plugin.version}</version>
195 <configuration>
196 <argLine>
197 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100198 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100199 </argLine>
200 </configuration>
201 </plugin>
202
203 <plugin>
204 <artifactId>maven-compiler-plugin</artifactId>
205 <version>${compiler-plugin.version}</version>
206 <configuration>
207 <fork>true</fork>
Matthias Andreas Benkardce8df372023-12-07 19:36:08 +0100208 <parameters>true</parameters>
Matthias Andreas Benkard91dbd742022-10-17 19:38:56 +0200209 <showWarnings>true</showWarnings>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100210 <compilerArgs>
211 <arg>-XDcompilePolicy=simple</arg>
Matthias Benkardd0d05c32023-01-12 18:54:04 +0000212 <arg>-Xplugin:ErrorProne -Xep:InvalidParam:OFF -XepOpt:NullAway:AnnotatedPackages=eu.mulk</arg>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100213 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100214 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100215 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
216 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
217 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
218 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
219 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
220 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
221 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
222 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
223 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
224 </compilerArgs>
225 <annotationProcessorPaths>
226 <path>
227 <groupId>com.google.errorprone</groupId>
228 <artifactId>error_prone_core</artifactId>
229 <version>${errorprone.version}</version>
230 </path>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100231 <path>
Matthias Andreas Benkard91dbd742022-10-17 19:38:56 +0200232 <groupId>com.uber.nullaway</groupId>
233 <artifactId>nullaway</artifactId>
234 <version>${nullaway.version}</version>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100235 </path>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100236 </annotationProcessorPaths>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100237 </configuration>
238 </plugin>
239
240 <plugin>
241 <artifactId>maven-jar-plugin</artifactId>
242 <version>${jar-plugin.version}</version>
243 </plugin>
244
245 <plugin>
246 <groupId>org.codehaus.mojo</groupId>
247 <artifactId>versions-maven-plugin</artifactId>
248 <version>${versions-plugin.version}</version>
249 </plugin>
250
251 <plugin>
252 <groupId>org.apache.maven.plugins</groupId>
253 <artifactId>maven-scm-plugin</artifactId>
254 <version>${maven-scm-plugin.version}</version>
255 <configuration>
256 <tag>v${project.version}</tag>
257 <connectionType>developerConnection</connectionType>
258 </configuration>
259 </plugin>
260
Matthias Andreas Benkard143a64b2022-03-01 14:24:12 +0100261 <plugin>
262 <groupId>org.codehaus.mojo</groupId>
263 <artifactId>flatten-maven-plugin</artifactId>
264 <version>${flatten-plugin.version}</version>
265 <executions>
266 <execution>
267 <id>flatten</id>
268 <phase>process-resources</phase>
269 <goals>
270 <goal>flatten</goal>
271 </goals>
272 </execution>
273 <execution>
274 <id>flatten.clean</id>
275 <phase>clean</phase>
276 <goals>
277 <goal>clean</goal>
278 </goals>
279 </execution>
280 </executions>
281 </plugin>
282
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100283 <plugin>
Matthias Andreas Benkard40bd44a2023-12-05 21:48:46 +0100284 <groupId>org.codehaus.mojo</groupId>
285 <artifactId>exec-maven-plugin</artifactId>
286 <version>${exec-plugin.version}</version>
287 </plugin>
288
289 <plugin>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100290 <groupId>org.graalvm.buildtools</groupId>
291 <artifactId>native-maven-plugin</artifactId>
292 <version>${native-plugin.version}</version>
293 </plugin>
294
295 <plugin>
296 <groupId>com.github.akman</groupId>
297 <artifactId>jpackage-maven-plugin</artifactId>
298 <version>${jpackage-plugin.version}</version>
299 </plugin>
300
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100301 </plugins>
302
303 </pluginManagement>
304
305 <plugins>
306
307 <plugin>
308 <groupId>com.diffplug.spotless</groupId>
309 <artifactId>spotless-maven-plugin</artifactId>
310 <version>${spotless-plugin.version}</version>
311 <configuration>
312 <java>
313 <removeUnusedImports/>
314 <importOrder>
315 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
316 </importOrder>
317 <googleJavaFormat>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100318 <style>GOOGLE</style>
319 </googleJavaFormat>
320 </java>
321 </configuration>
322 </plugin>
323
324 <plugin>
325 <groupId>org.sonatype.plugins</groupId>
326 <artifactId>nexus-staging-maven-plugin</artifactId>
327 <version>${nexus-staging-plugin.version}</version>
328 <extensions>true</extensions>
329 <configuration>
330 <serverId>ossrh</serverId>
331 <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
332 <autoReleaseAfterClose>true</autoReleaseAfterClose>
333 </configuration>
334 </plugin>
335
Matthias Andreas Benkard143a64b2022-03-01 14:24:12 +0100336 <plugin>
337 <groupId>org.codehaus.mojo</groupId>
338 <artifactId>flatten-maven-plugin</artifactId>
339 <configuration>
340 <flattenMode>oss</flattenMode>
341 <flattenDependencyMode>all</flattenDependencyMode>
342 <pomElements>
343 <distributionManagement>flatten</distributionManagement>
344 </pomElements>
345 </configuration>
346 </plugin>
347
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100348 </plugins>
349 </build>
350
351 <profiles>
352
353 <profile>
354 <id>release</id>
355
356 <build>
357 <plugins>
358
359 <plugin>
360 <groupId>org.apache.maven.plugins</groupId>
361 <artifactId>maven-source-plugin</artifactId>
362 <version>${maven-source-plugin.version}</version>
363 <executions>
364 <execution>
365 <id>attach-sources</id>
366 <goals>
367 <goal>jar-no-fork</goal>
368 </goals>
369 </execution>
370 </executions>
371 </plugin>
372
373 <plugin>
374 <groupId>org.apache.maven.plugins</groupId>
375 <artifactId>maven-javadoc-plugin</artifactId>
376 <version>${maven-javadoc-plugin.version}</version>
377 <executions>
378 <execution>
379 <id>attach-javadocs</id>
380 <goals>
381 <goal>jar</goal>
382 </goals>
383 </execution>
384 </executions>
385 </plugin>
386
387 <plugin>
388 <groupId>org.apache.maven.plugins</groupId>
389 <artifactId>maven-gpg-plugin</artifactId>
390 <version>${maven-gpg-plugin.version}</version>
391 <configuration>
Matthias Andreas Benkard3887e3f2023-12-12 19:13:11 +0100392 <keyname>44DD0CEE515E547A0ABAB1D24F2E30DF0A270EFB</keyname>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100393 </configuration>
394 <executions>
395 <execution>
396 <id>sign-artifacts</id>
397 <phase>verify</phase>
398 <goals>
399 <goal>sign</goal>
400 </goals>
401 </execution>
402 </executions>
403 </plugin>
404
405 </plugins>
406 </build>
407 </profile>
408
409 </profiles>
410
411</project>