blob: b79b4a65815f0ae85ad7095ebf29da20d1ff221f [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[bot]a378e612022-12-17 09:26:01 +010058 <compiler-plugin.version>3.10.1</compiler-plugin.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010059 <failsafe-plugin.version>${surefire-plugin.version}</failsafe-plugin.version>
renovate[bot]a378e612022-12-17 09:26:01 +010060 <flatten-plugin.version>1.3.0</flatten-plugin.version>
61 <jar-plugin.version>3.3.0</jar-plugin.version>
renovate[bot]543aae62022-12-16 20:56:30 +010062 <maven-scm-plugin.version>2.0.0-M3</maven-scm-plugin.version>
renovate[bot]66168562022-12-17 09:20:41 +010063 <maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
renovate[bot]a378e612022-12-17 09:26:01 +010064 <maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
renovate[bot]617af7e2022-12-17 09:20:31 +010065 <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
renovate[bot]a378e612022-12-17 09:26:01 +010066 <nexus-staging-plugin.version>1.6.13</nexus-staging-plugin.version>
67 <spotless-plugin.version>2.28.0</spotless-plugin.version>
68 <surefire-plugin.version>3.0.0-M7</surefire-plugin.version>
69 <versions-plugin.version>2.14.1</versions-plugin.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010070
71 <apiguardian.version>1.1.2</apiguardian.version>
renovate[bot]a378e612022-12-17 09:26:01 +010072 <errorprone.version>2.16</errorprone.version>
73 <error-prone-support.version>0.6.0</error-prone-support.version>
Matthias Andreas Benkard12a24932022-04-15 20:43:32 +020074 <google-java-format.version>1.15.0</google-java-format.version>
75 <inject-resources.version>0.3.2</inject-resources.version>
renovate[bot]a378e612022-12-17 09:26:01 +010076 <jetbrains-annotations.version>23.1.0</jetbrains-annotations.version>
Matthias Andreas Benkard119011d2022-09-03 19:01:22 +020077 <junit-jupiter.version>5.9.0</junit-jupiter.version>
renovate[bot]32823db2022-12-16 20:56:15 +010078 <nullaway.version>0.10.5</nullaway.version>
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +010079 <xz.version>1.9</xz.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010080 </properties>
81
82 <distributionManagement>
83 <snapshotRepository>
84 <id>ossrh</id>
85 <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
86 </snapshotRepository>
87 </distributionManagement>
88
89 <dependencyManagement>
90 <dependencies>
91 <!-- Annotations -->
92 <dependency>
93 <groupId>com.google.errorprone</groupId>
94 <artifactId>error_prone_annotations</artifactId>
95 <version>${errorprone.version}</version>
96 </dependency>
97 <dependency>
98 <groupId>org.jetbrains</groupId>
99 <artifactId>annotations</artifactId>
100 <version>${jetbrains-annotations.version}</version>
101 </dependency>
102 <dependency>
103 <groupId>org.apiguardian</groupId>
104 <artifactId>apiguardian-api</artifactId>
105 <version>${apiguardian.version}</version>
106 </dependency>
107
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +0100108 <!-- OSTree compression support -->
109 <dependency>
110 <groupId>org.tukaani</groupId>
111 <artifactId>xz</artifactId>
Matthias Andreas Benkarde236b4d2022-03-01 13:51:01 +0100112 <version>${xz.version}</version>
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +0100113 </dependency>
114
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100115 <!-- Testing -->
116 <dependency>
117 <groupId>org.junit.jupiter</groupId>
118 <artifactId>junit-jupiter-engine</artifactId>
119 <version>${junit-jupiter.version}</version>
120 <scope>test</scope>
121 </dependency>
122 <dependency>
123 <groupId>org.junit.jupiter</groupId>
124 <artifactId>junit-jupiter-api</artifactId>
125 <version>${junit-jupiter.version}</version>
126 <scope>test</scope>
127 </dependency>
Matthias Andreas Benkard4e8423d2021-12-19 22:56:09 +0100128 <dependency>
129 <groupId>io.hosuaby</groupId>
130 <artifactId>inject-resources-junit-jupiter</artifactId>
131 <version>${inject-resources.version}</version>
132 <scope>test</scope>
133 </dependency>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100134 </dependencies>
135 </dependencyManagement>
136
137 <build>
138
139 <pluginManagement>
140
141 <plugins>
142
143 <plugin>
144 <artifactId>maven-surefire-plugin</artifactId>
145 <version>${surefire-plugin.version}</version>
146 <configuration>
147 <argLine>
148 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100149 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100150 </argLine>
151 </configuration>
152 </plugin>
153
154 <plugin>
155 <artifactId>maven-failsafe-plugin</artifactId>
156 <version>${failsafe-plugin.version}</version>
157 <configuration>
158 <argLine>
159 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100160 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100161 </argLine>
162 </configuration>
163 </plugin>
164
165 <plugin>
166 <artifactId>maven-compiler-plugin</artifactId>
167 <version>${compiler-plugin.version}</version>
168 <configuration>
169 <fork>true</fork>
Matthias Andreas Benkard91dbd742022-10-17 19:38:56 +0200170 <showWarnings>true</showWarnings>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100171 <compilerArgs>
172 <arg>-XDcompilePolicy=simple</arg>
Matthias Andreas Benkard91dbd742022-10-17 19:38:56 +0200173 <arg>-Xplugin:ErrorProne -Xep:InvalidParam:OFF -Xep:CollectorMutability:OFF -Xep:LexicographicalAnnotationListing:OFF -XepOpt:NullAway:AnnotatedPackages=eu.mulk</arg>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100174 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100175 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100176 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
177 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
178 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
179 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
180 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
181 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
182 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
183 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
184 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
185 </compilerArgs>
186 <annotationProcessorPaths>
187 <path>
188 <groupId>com.google.errorprone</groupId>
189 <artifactId>error_prone_core</artifactId>
190 <version>${errorprone.version}</version>
191 </path>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100192 <path>
Matthias Andreas Benkard91dbd742022-10-17 19:38:56 +0200193 <groupId>tech.picnic.error-prone-support</groupId>
194 <artifactId>error-prone-contrib</artifactId>
195 <version>${error-prone-support.version}</version>
196 </path>
197 <path>
198 <groupId>tech.picnic.error-prone-support</groupId>
199 <artifactId>refaster-runner</artifactId>
200 <version>${error-prone-support.version}</version>
201 </path>
202 <path>
203 <groupId>com.uber.nullaway</groupId>
204 <artifactId>nullaway</artifactId>
205 <version>${nullaway.version}</version>
Matthias Andreas Benkard9006e702022-03-01 13:43:50 +0100206 </path>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100207 </annotationProcessorPaths>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100208 </configuration>
209 </plugin>
210
211 <plugin>
212 <artifactId>maven-jar-plugin</artifactId>
213 <version>${jar-plugin.version}</version>
214 </plugin>
215
216 <plugin>
217 <groupId>org.codehaus.mojo</groupId>
218 <artifactId>versions-maven-plugin</artifactId>
219 <version>${versions-plugin.version}</version>
220 </plugin>
221
222 <plugin>
223 <groupId>org.apache.maven.plugins</groupId>
224 <artifactId>maven-scm-plugin</artifactId>
225 <version>${maven-scm-plugin.version}</version>
226 <configuration>
227 <tag>v${project.version}</tag>
228 <connectionType>developerConnection</connectionType>
229 </configuration>
230 </plugin>
231
Matthias Andreas Benkard143a64b2022-03-01 14:24:12 +0100232 <plugin>
233 <groupId>org.codehaus.mojo</groupId>
234 <artifactId>flatten-maven-plugin</artifactId>
235 <version>${flatten-plugin.version}</version>
236 <executions>
237 <execution>
238 <id>flatten</id>
239 <phase>process-resources</phase>
240 <goals>
241 <goal>flatten</goal>
242 </goals>
243 </execution>
244 <execution>
245 <id>flatten.clean</id>
246 <phase>clean</phase>
247 <goals>
248 <goal>clean</goal>
249 </goals>
250 </execution>
251 </executions>
252 </plugin>
253
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100254 </plugins>
255
256 </pluginManagement>
257
258 <plugins>
259
260 <plugin>
261 <groupId>com.diffplug.spotless</groupId>
262 <artifactId>spotless-maven-plugin</artifactId>
263 <version>${spotless-plugin.version}</version>
264 <configuration>
265 <java>
266 <removeUnusedImports/>
267 <importOrder>
268 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
269 </importOrder>
270 <googleJavaFormat>
271 <version>${google-java-format.version}</version>
272 <style>GOOGLE</style>
273 </googleJavaFormat>
274 </java>
275 </configuration>
276 </plugin>
277
278 <plugin>
279 <groupId>org.sonatype.plugins</groupId>
280 <artifactId>nexus-staging-maven-plugin</artifactId>
281 <version>${nexus-staging-plugin.version}</version>
282 <extensions>true</extensions>
283 <configuration>
284 <serverId>ossrh</serverId>
285 <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
286 <autoReleaseAfterClose>true</autoReleaseAfterClose>
287 </configuration>
288 </plugin>
289
Matthias Andreas Benkard143a64b2022-03-01 14:24:12 +0100290 <plugin>
291 <groupId>org.codehaus.mojo</groupId>
292 <artifactId>flatten-maven-plugin</artifactId>
293 <configuration>
294 <flattenMode>oss</flattenMode>
295 <flattenDependencyMode>all</flattenDependencyMode>
296 <pomElements>
297 <distributionManagement>flatten</distributionManagement>
298 </pomElements>
299 </configuration>
300 </plugin>
301
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100302 </plugins>
303 </build>
304
305 <profiles>
306
307 <profile>
308 <id>release</id>
309
310 <build>
311 <plugins>
312
313 <plugin>
314 <groupId>org.apache.maven.plugins</groupId>
315 <artifactId>maven-source-plugin</artifactId>
316 <version>${maven-source-plugin.version}</version>
317 <executions>
318 <execution>
319 <id>attach-sources</id>
320 <goals>
321 <goal>jar-no-fork</goal>
322 </goals>
323 </execution>
324 </executions>
325 </plugin>
326
327 <plugin>
328 <groupId>org.apache.maven.plugins</groupId>
329 <artifactId>maven-javadoc-plugin</artifactId>
330 <version>${maven-javadoc-plugin.version}</version>
331 <executions>
332 <execution>
333 <id>attach-javadocs</id>
334 <goals>
335 <goal>jar</goal>
336 </goals>
337 </execution>
338 </executions>
339 </plugin>
340
341 <plugin>
342 <groupId>org.apache.maven.plugins</groupId>
343 <artifactId>maven-gpg-plugin</artifactId>
344 <version>${maven-gpg-plugin.version}</version>
345 <configuration>
346 <keyname>code@mulk.eu</keyname>
347 </configuration>
348 <executions>
349 <execution>
350 <id>sign-artifacts</id>
351 <phase>verify</phase>
352 <goals>
353 <goal>sign</goal>
354 </goals>
355 </execution>
356 </executions>
357 </plugin>
358
359 </plugins>
360 </build>
361 </profile>
362
363 </profiles>
364
365</project>