blob: d0f48e1babc2e3c10c7b2ded74f12a850c3f6c18 [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>
Akron919a6012021-10-25 16:27:28 +020038 <version>0.59.6</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>
63 <jersey.version>3.0.2</jersey.version>
64 <jackson.version>2.12.4</jackson.version>
65 <log4j.version>2.14.1</log4j.version>
66 <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>
240 </dependency>
Akron22d319e2018-04-01 17:13:49 +0200241 </dependencies>
Akrone1befe02021-07-27 13:34:51 +0200242
243 <build>
244 <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
245 <outputDirectory>${basedir}/bin</outputDirectory>
246 <plugins>
247 <plugin>
248 <artifactId>maven-compiler-plugin</artifactId>
249 <version>3.8.1</version>
250 <inherited>true</inherited>
251 <configuration>
252 <showWarnings>true</showWarnings>
253 <source>${java.version}</source>
254 <target>${java.version}</target>
255 </configuration>
256 </plugin>
257
258 <plugin>
259 <groupId>org.apache.maven.plugins</groupId>
260 <artifactId>maven-shade-plugin</artifactId>
261 <version>3.2.4</version>
262 <executions>
263 <execution>
264 <id>indexer</id>
265 <phase>package</phase>
266 <goals>
267 <goal>shade</goal>
268 </goals>
269 <configuration>
270 <transformers>
271 <transformer
272 implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
273 <mainClass>de.ids_mannheim.korap.index.Indexer</mainClass>
274 </transformer>
275 </transformers>
276 <finalName>${project.artifactId}-Indexer</finalName>
277 </configuration>
278 </execution>
279 <execution>
280 <id>server</id>
281 <phase>package</phase>
282 <goals>
283 <goal>shade</goal>
284 </goals>
285 <configuration>
286 <transformers>
287 <transformer
288 implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
289 <mainClass>de.ids_mannheim.korap.server.Node</mainClass>
290 </transformer>
291 <transformer
292 implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
293 <resource>krill.properties</resource>
294 </transformer>
295 </transformers>
296 <finalName>${project.name}-Server</finalName>
297 </configuration>
298 </execution>
299 </executions>
300 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100301
Akrone1befe02021-07-27 13:34:51 +0200302 <plugin>
303 <groupId>org.apache.maven.plugins</groupId>
304 <artifactId>maven-surefire-plugin</artifactId>
305 <version>2.22.2</version>
306 <configuration>
307 <useSystemClassLoader>false</useSystemClassLoader>
308 <argLine>-Xmx512m</argLine>
309 <excludes>
310 <exclude>**/benchmark/*</exclude>
311 <exclude>**/TestWPDIndex.java</exclude>
312 <exclude>**/TestRealIndex.java</exclude>
313 <exclude>**/TestSampleIndex.java</exclude>
314 <exclude>**/TestParallelIndex.java</exclude>
315 </excludes>
316 </configuration>
317 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100318
Akrone1befe02021-07-27 13:34:51 +0200319 <!-- Formatter plugin for Eclipse based coding conventions http://maven-java-formatter-plugin.googlecode.com/svn/site/0.4/usage.html -->
320 <plugin>
321 <groupId>com.googlecode.maven-java-formatter-plugin</groupId>
322 <artifactId>maven-java-formatter-plugin</artifactId>
323 <version>0.4</version>
324 <configuration>
325 <configFile>${project.basedir}/Format.xml</configFile>
326 <overrideConfigCompilerVersion>true</overrideConfigCompilerVersion>
327 <compilerSource>${java.version}</compilerSource>
328 <compilerCompliance>${java.version}</compilerCompliance>
329 <compilerTargetPlatform>${java.version}</compilerTargetPlatform>
330 </configuration>
331 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100332
Akrone1befe02021-07-27 13:34:51 +0200333 <plugin>
334 <groupId>org.codehaus.mojo</groupId>
335 <artifactId>exec-maven-plugin</artifactId>
336 <version>3.0.0</version>
337 <executions>
338 <execution>
339 <goals>
340 <goal>java</goal>
341 </goals>
342 </execution>
343 </executions>
344 <configuration>
345 <mainClass>de.ids_mannheim.korap.server.Node</mainClass>
346 </configuration>
347 </plugin>
Eliza Margarethaff416632016-11-03 15:08:07 +0100348
Akrone1befe02021-07-27 13:34:51 +0200349 <plugin>
350 <groupId>org.codehaus.mojo</groupId>
351 <artifactId>cobertura-maven-plugin</artifactId>
352 <version>${cobertura.version}</version>
353 <configuration>
354 <formats>
355 <format>html</format>
356 <format>xml</format>
357 </formats>
358 <check>
359 <branchRate>70</branchRate>
360 <lineRate>70</lineRate>
361 <haltOnFailure>true</haltOnFailure>
362 <totalBranchRate>70</totalBranchRate>
363 <totalLineRate>70</totalLineRate>
364 <packageLineRate>70</packageLineRate>
365 <packageBranchRate>70</packageBranchRate>
366 </check>
367 </configuration>
368 <executions>
369 <execution>
370 <goals>
371 <goal>clean</goal>
372 </goals>
373 </execution>
374 </executions>
375 </plugin>
376 </plugins>
Eliza Margarethaff416632016-11-03 15:08:07 +0100377
Akrone1befe02021-07-27 13:34:51 +0200378 <resources>
379 <resource>
380 <directory>src/main/resources</directory>
381 <filtering>true</filtering>
382 <includes>
383 <include>krill.info</include>
384 </includes>
385 </resource>
386 <resource>
387 <directory>src/main/resources</directory>
388 <filtering>false</filtering>
389 <excludes>
390 <exclude>krill.info</exclude>
391 </excludes>
392 </resource>
393 </resources>
Marc Kupietz4369ed62020-11-12 10:05:44 +0100394
Akrone1befe02021-07-27 13:34:51 +0200395 <testResources>
396 <testResource>
397 <directory>src/test/resources</directory>
398 <filtering>true</filtering>
399 <includes>
400 <include>krill.properties</include>
401 </includes>
402 </testResource>
403 <testResource>
404 <directory>src/test/resources</directory>
405 <filtering>false</filtering>
406 <excludes>
407 <exclude>krill.properties</exclude>
408 </excludes>
409 </testResource>
410 </testResources>
411 </build>
Nils Diewaldf399a672013-11-18 17:55:22 +0000412</project>