blob: 90ffcb7daaa2cb180b1e6e99e0ca14e6ccd645a2 [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 Benkardeac6ed72022-10-09 19:40:50 +020016 <version>0.1.8-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>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010059 <failsafe-plugin.version>${surefire-plugin.version}</failsafe-plugin.version>
Renovate Bot0106bc02023-05-09 21:01:17 +000060 <flatten-plugin.version>1.5.0</flatten-plugin.version>
renovate[bot]a378e612022-12-17 09:26:01 +010061 <jar-plugin.version>3.3.0</jar-plugin.version>
Renovate Bot20de5222023-05-18 16:01:20 +000062 <maven-scm-plugin.version>2.0.1</maven-scm-plugin.version>
Renovate Botbed2d5e2023-05-08 11:02:39 +000063 <maven-gpg-plugin.version>3.1.0</maven-gpg-plugin.version>
Renovate Botf59652b2023-11-06 22:01:57 +000064 <maven-javadoc-plugin.version>3.6.2</maven-javadoc-plugin.version>
Renovate Bot44b0a682023-05-21 09:01:36 +000065 <maven-source-plugin.version>3.3.0</maven-source-plugin.version>
renovate[bot]a378e612022-12-17 09:26:01 +010066 <nexus-staging-plugin.version>1.6.13</nexus-staging-plugin.version>
Renovate Bot289037f2023-09-29 01:01:40 +000067 <spotless-plugin.version>2.40.0</spotless-plugin.version>
Renovate Botf59652b2023-11-06 22:01:57 +000068 <surefire-plugin.version>3.2.2</surefire-plugin.version>
Renovate Bot3df0c0c2023-11-17 01:02:13 +000069 <versions-plugin.version>2.16.2</versions-plugin.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010070
71 <apiguardian.version>1.1.2</apiguardian.version>
Renovate Bot60bc1f22023-10-18 19:01:50 +000072 <errorprone.version>2.23.0</errorprone.version>
Matthias Andreas Benkard12a24932022-04-15 20:43:32 +020073 <google-java-format.version>1.15.0</google-java-format.version>
Renovate Bot126844b2023-05-28 13:01:36 +000074 <inject-resources.version>0.3.3</inject-resources.version>
Renovate Bot11fe66b2023-11-15 12:02:19 +000075 <jetbrains-annotations.version>24.1.0</jetbrains-annotations.version>
Renovate Bot9376aaa2023-11-05 18:02:05 +000076 <junit-jupiter.version>5.10.1</junit-jupiter.version>
Renovate Botd43d1fd2023-11-01 23:01:52 +000077 <nullaway.version>0.10.16</nullaway.version>
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +010078 <xz.version>1.9</xz.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010079 </properties>
80
81 <distributionManagement>
82 <snapshotRepository>
83 <id>ossrh</id>
84 <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
85 </snapshotRepository>
86 </distributionManagement>
87
88 <dependencyManagement>
89 <dependencies>
90 <!-- Annotations -->
91 <dependency>
92 <groupId>com.google.errorprone</groupId>
93 <artifactId>error_prone_annotations</artifactId>
94 <version>${errorprone.version}</version>
95 </dependency>
96 <dependency>
97 <groupId>org.jetbrains</groupId>
98 <artifactId>annotations</artifactId>
99 <version>${jetbrains-annotations.version}</version>
100 </dependency>
101 <dependency>
102 <groupId>org.apiguardian</groupId>
103 <artifactId>apiguardian-api</artifactId>
104 <version>${apiguardian.version}</version>
105 </dependency>
106
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +0100107 <!-- OSTree compression support -->
108 <dependency>
109 <groupId>org.tukaani</groupId>
110 <artifactId>xz</artifactId>
Matthias Andreas Benkarde236b4d2022-03-01 13:51:01 +0100111 <version>${xz.version}</version>
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +0100112 </dependency>
113
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100114 <!-- Testing -->
115 <dependency>
116 <groupId>org.junit.jupiter</groupId>
117 <artifactId>junit-jupiter-engine</artifactId>
118 <version>${junit-jupiter.version}</version>
119 <scope>test</scope>
120 </dependency>
121 <dependency>
122 <groupId>org.junit.jupiter</groupId>
123 <artifactId>junit-jupiter-api</artifactId>
124 <version>${junit-jupiter.version}</version>
125 <scope>test</scope>
126 </dependency>
Matthias Andreas Benkard4e8423d2021-12-19 22:56:09 +0100127 <dependency>
128 <groupId>io.hosuaby</groupId>
129 <artifactId>inject-resources-junit-jupiter</artifactId>
130 <version>${inject-resources.version}</version>
131 <scope>test</scope>
132 </dependency>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100133 </dependencies>
134 </dependencyManagement>
135
136 <build>
137
138 <pluginManagement>
139
140 <plugins>
141
142 <plugin>
143 <artifactId>maven-surefire-plugin</artifactId>
144 <version>${surefire-plugin.version}</version>
145 <configuration>
146 <argLine>
147 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100148 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100149 </argLine>
150 </configuration>
151 </plugin>
152
153 <plugin>
154 <artifactId>maven-failsafe-plugin</artifactId>
155 <version>${failsafe-plugin.version}</version>
156 <configuration>
157 <argLine>
158 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100159 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100160 </argLine>
161 </configuration>
162 </plugin>
163
164 <plugin>
165 <artifactId>maven-compiler-plugin</artifactId>
166 <version>${compiler-plugin.version}</version>
167 <configuration>
168 <fork>true</fork>
Matthias Andreas Benkard91dbd742022-10-17 19:38:56 +0200169 <showWarnings>true</showWarnings>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100170 <compilerArgs>
171 <arg>-XDcompilePolicy=simple</arg>
Matthias Benkardd0d05c32023-01-12 18:54:04 +0000172 <arg>-Xplugin:ErrorProne -Xep:InvalidParam:OFF -XepOpt:NullAway:AnnotatedPackages=eu.mulk</arg>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100173 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100174 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100175 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
176 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
177 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
178 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
179 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
180 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
181 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
182 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
183 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
184 </compilerArgs>
185 <annotationProcessorPaths>
186 <path>
187 <groupId>com.google.errorprone</groupId>
188 <artifactId>error_prone_core</artifactId>
189 <version>${errorprone.version}</version>
190 </path>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100191 <path>
Matthias Andreas Benkard91dbd742022-10-17 19:38:56 +0200192 <groupId>com.uber.nullaway</groupId>
193 <artifactId>nullaway</artifactId>
194 <version>${nullaway.version}</version>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100195 </path>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100196 </annotationProcessorPaths>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100197 </configuration>
198 </plugin>
199
200 <plugin>
201 <artifactId>maven-jar-plugin</artifactId>
202 <version>${jar-plugin.version}</version>
203 </plugin>
204
205 <plugin>
206 <groupId>org.codehaus.mojo</groupId>
207 <artifactId>versions-maven-plugin</artifactId>
208 <version>${versions-plugin.version}</version>
209 </plugin>
210
211 <plugin>
212 <groupId>org.apache.maven.plugins</groupId>
213 <artifactId>maven-scm-plugin</artifactId>
214 <version>${maven-scm-plugin.version}</version>
215 <configuration>
216 <tag>v${project.version}</tag>
217 <connectionType>developerConnection</connectionType>
218 </configuration>
219 </plugin>
220
Matthias Andreas Benkard143a64b2022-03-01 14:24:12 +0100221 <plugin>
222 <groupId>org.codehaus.mojo</groupId>
223 <artifactId>flatten-maven-plugin</artifactId>
224 <version>${flatten-plugin.version}</version>
225 <executions>
226 <execution>
227 <id>flatten</id>
228 <phase>process-resources</phase>
229 <goals>
230 <goal>flatten</goal>
231 </goals>
232 </execution>
233 <execution>
234 <id>flatten.clean</id>
235 <phase>clean</phase>
236 <goals>
237 <goal>clean</goal>
238 </goals>
239 </execution>
240 </executions>
241 </plugin>
242
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100243 </plugins>
244
245 </pluginManagement>
246
247 <plugins>
248
249 <plugin>
250 <groupId>com.diffplug.spotless</groupId>
251 <artifactId>spotless-maven-plugin</artifactId>
252 <version>${spotless-plugin.version}</version>
253 <configuration>
254 <java>
255 <removeUnusedImports/>
256 <importOrder>
257 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
258 </importOrder>
259 <googleJavaFormat>
260 <version>${google-java-format.version}</version>
261 <style>GOOGLE</style>
262 </googleJavaFormat>
263 </java>
264 </configuration>
265 </plugin>
266
267 <plugin>
268 <groupId>org.sonatype.plugins</groupId>
269 <artifactId>nexus-staging-maven-plugin</artifactId>
270 <version>${nexus-staging-plugin.version}</version>
271 <extensions>true</extensions>
272 <configuration>
273 <serverId>ossrh</serverId>
274 <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
275 <autoReleaseAfterClose>true</autoReleaseAfterClose>
276 </configuration>
277 </plugin>
278
Matthias Andreas Benkard143a64b2022-03-01 14:24:12 +0100279 <plugin>
280 <groupId>org.codehaus.mojo</groupId>
281 <artifactId>flatten-maven-plugin</artifactId>
282 <configuration>
283 <flattenMode>oss</flattenMode>
284 <flattenDependencyMode>all</flattenDependencyMode>
285 <pomElements>
286 <distributionManagement>flatten</distributionManagement>
287 </pomElements>
288 </configuration>
289 </plugin>
290
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100291 </plugins>
292 </build>
293
294 <profiles>
295
296 <profile>
297 <id>release</id>
298
299 <build>
300 <plugins>
301
302 <plugin>
303 <groupId>org.apache.maven.plugins</groupId>
304 <artifactId>maven-source-plugin</artifactId>
305 <version>${maven-source-plugin.version}</version>
306 <executions>
307 <execution>
308 <id>attach-sources</id>
309 <goals>
310 <goal>jar-no-fork</goal>
311 </goals>
312 </execution>
313 </executions>
314 </plugin>
315
316 <plugin>
317 <groupId>org.apache.maven.plugins</groupId>
318 <artifactId>maven-javadoc-plugin</artifactId>
319 <version>${maven-javadoc-plugin.version}</version>
320 <executions>
321 <execution>
322 <id>attach-javadocs</id>
323 <goals>
324 <goal>jar</goal>
325 </goals>
326 </execution>
327 </executions>
328 </plugin>
329
330 <plugin>
331 <groupId>org.apache.maven.plugins</groupId>
332 <artifactId>maven-gpg-plugin</artifactId>
333 <version>${maven-gpg-plugin.version}</version>
334 <configuration>
335 <keyname>code@mulk.eu</keyname>
336 </configuration>
337 <executions>
338 <execution>
339 <id>sign-artifacts</id>
340 <phase>verify</phase>
341 <goals>
342 <goal>sign</goal>
343 </goals>
344 </execution>
345 </executions>
346 </plugin>
347
348 </plugins>
349 </build>
350 </profile>
351
352 </profiles>
353
354</project>