blob: 874369e0eac44492a2595c886e34dae0baa4d8bd [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
61 <errorprone.version>2.10.0</errorprone.version>
62 <google-java-format.version>1.13.0</google-java-format.version>
63 <jetbrains-annotations.version>20.1.0</jetbrains-annotations.version>
64 <junit-jupiter.version>5.8.1</junit-jupiter.version>
65 </properties>
66
67 <distributionManagement>
68 <snapshotRepository>
69 <id>ossrh</id>
70 <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
71 </snapshotRepository>
72 </distributionManagement>
73
74 <dependencyManagement>
75 <dependencies>
76 <dependency>
77 <groupId>com.google.errorprone</groupId>
78 <artifactId>error_prone_annotations</artifactId>
79 <version>${errorprone.version}</version>
80 </dependency>
81 </dependencies>
82 </dependencyManagement>
83
84 <dependencies>
85 <!-- Annotations -->
86 <dependency>
87 <groupId>com.google.errorprone</groupId>
88 <artifactId>error_prone_annotations</artifactId>
89 <optional>true</optional>
90 </dependency>
91 <dependency>
92 <groupId>org.jetbrains</groupId>
93 <artifactId>annotations</artifactId>
94 <version>${jetbrains-annotations.version}</version>
95 <optional>true</optional>
96 </dependency>
97
98 <!-- Testing -->
99 <dependency>
100 <groupId>org.junit.jupiter</groupId>
101 <artifactId>junit-jupiter-engine</artifactId>
102 <version>${junit-jupiter.version}</version>
103 <scope>test</scope>
104 </dependency>
105 <dependency>
106 <groupId>org.junit.jupiter</groupId>
107 <artifactId>junit-jupiter-api</artifactId>
108 <version>${junit-jupiter.version}</version>
109 <scope>test</scope>
110 </dependency>
111 </dependencies>
112
113 <build>
114
115 <pluginManagement>
116
117 <plugins>
118
119 <plugin>
120 <artifactId>maven-surefire-plugin</artifactId>
121 <version>${surefire-plugin.version}</version>
122 </plugin>
123
124 <plugin>
125 <artifactId>maven-failsafe-plugin</artifactId>
126 <version>${failsafe-plugin.version}</version>
127 </plugin>
128
129 <plugin>
130 <artifactId>maven-compiler-plugin</artifactId>
131 <version>${compiler-plugin.version}</version>
132 <configuration>
133 <fork>true</fork>
134 <compilerArgs>
135 <arg>-XDcompilePolicy=simple</arg>
136 <arg>-Xplugin:ErrorProne</arg>
137 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
138 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
139 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
140 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
141 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
142 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
143 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
144 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
145 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
146 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
147 </compilerArgs>
148 <annotationProcessorPaths>
149 <path>
150 <groupId>com.google.errorprone</groupId>
151 <artifactId>error_prone_core</artifactId>
152 <version>${errorprone.version}</version>
153 </path>
154 </annotationProcessorPaths>
155 </configuration>
156 </plugin>
157
158 <plugin>
159 <artifactId>maven-jar-plugin</artifactId>
160 <version>${jar-plugin.version}</version>
161 </plugin>
162
163 </plugins>
164
165 </pluginManagement>
166
167 <plugins>
168
169 <plugin>
170 <groupId>com.diffplug.spotless</groupId>
171 <artifactId>spotless-maven-plugin</artifactId>
172 <version>${spotless-plugin.version}</version>
173 <configuration>
174 <java>
175 <removeUnusedImports/>
176 <importOrder>
177 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
178 </importOrder>
179 <googleJavaFormat>
180 <version>${google-java-format.version}</version>
181 <style>GOOGLE</style>
182 </googleJavaFormat>
183 </java>
184 </configuration>
185 </plugin>
186
187 <plugin>
188 <groupId>org.sonatype.plugins</groupId>
189 <artifactId>nexus-staging-maven-plugin</artifactId>
190 <version>${nexus-staging-plugin.version}</version>
191 <extensions>true</extensions>
192 <configuration>
193 <serverId>ossrh</serverId>
194 <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
195 <autoReleaseAfterClose>true</autoReleaseAfterClose>
196 </configuration>
197 </plugin>
198
199 </plugins>
200 </build>
201
202 <profiles>
203
204 <profile>
205 <id>release</id>
206
207 <build>
208 <plugins>
209
210 <plugin>
211 <groupId>org.apache.maven.plugins</groupId>
212 <artifactId>maven-source-plugin</artifactId>
213 <version>${maven-source-plugin.version}</version>
214 <executions>
215 <execution>
216 <id>attach-sources</id>
217 <goals>
218 <goal>jar-no-fork</goal>
219 </goals>
220 </execution>
221 </executions>
222 </plugin>
223
224 <plugin>
225 <groupId>org.apache.maven.plugins</groupId>
226 <artifactId>maven-javadoc-plugin</artifactId>
227 <version>${maven-javadoc-plugin.version}</version>
228 <executions>
229 <execution>
230 <id>attach-javadocs</id>
231 <goals>
232 <goal>jar</goal>
233 </goals>
234 </execution>
235 </executions>
236 </plugin>
237
238 <plugin>
239 <groupId>org.apache.maven.plugins</groupId>
240 <artifactId>maven-gpg-plugin</artifactId>
241 <version>${maven-gpg-plugin.version}</version>
242 <configuration>
243 <keyname>code@mulk.eu</keyname>
244 </configuration>
245 <executions>
246 <execution>
247 <id>sign-artifacts</id>
248 <phase>verify</phase>
249 <goals>
250 <goal>sign</goal>
251 </goals>
252 </execution>
253 </executions>
254 </plugin>
255
256 </plugins>
257 </build>
258 </profile>
259
260 </profiles>
261
262</project>