| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <!-- ** Server |
| |
| # Start the server with |
| |
| $ mvn compile exec:java |
| |
| # Or after packaging |
| |
| $ mvn clean package |
| |
| # with |
| |
| $ java -jar target/Krill-Server.jar |
| |
| ** Formatter |
| |
| # Format the code with $ mvn java-formatter:format |
| |
| ** Indexer |
| # after packaging (see above) |
| |
| $ java -jar target/Krill-Indexer.jar -c [configuration file] |
| -i [input directories] -o [output directory] |
| |
| for example: |
| |
| $ java -jar target/Krill-Indexer.jar -c src/test/resources/krill.properties |
| -i src/test/resources/bzk -o index/ |
| |
| --> |
| |
| <groupId>de.ids-mannheim.korap.krill</groupId> |
| <artifactId>Krill</artifactId> |
| <version>0.63.2</version> |
| <packaging>jar</packaging> |
| |
| <name>Krill</name> |
| <url>https://korap.ids-mannheim.de/</url> |
| |
| <organization> |
| <name>IDS Mannheim</name> |
| <url>https://www.ids-mannheim.de/</url> |
| </organization> |
| |
| <developers> |
| <developer> |
| <name>Nils Diewald</name> |
| <email>diewald@ids-mannheim.de</email> |
| <url>https://www.nils-diewald.de</url> |
| </developer> |
| <developer> |
| <name>Eliza Margaretha</name> |
| <email>margaretha@ids-mannheim.de</email> |
| </developer> |
| </developers> |
| |
| <properties> |
| <java.version>17</java.version> |
| <jersey.version>3.1.8</jersey.version> |
| <jackson.version>2.17.2</jackson.version> |
| <log4j.version>2.23.1</log4j.version> |
| <lucene.version>5.0.0</lucene.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.glassfish.jersey</groupId> |
| <artifactId>jersey-bom</artifactId> |
| <version>${jersey.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <!-- junit dependency --> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.13.2</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- https://mvnrepository.com/artifact/jakarta.ws.rs/jakarta.ws.rs-api --> |
| <dependency> |
| <groupId>jakarta.ws.rs</groupId> |
| <artifactId>jakarta.ws.rs-api</artifactId> |
| <version>4.0.0</version> |
| </dependency> |
| |
| <!-- log4j dependency --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| <version>${log4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core</artifactId> |
| <version>${log4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| <version>${log4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jul-to-slf4j</artifactId> |
| <version>2.0.16</version> |
| </dependency> |
| |
| <!-- SQLite for database connection tests --> |
| <dependency> |
| <groupId>org.xerial</groupId> |
| <artifactId>sqlite-jdbc</artifactId> |
| <version>3.46.0.1</version> |
| </dependency> |
| |
| <!-- Database Connection Pool Manager --> |
| <dependency> |
| <groupId>com.mchange</groupId> |
| <artifactId>c3p0</artifactId> |
| <version>0.10.1</version> |
| </dependency> |
| |
| <!-- Lucene core dependency --> |
| <dependency> |
| <artifactId>lucene-core</artifactId> |
| <groupId>org.apache.lucene</groupId> |
| <type>jar</type> |
| <version>${lucene.version}</version> |
| </dependency> |
| |
| <!-- Lucene queryparser dependency --> |
| <dependency> |
| <artifactId>lucene-queryparser</artifactId> |
| <groupId>org.apache.lucene</groupId> |
| <type>jar</type> |
| <version>${lucene.version}</version> |
| </dependency> |
| |
| <!-- Lucene analyzers dependency --> |
| <dependency> |
| <artifactId>lucene-analyzers-common</artifactId> |
| <groupId>org.apache.lucene</groupId> |
| <type>jar</type> |
| <version>${lucene.version}</version> |
| </dependency> |
| |
| <!-- JCache --> |
| <dependency> |
| <groupId>net.sf.jsr107cache</groupId> |
| <artifactId>jsr107cache</artifactId> |
| <version>1.1</version> |
| </dependency> |
| |
| <!-- Jersey --> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-grizzly2-http</artifactId> |
| </dependency> |
| |
| <!-- JSON support in Jersey --> |
| <dependency> |
| <groupId>com.fasterxml.jackson.jaxrs</groupId> |
| <artifactId>jackson-jaxrs-json-provider</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jersey.inject</groupId> |
| <artifactId>jersey-hk2</artifactId> |
| <version>${jersey.version}</version> |
| </dependency> |
| |
| <!-- JSON support using Jackson --> |
| <!-- see https://github.com/FasterXML/jackson-core --> |
| <!-- https://github.com/FasterXML/jackson-databind --> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| |
| <!-- JSON-LD support --> |
| <!-- <dependency> <groupId>com.github.jsonld-java</groupId> <artifactId>jsonld-java</artifactId> |
| <version>0.5.2-SNAPSHOT</version> </dependency> Temporarily disable @Experimental |
| annotation <dependency> <groupId>KorapAnnotationProcessor</groupId> <artifactId>KorapAnnotationProcessor</artifactId> |
| <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> --> |
| |
| <!-- Some language extensions like StringUtil, IOUtils ... --> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>3.16.0</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>1.9.0</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>2.16.1</version> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <sourceDirectory>${basedir}/src/main/java</sourceDirectory> |
| <outputDirectory>${basedir}/bin</outputDirectory> |
| <plugins> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.13.0</version> |
| <inherited>true</inherited> |
| <configuration> |
| <showWarnings>true</showWarnings> |
| <source>${java.version}</source> |
| <target>${java.version}</target> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.6.0</version> |
| <executions> |
| <execution> |
| <id>indexer</id> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <createDependencyReducedPom>false</createDependencyReducedPom> |
| <transformers> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> |
| <mainClass>de.ids_mannheim.korap.index.Indexer</mainClass> |
| </transformer> |
| </transformers> |
| <finalName>${project.artifactId}-Indexer</finalName> |
| </configuration> |
| </execution> |
| <execution> |
| <id>server</id> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <createDependencyReducedPom>false</createDependencyReducedPom> |
| <transformers> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> |
| <mainClass>de.ids_mannheim.korap.server.Node</mainClass> |
| </transformer> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> |
| <resource>krill.properties</resource> |
| </transformer> |
| </transformers> |
| <finalName>${project.name}-Server</finalName> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>3.3.1</version> |
| <configuration> |
| <useSystemClassLoader>false</useSystemClassLoader> |
| <argLine>-Xmx512m</argLine> |
| <excludes> |
| <exclude>**/benchmark/*</exclude> |
| <exclude>**/TestWPDIndex.java</exclude> |
| <exclude>**/TestRealIndex.java</exclude> |
| <exclude>**/TestSampleIndex.java</exclude> |
| <exclude>**/TestParallelIndex.java</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| |
| <!-- Formatter plugin for Eclipse based coding conventions http://maven-java-formatter-plugin.googlecode.com/svn/site/0.4/usage.html --> |
| <plugin> |
| <groupId>com.googlecode.maven-java-formatter-plugin</groupId> |
| <artifactId>maven-java-formatter-plugin</artifactId> |
| <version>0.4</version> |
| <configuration> |
| <configFile>${project.basedir}/Format.xml</configFile> |
| <overrideConfigCompilerVersion>true</overrideConfigCompilerVersion> |
| <compilerSource>${java.version}</compilerSource> |
| <compilerCompliance>${java.version}</compilerCompliance> |
| <compilerTargetPlatform>${java.version}</compilerTargetPlatform> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>3.4.1</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| <configuration> |
| <mainClass>de.ids_mannheim.korap.server.Node</mainClass> |
| </configuration> |
| </execution> |
| <execution> |
| <id>run-krill-indexer-jar</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>java</executable> |
| <arguments> |
| <argument>-jar</argument> |
| <argument>${project.build.directory}/Krill-Indexer.jar</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| <includes> |
| <include>krill.info</include> |
| </includes> |
| </resource> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>false</filtering> |
| <excludes> |
| <exclude>krill.info</exclude> |
| </excludes> |
| </resource> |
| </resources> |
| |
| <testResources> |
| <testResource> |
| <directory>src/test/resources</directory> |
| <filtering>true</filtering> |
| <includes> |
| <include>krill.properties</include> |
| </includes> |
| </testResource> |
| <testResource> |
| <directory>src/test/resources</directory> |
| <filtering>false</filtering> |
| <excludes> |
| <exclude>krill.properties</exclude> |
| </excludes> |
| </testResource> |
| </testResources> |
| </build> |
| </project> |