blob: 4e8370810d8c88117b64f19fadac1dd807119544 [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
9 <version>0.1.4-SNAPSHOT</version>
10
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>
69 </properties>
70
71 <distributionManagement>
72 <snapshotRepository>
73 <id>ossrh</id>
74 <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
75 </snapshotRepository>
76 </distributionManagement>
77
78 <dependencyManagement>
79 <dependencies>
80 <!-- Annotations -->
81 <dependency>
82 <groupId>com.google.errorprone</groupId>
83 <artifactId>error_prone_annotations</artifactId>
84 <version>${errorprone.version}</version>
85 </dependency>
86 <dependency>
87 <groupId>org.jetbrains</groupId>
88 <artifactId>annotations</artifactId>
89 <version>${jetbrains-annotations.version}</version>
90 </dependency>
91 <dependency>
92 <groupId>org.apiguardian</groupId>
93 <artifactId>apiguardian-api</artifactId>
94 <version>${apiguardian.version}</version>
95 </dependency>
96
97 <!-- Testing -->
98 <dependency>
99 <groupId>org.junit.jupiter</groupId>
100 <artifactId>junit-jupiter-engine</artifactId>
101 <version>${junit-jupiter.version}</version>
102 <scope>test</scope>
103 </dependency>
104 <dependency>
105 <groupId>org.junit.jupiter</groupId>
106 <artifactId>junit-jupiter-api</artifactId>
107 <version>${junit-jupiter.version}</version>
108 <scope>test</scope>
109 </dependency>
Matthias Andreas Benkard4e8423d2021-12-19 22:56:09 +0100110 <dependency>
111 <groupId>io.hosuaby</groupId>
112 <artifactId>inject-resources-junit-jupiter</artifactId>
113 <version>${inject-resources.version}</version>
114 <scope>test</scope>
115 </dependency>
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100116 </dependencies>
117 </dependencyManagement>
118
119 <build>
120
121 <pluginManagement>
122
123 <plugins>
124
125 <plugin>
126 <artifactId>maven-surefire-plugin</artifactId>
127 <version>${surefire-plugin.version}</version>
128 <configuration>
129 <argLine>
130 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100131 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100132 </argLine>
133 </configuration>
134 </plugin>
135
136 <plugin>
137 <artifactId>maven-failsafe-plugin</artifactId>
138 <version>${failsafe-plugin.version}</version>
139 <configuration>
140 <argLine>
141 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
Matthias Andreas Benkarda7e9d522021-12-28 01:37:47 +0100142 --add-opens eu.mulk.jgvariant.ostree/eu.mulk.jgvariant.ostree=ALL-UNNAMED
Matthias Andreas Benkard796b19d2021-12-18 23:38:46 +0100143 </argLine>
144 </configuration>
145 </plugin>
146
147 <plugin>
148 <artifactId>maven-compiler-plugin</artifactId>
149 <version>${compiler-plugin.version}</version>
150 <configuration>
151 <fork>true</fork>
152 <compilerArgs>
153 <arg>-XDcompilePolicy=simple</arg>
154 <arg>-Xplugin:ErrorProne</arg>
155 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
156 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
157 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
158 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
159 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
160 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
161 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
162 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
163 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
164 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
165 </compilerArgs>
166 <annotationProcessorPaths>
167 <path>
168 <groupId>com.google.errorprone</groupId>
169 <artifactId>error_prone_core</artifactId>
170 <version>${errorprone.version}</version>
171 </path>
172 </annotationProcessorPaths>
173 </configuration>
174 </plugin>
175
176 <plugin>
177 <artifactId>maven-jar-plugin</artifactId>
178 <version>${jar-plugin.version}</version>
179 </plugin>
180
181 <plugin>
182 <groupId>org.codehaus.mojo</groupId>
183 <artifactId>versions-maven-plugin</artifactId>
184 <version>${versions-plugin.version}</version>
185 </plugin>
186
187 <plugin>
188 <groupId>org.apache.maven.plugins</groupId>
189 <artifactId>maven-scm-plugin</artifactId>
190 <version>${maven-scm-plugin.version}</version>
191 <configuration>
192 <tag>v${project.version}</tag>
193 <connectionType>developerConnection</connectionType>
194 </configuration>
195 </plugin>
196
197 </plugins>
198
199 </pluginManagement>
200
201 <plugins>
202
203 <plugin>
204 <groupId>com.diffplug.spotless</groupId>
205 <artifactId>spotless-maven-plugin</artifactId>
206 <version>${spotless-plugin.version}</version>
207 <configuration>
208 <java>
209 <removeUnusedImports/>
210 <importOrder>
211 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
212 </importOrder>
213 <googleJavaFormat>
214 <version>${google-java-format.version}</version>
215 <style>GOOGLE</style>
216 </googleJavaFormat>
217 </java>
218 </configuration>
219 </plugin>
220
221 <plugin>
222 <groupId>org.sonatype.plugins</groupId>
223 <artifactId>nexus-staging-maven-plugin</artifactId>
224 <version>${nexus-staging-plugin.version}</version>
225 <extensions>true</extensions>
226 <configuration>
227 <serverId>ossrh</serverId>
228 <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
229 <autoReleaseAfterClose>true</autoReleaseAfterClose>
230 </configuration>
231 </plugin>
232
233 </plugins>
234 </build>
235
236 <profiles>
237
238 <profile>
239 <id>release</id>
240
241 <build>
242 <plugins>
243
244 <plugin>
245 <groupId>org.apache.maven.plugins</groupId>
246 <artifactId>maven-source-plugin</artifactId>
247 <version>${maven-source-plugin.version}</version>
248 <executions>
249 <execution>
250 <id>attach-sources</id>
251 <goals>
252 <goal>jar-no-fork</goal>
253 </goals>
254 </execution>
255 </executions>
256 </plugin>
257
258 <plugin>
259 <groupId>org.apache.maven.plugins</groupId>
260 <artifactId>maven-javadoc-plugin</artifactId>
261 <version>${maven-javadoc-plugin.version}</version>
262 <executions>
263 <execution>
264 <id>attach-javadocs</id>
265 <goals>
266 <goal>jar</goal>
267 </goals>
268 </execution>
269 </executions>
270 </plugin>
271
272 <plugin>
273 <groupId>org.apache.maven.plugins</groupId>
274 <artifactId>maven-gpg-plugin</artifactId>
275 <version>${maven-gpg-plugin.version}</version>
276 <configuration>
277 <keyname>code@mulk.eu</keyname>
278 </configuration>
279 <executions>
280 <execution>
281 <id>sign-artifacts</id>
282 <phase>verify</phase>
283 <goals>
284 <goal>sign</goal>
285 </goals>
286 </execution>
287 </executions>
288 </plugin>
289
290 </plugins>
291 </build>
292 </profile>
293
294 </profiles>
295
296</project>