<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</groupId>
	<artifactId>Krill</artifactId>
	<version>0.59.0</version>
	<packaging>jar</packaging>

	<name>Krill</name>
	<url>http://www.ids-mannheim.de/</url>

	<organization>
		<name>IDS Mannheim</name>
		<url>http://www.ids-mannheim.de/</url>
	</organization>

	<developers>
		<developer>
			<name>Nils Diewald</name>
			<email>diewald@ids-mannheim.de</email>
			<url>http://nils-diewald.de</url>
		</developer>
		<developer>
			<name>Eliza Margaretha</name>
			<email>margaretha@ids-mannheim.de</email>
		</developer>
	</developers>

	<properties>
	    <java.version>1.8</java.version>
		<jersey.version>2.15</jersey.version>
		<jackson.version>[2.9.5,)</jackson.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.11</version>
			<scope>test</scope>
		</dependency>

		<!-- log4j dependency -->
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-api</artifactId>
			<version>2.10.0</version>
		</dependency>
    <dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
			<version>2.10.0</version>
		</dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <version>2.10.0</version>
    </dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jul-to-slf4j</artifactId>
			<version>1.7.25</version>
		</dependency>
		
		<dependency>
		    <groupId>net.sf.ehcache</groupId>
		    <artifactId>ehcache</artifactId>
		    <version>2.10.5</version>
		</dependency>

		<!-- SQLite for database connection tests -->
		<dependency>
			<groupId>org.xerial</groupId>
			<artifactId>sqlite-jdbc</artifactId>
			<version>3.7.2</version>
		</dependency>

		<!-- Database Connection Pool Manager -->
		<dependency>
			<groupId>c3p0</groupId>
			<artifactId>c3p0</artifactId>
			<version>0.9.1.2</version>
		</dependency>

		<!-- Lucene core dependency -->
		<dependency>
			<artifactId>lucene-core</artifactId>
			<groupId>org.apache.lucene</groupId>
			<type>jar</type>
			<version>5.0.0</version>
		</dependency>

		<!-- Lucene queryparser dependency -->
		<dependency>
			<artifactId>lucene-queryparser</artifactId>
			<groupId>org.apache.lucene</groupId>
			<type>jar</type>
			<version>5.0.0</version>
		</dependency>

		<!-- Lucene analyzers dependency -->
		<dependency>
			<artifactId>lucene-analyzers-common</artifactId>
			<groupId>org.apache.lucene</groupId>
			<type>jar</type>
			<version>5.0.0</version>
		</dependency>

		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-core</artifactId>
			<version>1.3</version>
		</dependency>

		<!-- JCache -->
		<dependency>
			<groupId>net.sf.jsr107cache</groupId>
			<artifactId>jsr107cache</artifactId>
			<version>1.0</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>

		<!-- 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>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>commons-cli</groupId>
			<artifactId>commons-cli</artifactId>
			<version>1.4</version>
		</dependency>
    	<dependency>
		    <groupId>commons-io</groupId>
		    <artifactId>commons-io</artifactId>
		    <version>2.6</version>
		</dependency>
  </dependencies>

	<build>
		<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
		<outputDirectory>${basedir}/bin</outputDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<inherited>true</inherited>
				<configuration>
				    <argLine>-Xms512m</argLine>
					<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.2.1</version>
				<executions>
					<execution>
						<id>indexer</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<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>
							<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>2.22.2</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>1.6.0</version>
				<executions>
					<execution>
						<goals>
							<goal>java</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<mainClass>de.ids_mannheim.korap.server.Node</mainClass>
				</configuration>
			</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>
