blob: a5b330f119eaba43e1ebf36c8ba1ee5b6b33c359 [file] [log] [blame]
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +01001<?xml version="1.0" encoding="UTF-8"?>
2<project
3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
4 xmlns="http://maven.apache.org/POM/4.0.0"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
6
7 <modelVersion>4.0.0</modelVersion>
8
Matthias Andreas Benkard19d4af82021-12-28 01:44:00 +01009 <version>0.1.5-SNAPSHOT</version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010010
11 <groupId>eu.mulk.jgvariant</groupId>
12 <artifactId>jgvariant-parent</artifactId>
13 <packaging>pom</packaging>
14
15 <name>JGVariant Parent</name>
16 <url>https://gerrit.benkard.de/plugins/gitiles/jgvariant</url>
17
18 <description>
19 Parent POM of the JGVariant library.
20 </description>
21
22 <licenses>
23 <license>
24 <name>GNU Lesser General Public License v3.0 or later</name>
25 <url>https://www.gnu.org/licenses/lgpl-3.0.html</url>
26 </license>
27 </licenses>
28
29 <developers>
30 <developer>
31 <name>Matthias Benkard</name>
32 <email>code@mulk.eu</email>
33 <organization>Matthias Benkard</organization>
34 <organizationUrl>https://matthias.benkard.de</organizationUrl>
35 </developer>
36 </developers>
37
38 <scm>
39 <connection>scm:git:https://gerrit.benkard.de/jgvariant</connection>
40 <developerConnection>scm:git:ssh://gerrit.benkard.de:29418/jgvariant</developerConnection>
41 <url>https://gerrit.benkard.de/plugins/gitiles/jgvariant</url>
42 </scm>
43
44 <properties>
45 <maven.compiler.parameters>true</maven.compiler.parameters>
46 <maven.compiler.release>17</maven.compiler.release>
47
48 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
49 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
50
51 <compiler-plugin.version>3.8.1</compiler-plugin.version>
52 <failsafe-plugin.version>${surefire-plugin.version}</failsafe-plugin.version>
53 <jar-plugin.version>3.2.0</jar-plugin.version>
54 <maven-scm-plugin.version>1.12.0</maven-scm-plugin.version>
55 <maven-gpg-plugin.version>1.5</maven-gpg-plugin.version>
56 <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
57 <maven-source-plugin.version>2.2.1</maven-source-plugin.version>
58 <nexus-staging-plugin.version>1.6.8</nexus-staging-plugin.version>
59 <spotless-plugin.version>2.17.6</spotless-plugin.version>
60 <surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
61 <versions-plugin.version>2.8.1</versions-plugin.version>
62
63 <apiguardian.version>1.1.2</apiguardian.version>
64 <errorprone.version>2.10.0</errorprone.version>
65 <google-java-format.version>1.13.0</google-java-format.version>
Matthias Andreas Benkard4e8423d2021-12-19 22:56:09 +010066 <inject-resources.version>0.3.0</inject-resources.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010067 <jetbrains-annotations.version>22.0.0</jetbrains-annotations.version>
68 <junit-jupiter.version>5.8.2</junit-jupiter.version>
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +010069 <xz.version>1.9</xz.version>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +010070 </properties>
71
72 <distributionManagement>
73 <snapshotRepository>
74 <id>ossrh</id>
75 <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
76 </snapshotRepository>
77 </distributionManagement>
78
79 <dependencyManagement>
80 <dependencies>
81 <!-- Annotations -->
82 <dependency>
83 <groupId>com.google.errorprone</groupId>
84 <artifactId>error_prone_annotations</artifactId>
85 <version>${errorprone.version}</version>
86 </dependency>
87 <dependency>
88 <groupId>org.jetbrains</groupId>
89 <artifactId>annotations</artifactId>
90 <version>${jetbrains-annotations.version}</version>
91 </dependency>
92 <dependency>
93 <groupId>org.apiguardian</groupId>
94 <artifactId>apiguardian-api</artifactId>
95 <version>${apiguardian.version}</version>
96 </dependency>
97
Matthias Andreas Benkard50a626d2021-12-30 19:13:49 +010098 <!-- OSTree compression support -->
99 <dependency>
100 <groupId>org.tukaani</groupId>
101 <artifactId>xz</artifactId>
102 <version>1.9</version>
103 </dependency>
104
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100105 <!-- Testing -->
106 <dependency>
107 <groupId>org.junit.jupiter</groupId>
108 <artifactId>junit-jupiter-engine</artifactId>
109 <version>${junit-jupiter.version}</version>
110 <scope>test</scope>
111 </dependency>
112 <dependency>
113 <groupId>org.junit.jupiter</groupId>
114 <artifactId>junit-jupiter-api</artifactId>
115 <version>${junit-jupiter.version}</version>
116 <scope>test</scope>
117 </dependency>
Matthias Andreas Benkard4e8423d2021-12-19 22:56:09 +0100118 <dependency>
119 <groupId>io.hosuaby</groupId>
120 <artifactId>inject-resources-junit-jupiter</artifactId>
121 <version>${inject-resources.version}</version>
122 <scope>test</scope>
123 </dependency>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100124 </dependencies>
125 </dependencyManagement>
126
127 <build>
128
129 <pluginManagement>
130
131 <plugins>
132
133 <plugin>
134 <artifactId>maven-surefire-plugin</artifactId>
135 <version>${surefire-plugin.version}</version>
136 <configuration>
137 <argLine>
138 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100139 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100140 </argLine>
141 </configuration>
142 </plugin>
143
144 <plugin>
145 <artifactId>maven-failsafe-plugin</artifactId>
146 <version>${failsafe-plugin.version}</version>
147 <configuration>
148 <argLine>
149 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100150 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100151 </argLine>
152 </configuration>
153 </plugin>
154
155 <plugin>
156 <artifactId>maven-compiler-plugin</artifactId>
157 <version>${compiler-plugin.version}</version>
158 <configuration>
159 <fork>true</fork>
160 <compilerArgs>
161 <arg>-XDcompilePolicy=simple</arg>
162 <arg>-Xplugin:ErrorProne</arg>
163 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
164 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
165 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
166 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
167 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
168 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
169 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
170 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
171 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
172 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
173 </compilerArgs>
174 <annotationProcessorPaths>
175 <path>
176 <groupId>com.google.errorprone</groupId>
177 <artifactId>error_prone_core</artifactId>
178 <version>${errorprone.version}</version>
179 </path>
180 </annotationProcessorPaths>
181 </configuration>
182 </plugin>
183
184 <plugin>
185 <artifactId>maven-jar-plugin</artifactId>
186 <version>${jar-plugin.version}</version>
187 </plugin>
188
189 <plugin>
190 <groupId>org.codehaus.mojo</groupId>
191 <artifactId>versions-maven-plugin</artifactId>
192 <version>${versions-plugin.version}</version>
193 </plugin>
194
195 <plugin>
196 <groupId>org.apache.maven.plugins</groupId>
197 <artifactId>maven-scm-plugin</artifactId>
198 <version>${maven-scm-plugin.version}</version>
199 <configuration>
200 <tag>v${project.version}</tag>
201 <connectionType>developerConnection</connectionType>
202 </configuration>
203 </plugin>
204
205 </plugins>
206
207 </pluginManagement>
208
209 <plugins>
210
211 <plugin>
212 <groupId>com.diffplug.spotless</groupId>
213 <artifactId>spotless-maven-plugin</artifactId>
214 <version>${spotless-plugin.version}</version>
215 <configuration>
216 <java>
217 <removeUnusedImports/>
218 <importOrder>
219 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
220 </importOrder>
221 <googleJavaFormat>
222 <version>${google-java-format.version}</version>
223 <style>GOOGLE</style>
224 </googleJavaFormat>
225 </java>
226 </configuration>
227 </plugin>
228
229 <plugin>
230 <groupId>org.sonatype.plugins</groupId>
231 <artifactId>nexus-staging-maven-plugin</artifactId>
232 <version>${nexus-staging-plugin.version}</version>
233 <extensions>true</extensions>
234 <configuration>
235 <serverId>ossrh</serverId>
236 <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
237 <autoReleaseAfterClose>true</autoReleaseAfterClose>
238 </configuration>
239 </plugin>
240
241 </plugins>
242 </build>
243
244 <profiles>
245
246 <profile>
247 <id>release</id>
248
249 <build>
250 <plugins>
251
252 <plugin>
253 <groupId>org.apache.maven.plugins</groupId>
254 <artifactId>maven-source-plugin</artifactId>
255 <version>${maven-source-plugin.version}</version>
256 <executions>
257 <execution>
258 <id>attach-sources</id>
259 <goals>
260 <goal>jar-no-fork</goal>
261 </goals>
262 </execution>
263 </executions>
264 </plugin>
265
266 <plugin>
267 <groupId>org.apache.maven.plugins</groupId>
268 <artifactId>maven-javadoc-plugin</artifactId>
269 <version>${maven-javadoc-plugin.version}</version>
270 <executions>
271 <execution>
272 <id>attach-javadocs</id>
273 <goals>
274 <goal>jar</goal>
275 </goals>
276 </execution>
277 </executions>
278 </plugin>
279
280 <plugin>
281 <groupId>org.apache.maven.plugins</groupId>
282 <artifactId>maven-gpg-plugin</artifactId>
283 <version>${maven-gpg-plugin.version}</version>
284 <configuration>
285 <keyname>code@mulk.eu</keyname>
286 </configuration>
287 <executions>
288 <execution>
289 <id>sign-artifacts</id>
290 <phase>verify</phase>
291 <goals>
292 <goal>sign</goal>
293 </goals>
294 </execution>
295 </executions>
296 </plugin>
297
298 </plugins>
299 </build>
300 </profile>
301
302 </profiles>
303
304</project>