blob: 25670c00d95a52f3e415bb024f9649a08c154382 [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
Marc Kupietz3663a932026-06-08 20:47:10 +020032 -i src/test/resources/bzk -o index/
33
34 ** MetaExporter
35 # after packaging (see above)
36 # dumps the stored per-document metadata of an existing index,
37 # without using the web service API.
38
39 $ java -jar target/Krill-MetaExporter.jar -i [index directory]
40 -f [comma-separated fields] [format tsv|csv|json] [-o output file]
41
42 for example (list fields, then dump text sigles for diffing instances):
43
44 $ java -jar target/Krill-MetaExporter.jar -i index/ (option) list-fields
45 $ java -jar target/Krill-MetaExporter.jar -i index/ -f textSigle (option) no-header
46
47 (full option names use a double-dash prefix; see the MetaExporter Javadoc)
48
Eliza Margarethaff416632016-11-03 15:08:07 +010049 -->
Nils Diewaldf399a672013-11-18 17:55:22 +000050
Akronc65c9432023-09-11 10:55:53 +020051 <groupId>de.ids-mannheim.korap.krill</groupId>
Akrone1befe02021-07-27 13:34:51 +020052 <artifactId>Krill</artifactId>
margaretha0c21e242026-05-04 13:21:25 +020053 <version>0.65.2</version>
Akrone1befe02021-07-27 13:34:51 +020054 <packaging>jar</packaging>
Nils Diewaldf399a672013-11-18 17:55:22 +000055
Akrone1befe02021-07-27 13:34:51 +020056 <name>Krill</name>
57 <url>https://korap.ids-mannheim.de/</url>
58
59 <organization>
60 <name>IDS Mannheim</name>
61 <url>https://www.ids-mannheim.de/</url>
62 </organization>
Nils Diewaldf399a672013-11-18 17:55:22 +000063
Akrone1befe02021-07-27 13:34:51 +020064 <developers>
65 <developer>
66 <name>Nils Diewald</name>
67 <email>diewald@ids-mannheim.de</email>
68 <url>https://www.nils-diewald.de</url>
69 </developer>
70 <developer>
71 <name>Eliza Margaretha</name>
72 <email>margaretha@ids-mannheim.de</email>
73 </developer>
74 </developers>
Nils Diewald8a1fc012014-02-19 15:23:33 +000075
Akrone1befe02021-07-27 13:34:51 +020076 <properties>
Akron88bf1e22025-11-14 12:37:46 +010077 <java.version>21</java.version>
dependabot[bot]dd4e95c2026-02-04 00:52:32 +000078 <jersey.version>4.0.2</jersey.version>
dependabot[bot]d17a6cd2026-07-03 00:52:26 +000079 <log4j.version>2.26.1</log4j.version>
dependabot[bot]8cae5922026-08-20 00:52:37 +000080 <jackson.version>2.22.2</jackson.version>
dependabot[bot]e84a7372026-06-01 09:52:04 +000081 <jackson.mainversion>2.22</jackson.mainversion>
Akrone1befe02021-07-27 13:34:51 +020082 <lucene.version>5.0.0</lucene.version>
Akrone1befe02021-07-27 13:34:51 +020083 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
84 </properties>
Nils Diewaldf399a672013-11-18 17:55:22 +000085
Akrone1befe02021-07-27 13:34:51 +020086 <dependencyManagement>
87 <dependencies>
88 <dependency>
89 <groupId>org.glassfish.jersey</groupId>
90 <artifactId>jersey-bom</artifactId>
91 <version>${jersey.version}</version>
92 <type>pom</type>
93 <scope>import</scope>
94 </dependency>
95 </dependencies>
96 </dependencyManagement>
Nils Diewald32030a62014-09-03 20:16:50 +000097
Akrone1befe02021-07-27 13:34:51 +020098 <dependencies>
99 <!-- junit dependency -->
Akronab2b3a52018-01-11 16:10:46 +0100100 <dependency>
Akrone1befe02021-07-27 13:34:51 +0200101 <groupId>junit</groupId>
102 <artifactId>junit</artifactId>
103 <version>4.13.2</version>
104 <scope>test</scope>
105 </dependency>
106
107 <!-- https://mvnrepository.com/artifact/jakarta.ws.rs/jakarta.ws.rs-api -->
108 <dependency>
109 <groupId>jakarta.ws.rs</groupId>
110 <artifactId>jakarta.ws.rs-api</artifactId>
dependabot[bot]ba246c52024-05-03 00:04:59 +0000111 <version>4.0.0</version>
Akrone1befe02021-07-27 13:34:51 +0200112 </dependency>
113
114 <!-- log4j dependency -->
115 <dependency>
116 <groupId>org.apache.logging.log4j</groupId>
117 <artifactId>log4j-api</artifactId>
118 <version>${log4j.version}</version>
119 </dependency>
120 <dependency>
121 <groupId>org.apache.logging.log4j</groupId>
122 <artifactId>log4j-core</artifactId>
123 <version>${log4j.version}</version>
124 </dependency>
Akronab2b3a52018-01-11 16:10:46 +0100125 <dependency>
126 <groupId>org.apache.logging.log4j</groupId>
127 <artifactId>log4j-slf4j-impl</artifactId>
Akron92798062021-07-27 11:58:21 +0200128 <version>${log4j.version}</version>
Akronab2b3a52018-01-11 16:10:46 +0100129 </dependency>
Akrone1befe02021-07-27 13:34:51 +0200130 <dependency>
131 <groupId>org.slf4j</groupId>
132 <artifactId>jul-to-slf4j</artifactId>
dependabot[bot]11c61d52026-05-13 01:54:33 +0000133 <version>2.0.18</version>
Akrone1befe02021-07-27 13:34:51 +0200134 </dependency>
Akronb17cc082022-11-16 11:16:31 +0100135
Akrone1befe02021-07-27 13:34:51 +0200136 <!-- SQLite for database connection tests -->
137 <dependency>
138 <groupId>org.xerial</groupId>
139 <artifactId>sqlite-jdbc</artifactId>
dependabot[bot]aa885bb2026-06-04 03:53:31 +0000140 <version>3.53.2.0</version>
Akrone1befe02021-07-27 13:34:51 +0200141 </dependency>
142
143 <!-- Database Connection Pool Manager -->
144 <dependency>
145 <groupId>com.mchange</groupId>
146 <artifactId>c3p0</artifactId>
dependabot[bot]b9d7ac02026-06-10 00:52:26 +0000147 <version>0.14.1</version>
Akrone1befe02021-07-27 13:34:51 +0200148 </dependency>
149
150 <!-- Lucene core dependency -->
151 <dependency>
152 <artifactId>lucene-core</artifactId>
153 <groupId>org.apache.lucene</groupId>
154 <type>jar</type>
155 <version>${lucene.version}</version>
156 </dependency>
157
158 <!-- Lucene queryparser dependency -->
159 <dependency>
160 <artifactId>lucene-queryparser</artifactId>
161 <groupId>org.apache.lucene</groupId>
162 <type>jar</type>
163 <version>${lucene.version}</version>
164 </dependency>
165
166 <!-- Lucene analyzers dependency -->
167 <dependency>
168 <artifactId>lucene-analyzers-common</artifactId>
169 <groupId>org.apache.lucene</groupId>
170 <type>jar</type>
171 <version>${lucene.version}</version>
172 </dependency>
173
174 <!-- JCache -->
175 <dependency>
176 <groupId>net.sf.jsr107cache</groupId>
177 <artifactId>jsr107cache</artifactId>
178 <version>1.1</version>
179 </dependency>
Nils Diewaldf5ab4b22015-02-25 20:55:16 +0000180
Akron859fb542025-07-08 15:52:45 +0200181 <!-- Caffeine -->
182 <dependency>
183 <groupId>com.github.ben-manes.caffeine</groupId>
184 <artifactId>caffeine</artifactId>
dependabot[bot]a950aaf2026-05-04 00:51:27 +0000185 <version>3.2.4</version>
Akron859fb542025-07-08 15:52:45 +0200186 </dependency>
187
Akrone1befe02021-07-27 13:34:51 +0200188 <!-- Jersey -->
189 <dependency>
190 <groupId>org.glassfish.jersey.containers</groupId>
191 <artifactId>jersey-container-grizzly2-http</artifactId>
192 </dependency>
193
194 <!-- JSON support in Jersey -->
195 <dependency>
196 <groupId>com.fasterxml.jackson.jaxrs</groupId>
197 <artifactId>jackson-jaxrs-json-provider</artifactId>
Akrond6c77b42022-10-05 12:34:15 +0200198 <version>${jackson.version}</version>
Akrone1befe02021-07-27 13:34:51 +0200199 </dependency>
200
201 <dependency>
202 <groupId>org.glassfish.jersey.inject</groupId>
203 <artifactId>jersey-hk2</artifactId>
204 <version>${jersey.version}</version>
205 </dependency>
206
207 <!-- JSON support using Jackson -->
208 <!-- see https://github.com/FasterXML/jackson-core -->
209 <!-- https://github.com/FasterXML/jackson-databind -->
210 <dependency>
211 <groupId>com.fasterxml.jackson.core</groupId>
212 <artifactId>jackson-databind</artifactId>
Akronab711ff2022-11-16 10:53:15 +0100213 <version>${jackson.version}</version>
Akrone1befe02021-07-27 13:34:51 +0200214 </dependency>
215 <dependency>
216 <groupId>com.fasterxml.jackson.core</groupId>
217 <artifactId>jackson-annotations</artifactId>
dependabot[bot]6410fc42025-09-01 00:02:39 +0000218 <version>${jackson.mainversion}</version>
Akrone1befe02021-07-27 13:34:51 +0200219 </dependency>
220 <dependency>
221 <groupId>com.fasterxml.jackson.core</groupId>
222 <artifactId>jackson-core</artifactId>
223 <version>${jackson.version}</version>
224 </dependency>
225
226 <!-- JSON-LD support -->
227 <!-- <dependency> <groupId>com.github.jsonld-java</groupId> <artifactId>jsonld-java</artifactId>
228 <version>0.5.2-SNAPSHOT</version> </dependency> Temporarily disable @Experimental
229 annotation <dependency> <groupId>KorapAnnotationProcessor</groupId> <artifactId>KorapAnnotationProcessor</artifactId>
230 <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> -->
231
232 <!-- Some language extensions like StringUtil, IOUtils ... -->
233 <dependency>
234 <groupId>org.apache.commons</groupId>
235 <artifactId>commons-lang3</artifactId>
dependabot[bot]05d41172025-11-18 00:01:26 +0000236 <version>3.20.0</version>
Akrone1befe02021-07-27 13:34:51 +0200237 </dependency>
238
239 <dependency>
240 <groupId>commons-cli</groupId>
241 <artifactId>commons-cli</artifactId>
dependabot[bot]f23d03a2025-11-18 00:01:23 +0000242 <version>1.11.0</version>
Akrone1befe02021-07-27 13:34:51 +0200243 </dependency>
244 <dependency>
245 <groupId>commons-io</groupId>
246 <artifactId>commons-io</artifactId>
dependabot[bot]b7f39352026-04-24 00:52:25 +0000247 <version>2.22.0</version>
Akrone1befe02021-07-27 13:34:51 +0200248 </dependency>
Marc Kupietz2db71732025-07-20 10:47:14 +0200249
250 <!-- Apache Commons Compress for tar archive support -->
251 <dependency>
252 <groupId>org.apache.commons</groupId>
253 <artifactId>commons-compress</artifactId>
dependabot[bot]77d15262025-07-30 00:56:02 +0000254 <version>1.28.0</version>
Marc Kupietz2db71732025-07-20 10:47:14 +0200255 </dependency>
Akron22d319e2018-04-01 17:13:49 +0200256 </dependencies>
Marc Kupietz6d76d9d2022-11-13 07:29:31 +0100257
Akrone1befe02021-07-27 13:34:51 +0200258 <build>
259 <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
260 <outputDirectory>${basedir}/bin</outputDirectory>
261 <plugins>
262 <plugin>
263 <artifactId>maven-compiler-plugin</artifactId>
dependabot[bot]59422e62026-02-04 00:52:40 +0000264 <version>3.15.0</version>
Akrone1befe02021-07-27 13:34:51 +0200265 <inherited>true</inherited>
266 <configuration>
267 <showWarnings>true</showWarnings>
268 <source>${java.version}</source>
269 <target>${java.version}</target>
270 </configuration>
271 </plugin>
272
273 <plugin>
274 <groupId>org.apache.maven.plugins</groupId>
275 <artifactId>maven-shade-plugin</artifactId>
dependabot[bot]43991a82026-03-06 00:52:34 +0000276 <version>3.6.2</version>
Akrone1befe02021-07-27 13:34:51 +0200277 <executions>
278 <execution>
279 <id>indexer</id>
280 <phase>package</phase>
281 <goals>
282 <goal>shade</goal>
283 </goals>
284 <configuration>
Marc Kupietzc38dc9f2024-02-19 15:58:00 +0100285 <createDependencyReducedPom>false</createDependencyReducedPom>
Akrone1befe02021-07-27 13:34:51 +0200286 <transformers>
287 <transformer
288 implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
289 <mainClass>de.ids_mannheim.korap.index.Indexer</mainClass>
290 </transformer>
291 </transformers>
292 <finalName>${project.artifactId}-Indexer</finalName>
293 </configuration>
294 </execution>
295 <execution>
Marc Kupietz3663a932026-06-08 20:47:10 +0200296 <id>metaexporter</id>
297 <phase>package</phase>
298 <goals>
299 <goal>shade</goal>
300 </goals>
301 <configuration>
302 <createDependencyReducedPom>false</createDependencyReducedPom>
303 <transformers>
304 <transformer
305 implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
306 <mainClass>de.ids_mannheim.korap.index.MetaExporter</mainClass>
307 </transformer>
308 </transformers>
309 <finalName>${project.artifactId}-MetaExporter</finalName>
310 </configuration>
311 </execution>
312 <execution>
Akrone1befe02021-07-27 13:34:51 +0200313 <id>server</id>
314 <phase>package</phase>
315 <goals>
316 <goal>shade</goal>
317 </goals>
318 <configuration>
Marc Kupietzc38dc9f2024-02-19 15:58:00 +0100319 <createDependencyReducedPom>false</createDependencyReducedPom>
Akrone1befe02021-07-27 13:34:51 +0200320 <transformers>
321 <transformer
322 implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
323 <mainClass>de.ids_mannheim.korap.server.Node</mainClass>
324 </transformer>
325 <transformer
326 implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
327 <resource>krill.properties</resource>
328 </transformer>
329 </transformers>
330 <finalName>${project.name}-Server</finalName>
331 </configuration>
332 </execution>
333 </executions>
334 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100335
Akrone1befe02021-07-27 13:34:51 +0200336 <plugin>
337 <groupId>org.apache.maven.plugins</groupId>
338 <artifactId>maven-surefire-plugin</artifactId>
dependabot[bot]d1416102026-05-28 01:31:38 +0000339 <version>3.5.6</version>
Akrone1befe02021-07-27 13:34:51 +0200340 <configuration>
341 <useSystemClassLoader>false</useSystemClassLoader>
342 <argLine>-Xmx512m</argLine>
343 <excludes>
344 <exclude>**/benchmark/*</exclude>
345 <exclude>**/TestWPDIndex.java</exclude>
346 <exclude>**/TestRealIndex.java</exclude>
347 <exclude>**/TestSampleIndex.java</exclude>
348 <exclude>**/TestParallelIndex.java</exclude>
349 </excludes>
350 </configuration>
351 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100352
Akrone1befe02021-07-27 13:34:51 +0200353 <!-- Formatter plugin for Eclipse based coding conventions http://maven-java-formatter-plugin.googlecode.com/svn/site/0.4/usage.html -->
354 <plugin>
355 <groupId>com.googlecode.maven-java-formatter-plugin</groupId>
356 <artifactId>maven-java-formatter-plugin</artifactId>
357 <version>0.4</version>
358 <configuration>
359 <configFile>${project.basedir}/Format.xml</configFile>
360 <overrideConfigCompilerVersion>true</overrideConfigCompilerVersion>
361 <compilerSource>${java.version}</compilerSource>
362 <compilerCompliance>${java.version}</compilerCompliance>
363 <compilerTargetPlatform>${java.version}</compilerTargetPlatform>
364 </configuration>
365 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100366
Marc Kupietz58e0aaa2024-03-17 18:44:41 +0100367 <plugin>
368 <groupId>org.codehaus.mojo</groupId>
369 <artifactId>exec-maven-plugin</artifactId>
dependabot[bot]c49d55a2026-01-14 00:52:25 +0000370 <version>3.6.3</version>
Marc Kupietz58e0aaa2024-03-17 18:44:41 +0100371 <executions>
372 <execution>
373 <goals>
374 <goal>java</goal>
375 </goals>
376 <configuration>
377 <mainClass>de.ids_mannheim.korap.server.Node</mainClass>
378 </configuration>
379 </execution>
380 <execution>
381 <id>run-krill-indexer-jar</id>
382 <phase>verify</phase>
383 <goals>
384 <goal>exec</goal>
385 </goals>
386 <configuration>
387 <executable>java</executable>
388 <arguments>
389 <argument>-jar</argument>
390 <argument>${project.build.directory}/Krill-Indexer.jar</argument>
391 </arguments>
392 </configuration>
393 </execution>
394 </executions>
395 </plugin>
Akrone1befe02021-07-27 13:34:51 +0200396 </plugins>
Eliza Margarethaff416632016-11-03 15:08:07 +0100397
Akrone1befe02021-07-27 13:34:51 +0200398 <resources>
399 <resource>
400 <directory>src/main/resources</directory>
401 <filtering>true</filtering>
402 <includes>
403 <include>krill.info</include>
404 </includes>
405 </resource>
406 <resource>
407 <directory>src/main/resources</directory>
408 <filtering>false</filtering>
409 <excludes>
410 <exclude>krill.info</exclude>
411 </excludes>
412 </resource>
413 </resources>
Marc Kupietz4369ed62020-11-12 10:05:44 +0100414
Akrone1befe02021-07-27 13:34:51 +0200415 <testResources>
416 <testResource>
417 <directory>src/test/resources</directory>
418 <filtering>true</filtering>
419 <includes>
420 <include>krill.properties</include>
421 </includes>
422 </testResource>
423 <testResource>
424 <directory>src/test/resources</directory>
425 <filtering>false</filtering>
426 <excludes>
427 <exclude>krill.properties</exclude>
428 </excludes>
429 </testResource>
430 </testResources>
431 </build>
Nils Diewaldf399a672013-11-18 17:55:22 +0000432</project>