blob: 83e069f78efac0d2f5c38f1d72886a80ce1c6315 [file] [log] [blame]
Nils Diewaldf399a672013-11-18 17:55:22 +00001<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Akrone1befe02021-07-27 13:34:51 +02002 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3 <modelVersion>4.0.0</modelVersion>
Nils Diewald97b66382014-02-11 00:32:23 +00004
Akrone1befe02021-07-27 13:34:51 +02005 <!-- ** Server
Eliza Margarethaff416632016-11-03 15:08:07 +01006
7 # Start the server with
8
9 $ mvn compile exec:java
10
11 # Or after packaging
12
13 $ mvn clean package
Nils Diewalde26f03f2014-06-04 17:48:53 +000014
Eliza Margarethaff416632016-11-03 15:08:07 +010015 # with
16
17 $ java -jar target/Krill-Server.jar
18
19 ** Formatter
20
21 # Format the code with $ mvn java-formatter:format
22
23 ** Indexer
24 # after packaging (see above)
25
26 $ java -jar target/Krill-Indexer.jar -c [configuration file]
27 -i [input directories] -o [output directory]
28
29 for example:
30
31 $ java -jar target/Krill-Indexer.jar -c src/test/resources/krill.properties
32 -i src/test/resources/bzk -o index/
33
34 -->
Nils Diewaldf399a672013-11-18 17:55:22 +000035
Akrone1befe02021-07-27 13:34:51 +020036 <groupId>de.ids_mannheim.korap</groupId>
37 <artifactId>Krill</artifactId>
margaretha75006f02022-03-10 09:50:20 +010038 <version>0.60.3</version>
Akrone1befe02021-07-27 13:34:51 +020039 <packaging>jar</packaging>
Nils Diewaldf399a672013-11-18 17:55:22 +000040
Akrone1befe02021-07-27 13:34:51 +020041 <name>Krill</name>
42 <url>https://korap.ids-mannheim.de/</url>
43
44 <organization>
45 <name>IDS Mannheim</name>
46 <url>https://www.ids-mannheim.de/</url>
47 </organization>
Nils Diewaldf399a672013-11-18 17:55:22 +000048
Akrone1befe02021-07-27 13:34:51 +020049 <developers>
50 <developer>
51 <name>Nils Diewald</name>
52 <email>diewald@ids-mannheim.de</email>
53 <url>https://www.nils-diewald.de</url>
54 </developer>
55 <developer>
56 <name>Eliza Margaretha</name>
57 <email>margaretha@ids-mannheim.de</email>
58 </developer>
59 </developers>
Nils Diewald8a1fc012014-02-19 15:23:33 +000060
Akrone1befe02021-07-27 13:34:51 +020061 <properties>
62 <java.version>1.8</java.version>
Akron2af7c632021-12-14 13:25:17 +010063 <jersey.version>3.0.3</jersey.version>
64 <jackson.version>[2.12.4,)</jackson.version>
Akron152391d2022-01-03 09:15:40 +010065 <log4j.version>[2.17.1,)</log4j.version>
Akrone1befe02021-07-27 13:34:51 +020066 <lucene.version>5.0.0</lucene.version>
67 <cobertura.version>2.7</cobertura.version>
68 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
69 </properties>
Nils Diewaldf399a672013-11-18 17:55:22 +000070
Akrone1befe02021-07-27 13:34:51 +020071 <dependencyManagement>
72 <dependencies>
73 <dependency>
74 <groupId>org.glassfish.jersey</groupId>
75 <artifactId>jersey-bom</artifactId>
76 <version>${jersey.version}</version>
77 <type>pom</type>
78 <scope>import</scope>
79 </dependency>
80 </dependencies>
81 </dependencyManagement>
Nils Diewald32030a62014-09-03 20:16:50 +000082
Akrone1befe02021-07-27 13:34:51 +020083 <dependencies>
84 <!-- junit dependency -->
Akronab2b3a52018-01-11 16:10:46 +010085 <dependency>
Akrone1befe02021-07-27 13:34:51 +020086 <groupId>junit</groupId>
87 <artifactId>junit</artifactId>
88 <version>4.13.2</version>
89 <scope>test</scope>
90 </dependency>
91
92 <!-- https://mvnrepository.com/artifact/jakarta.ws.rs/jakarta.ws.rs-api -->
93 <dependency>
94 <groupId>jakarta.ws.rs</groupId>
95 <artifactId>jakarta.ws.rs-api</artifactId>
96 <version>3.0.0</version>
97 </dependency>
98
99 <!-- log4j dependency -->
100 <dependency>
101 <groupId>org.apache.logging.log4j</groupId>
102 <artifactId>log4j-api</artifactId>
103 <version>${log4j.version}</version>
104 </dependency>
105 <dependency>
106 <groupId>org.apache.logging.log4j</groupId>
107 <artifactId>log4j-core</artifactId>
108 <version>${log4j.version}</version>
109 </dependency>
Akronab2b3a52018-01-11 16:10:46 +0100110 <dependency>
111 <groupId>org.apache.logging.log4j</groupId>
112 <artifactId>log4j-slf4j-impl</artifactId>
Akron92798062021-07-27 11:58:21 +0200113 <version>${log4j.version}</version>
Akronab2b3a52018-01-11 16:10:46 +0100114 </dependency>
Akrone1befe02021-07-27 13:34:51 +0200115 <dependency>
116 <groupId>org.slf4j</groupId>
117 <artifactId>jul-to-slf4j</artifactId>
118 <version>1.7.32</version>
119 </dependency>
120
121 <dependency>
122 <groupId>net.sf.ehcache</groupId>
123 <artifactId>ehcache</artifactId>
124 <version>2.10.9.2</version>
125 </dependency>
126
127 <!-- SQLite for database connection tests -->
128 <dependency>
129 <groupId>org.xerial</groupId>
130 <artifactId>sqlite-jdbc</artifactId>
131 <version>3.36.0.1</version>
132 </dependency>
133
134 <!-- Database Connection Pool Manager -->
135 <dependency>
136 <groupId>com.mchange</groupId>
137 <artifactId>c3p0</artifactId>
138 <version>0.9.5.5</version>
139 </dependency>
140
141 <!-- Lucene core dependency -->
142 <dependency>
143 <artifactId>lucene-core</artifactId>
144 <groupId>org.apache.lucene</groupId>
145 <type>jar</type>
146 <version>${lucene.version}</version>
147 </dependency>
148
149 <!-- Lucene queryparser dependency -->
150 <dependency>
151 <artifactId>lucene-queryparser</artifactId>
152 <groupId>org.apache.lucene</groupId>
153 <type>jar</type>
154 <version>${lucene.version}</version>
155 </dependency>
156
157 <!-- Lucene analyzers dependency -->
158 <dependency>
159 <artifactId>lucene-analyzers-common</artifactId>
160 <groupId>org.apache.lucene</groupId>
161 <type>jar</type>
162 <version>${lucene.version}</version>
163 </dependency>
164
165 <!-- JCache -->
166 <dependency>
167 <groupId>net.sf.jsr107cache</groupId>
168 <artifactId>jsr107cache</artifactId>
169 <version>1.1</version>
170 </dependency>
Nils Diewaldf5ab4b22015-02-25 20:55:16 +0000171
Akrone1befe02021-07-27 13:34:51 +0200172 <!-- Jersey -->
173 <dependency>
174 <groupId>org.glassfish.jersey.containers</groupId>
175 <artifactId>jersey-container-grizzly2-http</artifactId>
176 </dependency>
177
178 <!-- JSON support in Jersey -->
179 <dependency>
180 <groupId>com.fasterxml.jackson.jaxrs</groupId>
181 <artifactId>jackson-jaxrs-json-provider</artifactId>
182 <version>${jackson.version}</version>
183 </dependency>
184
185 <dependency>
186 <groupId>org.glassfish.jersey.inject</groupId>
187 <artifactId>jersey-hk2</artifactId>
188 <version>${jersey.version}</version>
189 </dependency>
190
191 <!-- JSON support using Jackson -->
192 <!-- see https://github.com/FasterXML/jackson-core -->
193 <!-- https://github.com/FasterXML/jackson-databind -->
194 <dependency>
195 <groupId>com.fasterxml.jackson.core</groupId>
196 <artifactId>jackson-databind</artifactId>
197 <version>${jackson.version}</version>
198 </dependency>
199 <dependency>
200 <groupId>com.fasterxml.jackson.core</groupId>
201 <artifactId>jackson-annotations</artifactId>
202 <version>${jackson.version}</version>
203 </dependency>
204 <dependency>
205 <groupId>com.fasterxml.jackson.core</groupId>
206 <artifactId>jackson-core</artifactId>
207 <version>${jackson.version}</version>
208 </dependency>
209
210 <!-- JSON-LD support -->
211 <!-- <dependency> <groupId>com.github.jsonld-java</groupId> <artifactId>jsonld-java</artifactId>
212 <version>0.5.2-SNAPSHOT</version> </dependency> Temporarily disable @Experimental
213 annotation <dependency> <groupId>KorapAnnotationProcessor</groupId> <artifactId>KorapAnnotationProcessor</artifactId>
214 <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> -->
215
216 <!-- Some language extensions like StringUtil, IOUtils ... -->
217 <dependency>
218 <groupId>org.apache.commons</groupId>
219 <artifactId>commons-lang3</artifactId>
220 <version>3.12.0</version>
221 </dependency>
222
223 <dependency>
224 <groupId>commons-cli</groupId>
225 <artifactId>commons-cli</artifactId>
226 <version>1.4</version>
227 </dependency>
228 <dependency>
229 <groupId>commons-io</groupId>
230 <artifactId>commons-io</artifactId>
231 <version>2.11.0</version>
232 </dependency>
233
Marc Kupietz4369ed62020-11-12 10:05:44 +0100234 <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/cobertura-maven-plugin -->
235 <dependency>
236 <groupId>org.codehaus.mojo</groupId>
237 <artifactId>cobertura-maven-plugin</artifactId>
Akron92798062021-07-27 11:58:21 +0200238 <version>${cobertura.version}</version>
Marc Kupietz4369ed62020-11-12 10:05:44 +0100239 <scope>test</scope>
Akron035175b2021-10-26 12:06:25 +0200240 <exclusions>
241 <exclusion>
242 <groupId>com.sun</groupId>
243 <artifactId>tools</artifactId>
244 </exclusion>
245 </exclusions>
Marc Kupietz4369ed62020-11-12 10:05:44 +0100246 </dependency>
Akron22d319e2018-04-01 17:13:49 +0200247 </dependencies>
Akrone1befe02021-07-27 13:34:51 +0200248
249 <build>
250 <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
251 <outputDirectory>${basedir}/bin</outputDirectory>
252 <plugins>
253 <plugin>
254 <artifactId>maven-compiler-plugin</artifactId>
255 <version>3.8.1</version>
256 <inherited>true</inherited>
257 <configuration>
258 <showWarnings>true</showWarnings>
259 <source>${java.version}</source>
260 <target>${java.version}</target>
261 </configuration>
262 </plugin>
263
264 <plugin>
265 <groupId>org.apache.maven.plugins</groupId>
266 <artifactId>maven-shade-plugin</artifactId>
267 <version>3.2.4</version>
268 <executions>
269 <execution>
270 <id>indexer</id>
271 <phase>package</phase>
272 <goals>
273 <goal>shade</goal>
274 </goals>
275 <configuration>
276 <transformers>
277 <transformer
278 implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
279 <mainClass>de.ids_mannheim.korap.index.Indexer</mainClass>
280 </transformer>
281 </transformers>
282 <finalName>${project.artifactId}-Indexer</finalName>
283 </configuration>
284 </execution>
285 <execution>
286 <id>server</id>
287 <phase>package</phase>
288 <goals>
289 <goal>shade</goal>
290 </goals>
291 <configuration>
292 <transformers>
293 <transformer
294 implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
295 <mainClass>de.ids_mannheim.korap.server.Node</mainClass>
296 </transformer>
297 <transformer
298 implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
299 <resource>krill.properties</resource>
300 </transformer>
301 </transformers>
302 <finalName>${project.name}-Server</finalName>
303 </configuration>
304 </execution>
305 </executions>
306 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100307
Akrone1befe02021-07-27 13:34:51 +0200308 <plugin>
309 <groupId>org.apache.maven.plugins</groupId>
310 <artifactId>maven-surefire-plugin</artifactId>
311 <version>2.22.2</version>
312 <configuration>
313 <useSystemClassLoader>false</useSystemClassLoader>
314 <argLine>-Xmx512m</argLine>
315 <excludes>
316 <exclude>**/benchmark/*</exclude>
317 <exclude>**/TestWPDIndex.java</exclude>
318 <exclude>**/TestRealIndex.java</exclude>
319 <exclude>**/TestSampleIndex.java</exclude>
320 <exclude>**/TestParallelIndex.java</exclude>
321 </excludes>
322 </configuration>
323 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100324
Akrone1befe02021-07-27 13:34:51 +0200325 <!-- Formatter plugin for Eclipse based coding conventions http://maven-java-formatter-plugin.googlecode.com/svn/site/0.4/usage.html -->
326 <plugin>
327 <groupId>com.googlecode.maven-java-formatter-plugin</groupId>
328 <artifactId>maven-java-formatter-plugin</artifactId>
329 <version>0.4</version>
330 <configuration>
331 <configFile>${project.basedir}/Format.xml</configFile>
332 <overrideConfigCompilerVersion>true</overrideConfigCompilerVersion>
333 <compilerSource>${java.version}</compilerSource>
334 <compilerCompliance>${java.version}</compilerCompliance>
335 <compilerTargetPlatform>${java.version}</compilerTargetPlatform>
336 </configuration>
337 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100338
Akrone1befe02021-07-27 13:34:51 +0200339 <plugin>
340 <groupId>org.codehaus.mojo</groupId>
341 <artifactId>exec-maven-plugin</artifactId>
342 <version>3.0.0</version>
343 <executions>
344 <execution>
345 <goals>
346 <goal>java</goal>
347 </goals>
348 </execution>
349 </executions>
350 <configuration>
351 <mainClass>de.ids_mannheim.korap.server.Node</mainClass>
352 </configuration>
353 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100354
Akrone1befe02021-07-27 13:34:51 +0200355 <plugin>
356 <groupId>org.codehaus.mojo</groupId>
357 <artifactId>cobertura-maven-plugin</artifactId>
358 <version>${cobertura.version}</version>
359 <configuration>
360 <formats>
361 <format>html</format>
362 <format>xml</format>
363 </formats>
364 <check>
365 <branchRate>70</branchRate>
366 <lineRate>70</lineRate>
367 <haltOnFailure>true</haltOnFailure>
368 <totalBranchRate>70</totalBranchRate>
369 <totalLineRate>70</totalLineRate>
370 <packageLineRate>70</packageLineRate>
371 <packageBranchRate>70</packageBranchRate>
372 </check>
373 </configuration>
374 <executions>
375 <execution>
376 <goals>
377 <goal>clean</goal>
378 </goals>
379 </execution>
380 </executions>
381 </plugin>
382 </plugins>
Eliza Margarethaff416632016-11-03 15:08:07 +0100383
Akrone1befe02021-07-27 13:34:51 +0200384 <resources>
385 <resource>
386 <directory>src/main/resources</directory>
387 <filtering>true</filtering>
388 <includes>
389 <include>krill.info</include>
390 </includes>
391 </resource>
392 <resource>
393 <directory>src/main/resources</directory>
394 <filtering>false</filtering>
395 <excludes>
396 <exclude>krill.info</exclude>
397 </excludes>
398 </resource>
399 </resources>
Marc Kupietz4369ed62020-11-12 10:05:44 +0100400
Akrone1befe02021-07-27 13:34:51 +0200401 <testResources>
402 <testResource>
403 <directory>src/test/resources</directory>
404 <filtering>true</filtering>
405 <includes>
406 <include>krill.properties</include>
407 </includes>
408 </testResource>
409 <testResource>
410 <directory>src/test/resources</directory>
411 <filtering>false</filtering>
412 <excludes>
413 <exclude>krill.properties</exclude>
414 </excludes>
415 </testResource>
416 </testResources>
417 </build>
Nils Diewaldf399a672013-11-18 17:55:22 +0000418</project>