blob: 7f8544f3a11a3a8ef1bd159a230f0e41735ec87e [file] [log] [blame]
Matthias Andreas Benkard261532a2021-12-12 20:09:27 +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 <groupId>eu.mulk.jgvariant</groupId>
10 <version>0.1.0-SNAPSHOT</version>
11
12 <artifactId>jgvariant-core</artifactId>
13 <packaging>jar</packaging>
14
15 <name>JGVariant</name>
16 <url>https://gerrit.benkard.de/plugins/gitiles/jgvariant</url>
17
18 <description>
19 GVariant serialization and deserialization.
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-gpg-plugin.version>1.5</maven-gpg-plugin.version>
55 <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
56 <maven-source-plugin.version>2.2.1</maven-source-plugin.version>
57 <nexus-staging-plugin.version>1.6.8</nexus-staging-plugin.version>
58 <spotless-plugin.version>2.17.6</spotless-plugin.version>
59 <surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
60
Matthias Andreas Benkard25b7f902021-12-17 06:02:11 +010061 <apiguardian.version>1.1.2</apiguardian.version>
Matthias Andreas Benkard261532a2021-12-12 20:09:27 +010062 <errorprone.version>2.10.0</errorprone.version>
63 <google-java-format.version>1.13.0</google-java-format.version>
Matthias Andreas Benkard5803c9a2021-12-17 05:58:26 +010064 <jetbrains-annotations.version>22.0.0</jetbrains-annotations.version>
65 <junit-jupiter.version>5.8.2</junit-jupiter.version>
Matthias Andreas Benkard261532a2021-12-12 20:09:27 +010066 </properties>
67
68 <distributionManagement>
69 <snapshotRepository>
70 <id>ossrh</id>
71 <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
72 </snapshotRepository>
73 </distributionManagement>
74
75 <dependencyManagement>
76 <dependencies>
77 <dependency>
78 <groupId>com.google.errorprone</groupId>
79 <artifactId>error_prone_annotations</artifactId>
80 <version>${errorprone.version}</version>
81 </dependency>
82 </dependencies>
83 </dependencyManagement>
84
85 <dependencies>
86 <!-- Annotations -->
87 <dependency>
88 <groupId>com.google.errorprone</groupId>
89 <artifactId>error_prone_annotations</artifactId>
90 <optional>true</optional>
91 </dependency>
92 <dependency>
93 <groupId>org.jetbrains</groupId>
94 <artifactId>annotations</artifactId>
95 <version>${jetbrains-annotations.version}</version>
96 <optional>true</optional>
97 </dependency>
Matthias Andreas Benkard25b7f902021-12-17 06:02:11 +010098 <dependency>
99 <groupId>org.apiguardian</groupId>
100 <artifactId>apiguardian-api</artifactId>
101 <version>${apiguardian.version}</version>
102 <optional>true</optional>
103 </dependency>
Matthias Andreas Benkard261532a2021-12-12 20:09:27 +0100104
105 <!-- 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>
118 </dependencies>
119
120 <build>
121
122 <pluginManagement>
123
124 <plugins>
125
126 <plugin>
127 <artifactId>maven-surefire-plugin</artifactId>
128 <version>${surefire-plugin.version}</version>
Matthias Andreas Benkard8643a272021-12-17 06:53:33 +0100129 <configuration>
130 <argLine>
131 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
132 </argLine>
133 </configuration>
Matthias Andreas Benkard261532a2021-12-12 20:09:27 +0100134 </plugin>
135
136 <plugin>
137 <artifactId>maven-failsafe-plugin</artifactId>
138 <version>${failsafe-plugin.version}</version>
Matthias Andreas Benkard8643a272021-12-17 06:53:33 +0100139 <configuration>
140 <argLine>
141 --add-opens eu.mulk.jgvariant.core/eu.mulk.jgvariant.core=ALL-UNNAMED
142 </argLine>
143 </configuration>
Matthias Andreas Benkard261532a2021-12-12 20:09:27 +0100144 </plugin>
145
146 <plugin>
147 <artifactId>maven-compiler-plugin</artifactId>
148 <version>${compiler-plugin.version}</version>
149 <configuration>
150 <fork>true</fork>
151 <compilerArgs>
152 <arg>-XDcompilePolicy=simple</arg>
153 <arg>-Xplugin:ErrorProne</arg>
154 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
155 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
156 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
157 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
158 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
159 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
160 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
161 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
162 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
163 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
164 </compilerArgs>
165 <annotationProcessorPaths>
166 <path>
167 <groupId>com.google.errorprone</groupId>
168 <artifactId>error_prone_core</artifactId>
169 <version>${errorprone.version}</version>
170 </path>
171 </annotationProcessorPaths>
172 </configuration>
173 </plugin>
174
175 <plugin>
176 <artifactId>maven-jar-plugin</artifactId>
177 <version>${jar-plugin.version}</version>
178 </plugin>
179
180 </plugins>
181
182 </pluginManagement>
183
184 <plugins>
185
186 <plugin>
187 <groupId>com.diffplug.spotless</groupId>
188 <artifactId>spotless-maven-plugin</artifactId>
189 <version>${spotless-plugin.version}</version>
190 <configuration>
191 <java>
192 <removeUnusedImports/>
193 <importOrder>
194 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
195 </importOrder>
196 <googleJavaFormat>
197 <version>${google-java-format.version}</version>
198 <style>GOOGLE</style>
199 </googleJavaFormat>
200 </java>
201 </configuration>
202 </plugin>
203
204 <plugin>
205 <groupId>org.sonatype.plugins</groupId>
206 <artifactId>nexus-staging-maven-plugin</artifactId>
207 <version>${nexus-staging-plugin.version}</version>
208 <extensions>true</extensions>
209 <configuration>
210 <serverId>ossrh</serverId>
211 <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
212 <autoReleaseAfterClose>true</autoReleaseAfterClose>
213 </configuration>
214 </plugin>
215
216 </plugins>
217 </build>
218
219 <profiles>
220
221 <profile>
222 <id>release</id>
223
224 <build>
225 <plugins>
226
227 <plugin>
228 <groupId>org.apache.maven.plugins</groupId>
229 <artifactId>maven-source-plugin</artifactId>
230 <version>${maven-source-plugin.version}</version>
231 <executions>
232 <execution>
233 <id>attach-sources</id>
234 <goals>
235 <goal>jar-no-fork</goal>
236 </goals>
237 </execution>
238 </executions>
239 </plugin>
240
241 <plugin>
242 <groupId>org.apache.maven.plugins</groupId>
243 <artifactId>maven-javadoc-plugin</artifactId>
244 <version>${maven-javadoc-plugin.version}</version>
245 <executions>
246 <execution>
247 <id>attach-javadocs</id>
248 <goals>
249 <goal>jar</goal>
250 </goals>
251 </execution>
252 </executions>
253 </plugin>
254
255 <plugin>
256 <groupId>org.apache.maven.plugins</groupId>
257 <artifactId>maven-gpg-plugin</artifactId>
258 <version>${maven-gpg-plugin.version}</version>
259 <configuration>
260 <keyname>code@mulk.eu</keyname>
261 </configuration>
262 <executions>
263 <execution>
264 <id>sign-artifacts</id>
265 <phase>verify</phase>
266 <goals>
267 <goal>sign</goal>
268 </goals>
269 </execution>
270 </executions>
271 </plugin>
272
273 </plugins>
274 </build>
275 </profile>
276
277 </profiles>
278
279</project>