blob: 02478cb435dc0f4dda1931dd51c151c1c0097f90 [file] [log] [blame]
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +01001<?xml version="1.0"?>
Matthias Andreas Benkard545aeb62020-12-06 15:16:22 +01002<project
3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://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">
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +01006
7 <modelVersion>4.0.0</modelVersion>
8
9 <groupId>eu.mulk</groupId>
10 <artifactId>aendggner</artifactId>
11 <version>${revision}</version>
12
13 <properties>
14 <maven.compiler.parameters>true</maven.compiler.parameters>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020015 <maven.compiler.release>21</maven.compiler.release>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +010016
17 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
19
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020020 <enforced.maven-version>3.9.0</enforced.maven-version>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +010021
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020022 <compiler-plugin.version>3.15.0</compiler-plugin.version>
23 <dependency-plugin.version>3.11.0</dependency-plugin.version>
24 <enforcer-plugin.version>3.6.3</enforcer-plugin.version>
25 <exec-plugin.version>3.6.3</exec-plugin.version>
26 <jar-plugin.version>3.5.0</jar-plugin.version>
27 <resources-plugin.version>3.5.0</resources-plugin.version>
28 <spotless-plugin.version>3.8.0</spotless-plugin.version>
29 <surefire-plugin.version>3.5.6</surefire-plugin.version>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +010030
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020031 <google.java.format.version>1.28.0</google.java.format.version>
32
33 <assertj.version>3.27.7</assertj.version>
34 <java-diff-utils.version>4.17</java-diff-utils.version>
35 <jboss-logging.version>3.6.3.Final</jboss-logging.version>
36 <jspecify.version>1.0.0</jspecify.version>
37 <junit.version>5.13.4</junit.version>
38 <pdfbox.version>3.0.8</pdfbox.version>
39 <picocli.version>4.7.7</picocli.version>
40 <slf4j.version>2.0.18</slf4j.version>
41 <tika.version>3.3.1</tika.version>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +010042 </properties>
43
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020044 <dependencyManagement>
45 <dependencies>
46 <dependency>
47 <groupId>org.junit</groupId>
48 <artifactId>junit-bom</artifactId>
49 <version>${junit.version}</version>
50 <type>pom</type>
51 <scope>import</scope>
52 </dependency>
53 </dependencies>
54 </dependencyManagement>
55
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +010056 <dependencies>
57
58 <!-- Annotations -->
59 <dependency>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020060 <groupId>org.jspecify</groupId>
61 <artifactId>jspecify</artifactId>
62 <version>${jspecify.version}</version>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +010063 </dependency>
64
Matthias Andreas Benkard31a2c502020-11-22 14:36:27 +010065 <!-- Command line parsing -->
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +010066 <dependency>
67 <groupId>info.picocli</groupId>
68 <artifactId>picocli</artifactId>
69 <version>${picocli.version}</version>
70 </dependency>
71
Matthias Andreas Benkard545aeb62020-12-06 15:16:22 +010072 <!-- Logging -->
73 <dependency>
74 <groupId>org.jboss.logging</groupId>
75 <artifactId>jboss-logging</artifactId>
76 <version>${jboss-logging.version}</version>
77 </dependency>
Matthias Andreas Benkard545aeb62020-12-06 15:16:22 +010078 <dependency>
79 <groupId>org.slf4j</groupId>
80 <artifactId>slf4j-jdk14</artifactId>
81 <version>${slf4j.version}</version>
82 </dependency>
83 <dependency>
84 <groupId>org.slf4j</groupId>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020085 <artifactId>jcl-over-slf4j</artifactId>
Matthias Andreas Benkard545aeb62020-12-06 15:16:22 +010086 <version>${slf4j.version}</version>
87 </dependency>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020088
89 <!-- Document type detection -->
Matthias Andreas Benkard545aeb62020-12-06 15:16:22 +010090 <dependency>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020091 <groupId>org.apache.tika</groupId>
92 <artifactId>tika-core</artifactId>
93 <version>${tika.version}</version>
Matthias Andreas Benkard31a2c502020-11-22 14:36:27 +010094 </dependency>
95
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020096 <!-- PDF text extraction -->
Matthias Andreas Benkard31a2c502020-11-22 14:36:27 +010097 <dependency>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +020098 <groupId>org.apache.pdfbox</groupId>
99 <artifactId>pdfbox</artifactId>
100 <version>${pdfbox.version}</version>
101 </dependency>
102
103 <!-- Text diffing -->
104 <dependency>
105 <groupId>io.github.java-diff-utils</groupId>
106 <artifactId>java-diff-utils</artifactId>
107 <version>${java-diff-utils.version}</version>
108 </dependency>
109
110 <!-- Testing -->
111 <dependency>
112 <groupId>org.junit.jupiter</groupId>
113 <artifactId>junit-jupiter</artifactId>
114 <scope>test</scope>
Matthias Andreas Benkard31a2c502020-11-22 14:36:27 +0100115 </dependency>
116 <dependency>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +0200117 <groupId>org.assertj</groupId>
118 <artifactId>assertj-core</artifactId>
119 <version>${assertj.version}</version>
120 <scope>test</scope>
Matthias Andreas Benkard31a2c502020-11-22 14:36:27 +0100121 </dependency>
122
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100123 </dependencies>
124
125 <build>
126
Matthias Andreas Benkard545aeb62020-12-06 15:16:22 +0100127 <resources>
128 <resource>
129 <directory>src/main/resources</directory>
130 </resource>
131 </resources>
132
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100133 <pluginManagement>
134 <plugins>
135
136 <plugin>
137 <groupId>org.codehaus.mojo</groupId>
138 <artifactId>versions-maven-plugin</artifactId>
139 <configuration>
140 <generateBackupPoms>false</generateBackupPoms>
141 </configuration>
142 </plugin>
143
144 </plugins>
145 </pluginManagement>
146
147 <plugins>
148
149 <!-- Compiler -->
150 <plugin>
151 <artifactId>maven-compiler-plugin</artifactId>
152 <version>${compiler-plugin.version}</version>
Matthias Andreas Benkardc7f11362020-11-22 15:01:07 +0100153 <configuration>
154 <annotationProcessorPaths>
155 <path>
156 <groupId>info.picocli</groupId>
157 <artifactId>picocli-codegen</artifactId>
158 <version>${picocli.version}</version>
159 </path>
160 </annotationProcessorPaths>
161 <compilerArgs>
162 <arg>-Aproject=${project.groupId}/${project.artifactId}</arg>
163 </compilerArgs>
164 </configuration>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100165 </plugin>
166
167 <!-- Resources -->
168 <plugin>
169 <artifactId>maven-resources-plugin</artifactId>
170 <version>${resources-plugin.version}</version>
171 </plugin>
172
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +0200173 <!-- Tests -->
174 <plugin>
175 <artifactId>maven-surefire-plugin</artifactId>
176 <version>${surefire-plugin.version}</version>
177 </plugin>
178
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100179 <!-- Google Java Code Formatter, for enforcing style conventions -->
180 <plugin>
181 <groupId>com.diffplug.spotless</groupId>
182 <artifactId>spotless-maven-plugin</artifactId>
183 <version>${spotless-plugin.version}</version>
184 <configuration>
185 <java>
186 <removeUnusedImports/>
187 <importOrder>
188 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
189 </importOrder>
190 <googleJavaFormat>
191 <version>${google.java.format.version}</version>
192 <style>GOOGLE</style>
193 </googleJavaFormat>
194 </java>
195 </configuration>
196 </plugin>
197
198 <plugin>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100199 <groupId>org.apache.maven.plugins</groupId>
200 <artifactId>maven-enforcer-plugin</artifactId>
201 <version>${enforcer-plugin.version}</version>
202 <executions>
203 <execution>
204 <id>enforce-maven</id>
205 <goals>
206 <goal>enforce</goal>
207 </goals>
208 <configuration>
209 <rules>
210 <requireMavenVersion>
211 <version>${enforced.maven-version}</version>
212 </requireMavenVersion>
213 </rules>
214 </configuration>
215 </execution>
216 </executions>
217 </plugin>
218
219 <plugin>
220 <groupId>org.codehaus.mojo</groupId>
221 <artifactId>exec-maven-plugin</artifactId>
222 <version>${exec-plugin.version}</version>
223 <configuration>
224 <mainClass>eu.mulk.aendggner.AendGgner</mainClass>
225 </configuration>
226 </plugin>
227
228 <plugin>
229 <groupId>org.apache.maven.plugins</groupId>
Matthias Andreas Benkardc7f11362020-11-22 15:01:07 +0100230 <artifactId>maven-dependency-plugin</artifactId>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +0200231 <version>${dependency-plugin.version}</version>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100232 <executions>
233 <execution>
Matthias Andreas Benkardc7f11362020-11-22 15:01:07 +0100234 <id>copy-dependencies</id>
235 <phase>prepare-package</phase>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100236 <goals>
Matthias Andreas Benkardc7f11362020-11-22 15:01:07 +0100237 <goal>copy-dependencies</goal>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100238 </goals>
239 <configuration>
Matthias Andreas Benkardc7f11362020-11-22 15:01:07 +0100240 <outputDirectory>
241 ${project.build.directory}/libs
242 </outputDirectory>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +0200243 <includeScope>runtime</includeScope>
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100244 </configuration>
245 </execution>
246 </executions>
247 </plugin>
248
Matthias Andreas Benkardc7f11362020-11-22 15:01:07 +0100249 <plugin>
250 <groupId>org.apache.maven.plugins</groupId>
251 <artifactId>maven-jar-plugin</artifactId>
Matthias Andreas Benkard1b9bfb12026-07-13 07:08:31 +0200252 <version>${jar-plugin.version}</version>
Matthias Andreas Benkardc7f11362020-11-22 15:01:07 +0100253 <configuration>
254 <archive>
255 <manifest>
256 <addClasspath>true</addClasspath>
257 <classpathPrefix>libs/</classpathPrefix>
258 <mainClass>
259 eu.mulk.aendggner.AendGgner
260 </mainClass>
261 </manifest>
262 </archive>
263 </configuration>
264 </plugin>
265
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100266 </plugins>
267
268 </build>
269
270</project>