<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>

	<groupId>de.ids_mannheim.korap</groupId>
	<artifactId>Koral</artifactId>
	<version>0.37</version>
	<packaging>jar</packaging>
	<name>Koral</name>
	<url>https://korap.ids-mannheim.de</url>

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

	<developers>
		<developer>
			<name>Joachim Bingel</name>
			<email>bingel@ids-mannheim.de</email>
		</developer>
		<developer>
			<name>Nils Diewald</name>
			<email>diewald@ids-mannheim.de</email>
			<url>http://nils-diewald.de</url>
		</developer>
		<developer>
			<name>Michael Hanl</name>
			<email>hanl@ids-mannheim.de</email>
		</developer>
		<developer>
			<name>Eliza Margaretha</name>
			<email>margaretha@ids-mannheim.de</email>
		</developer>
	</developers>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>		
		<jackson.version>[2.9.5,)</jackson.version>
		<antlr4.version>4.9.2</antlr4.version>
		<antlr3.version>3.5.2</antlr3.version>
		<java.version>1.8</java.version>
		<log4j.version>2.14.1</log4j.version>
	</properties>
	
	<repositories>
		<repository>
			<id>id-maven-repo</id>
			<url>https://maven.indexdata.com</url>
		</repository>
		<repository>
			<id>CLARIN</id>
			<name>CLARIN Repository</name>
			<url>https://nexus.clarin.eu/content/repositories/Clarin</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>
	<dependencies>
		<dependency>
			<groupId>org.antlr</groupId>
			<artifactId>antlr4-runtime</artifactId>
			<version>${antlr4.version}</version>
		</dependency>
		<dependency>
			<groupId>org.antlr</groupId>
			<artifactId>antlr4-maven-plugin</artifactId>
			<version>${antlr4.version}</version>
			<!-- <scope>provided</scope> -->
			<exclusions>
				<!-- incompatible with mock server -->
				<exclusion>
					<groupId>org.sonatype.sisu</groupId>
					<artifactId>sisu-guava</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- adding manually due to Shell Command Injection and Directory Traversal
		https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000487 
		https://cwe.mitre.org/data/definitions/22.html --> 
		<dependency>
		    <groupId>org.codehaus.plexus</groupId>
		    <artifactId>plexus-utils</artifactId>
		    <version>3.4.1</version>
		</dependency>
		<dependency>
			<groupId>org.antlr</groupId>
			<artifactId>antlr-runtime</artifactId>
			<version>${antlr3.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>[29.0-jre,)</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</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-databind</artifactId>
			<version>${jackson.version}</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.13.2</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>org.z3950.zing</groupId>
			<artifactId>cql-java</artifactId>
			<version>1.13</version>
		</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.apache.logging.log4j</groupId>
			<artifactId>log4j-jul</artifactId>
			<version>${log4j.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.32</version>
		</dependency>
		<dependency>
			<groupId>eu.clarin.sru.fcs</groupId>
			<artifactId>fcs-simple-endpoint</artifactId>
			<version>1.4.0</version>
		</dependency>
	</dependencies>
	<build>
		<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
		<outputDirectory>${basedir}/target/classes</outputDirectory>
		<plugins>
		  <plugin>
			  <groupId>org.apache.maven.plugins</groupId>
			  <artifactId>maven-clean-plugin</artifactId>
		    <version>3.1.0</version>
		    <configuration>
		      <filesets>
		        <fileset>
		          <directory>${basedir}/src/main/java/de/ids_mannheim/korap/query/parse</directory>
		          <includes>
		          	<include>**/*.java</include>
		            <include>**/*.tokens</include>
		          </includes>
		          <excludes>
		          	<exclude>**/IErrorReporter.java</exclude>
		          	<exclude>**/c2ps_opAnnot.java</exclude>
		          	<exclude>**/c2ps_opBED.java</exclude>
		          	<exclude>**/c2ps_opELEM.java</exclude>
		          	<exclude>**/c2ps_opIN.java</exclude>
		          	<exclude>**/c2ps_opOV.java</exclude>
		          	<exclude>**/c2ps_opPROX.java</exclude>
		          	<exclude>**/c2ps_opWF.java</exclude>
		          	<exclude>**/c2ps_optCase.java</exclude>
		          	<exclude>**/.gitignore</exclude>
		          	<exclude>fcsql/*</exclude>
		          </excludes>
		          <followSymlinks>false</followSymlinks>
		        </fileset>
		      </filesets>
		    </configuration>
		  </plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.22.2</version>
				<configuration>
                    <useSystemClassLoader>false</useSystemClassLoader>
					<excludes>
						<exclude>**/OPINTest.java</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<!-- <verbose>true</verbose>
		          	<fork>true</fork> -->
		         	<!-- <executable>${env.JAVA7_HOME}/bin/javac</executable> -->
					<compilerVersion>2.0</compilerVersion>
					<source>${java.version}</source>
					<target>${java.version}</target>
				</configuration>
			</plugin>
			<!-- <plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>properties-maven-plugin</artifactId>
				<version>1.0.0</version>
				<executions>
					<execution>
						<goals>
							<goal>set-system-properties</goal>
						</goals>
						<configuration>
							<properties>
								<property>
									<name>https.protocols</name>
									<value>TLSv1.2</value>
								</property>
							</properties>
						</configuration>
					</execution>
				</executions>
			</plugin> -->
			<!-- <plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<systemProperties>
			            <property>
			              <name>https.protocols</name>
			              <value>TLSv1.2</value>
			            </property>
			          </systemProperties>
					<argLine>-Djava.https.protocols=TLSv1.2</argLine>
				</configuration>
			</plugin>
			<plugin>
		        <groupId>org.apache.maven.plugins</groupId>
		        <artifactId>maven-failsafe-plugin</artifactId>
		        <version>2.19.1</version>
		        <configuration>
		          <systemPropertyVariables>
		            <https.protocols>TLSv1.2</https.protocols>
		          </systemPropertyVariables>
		        </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.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/../lib</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.2.0</version>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<classpathPrefix>../lib/</classpathPrefix>
							<mainClass>de.ids_mannheim.korap.query.serialize.QuerySerializer</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<!-- This plugin will help to build the ANTLR4 grammar on the fly. The 
					recipe is based on http://stackoverflow.com/questions/15310628/ customize-maven-to-automatically-create-antlr4-grammar-java-files-on-build -->
				<groupId>org.antlr</groupId>
				<artifactId>antlr4-maven-plugin</artifactId>
				<version>${antlr4.version}</version>
				<executions>
					<execution>
						<id>poliqarpplus</id>
						<goals>
							<goal>antlr4</goal>
						</goals>
						<configuration>
							<sourceDirectory>${basedir}/src/main/antlr/poliqarpplus</sourceDirectory>
							<outputDirectory>${basedir}/src/main/java/de/ids_mannheim/korap/query/parse/poliqarpplus</outputDirectory>
							<libDirectory>${basedir}/src/main/antlr/poliqarpplus</libDirectory>
						</configuration>
						<!-- <phase>generate-sources</phase> -->
					</execution>
					<execution>
						<id>annis</id>
						<goals>
							<goal>antlr4</goal>
						</goals>
						<configuration>
							<sourceDirectory>${basedir}/src/main/antlr/annis</sourceDirectory>
							<outputDirectory>${basedir}/src/main/java/de/ids_mannheim/korap/query/parse/annis</outputDirectory>
							<libDirectory>${basedir}/src/main/antlr/annis</libDirectory>
						</configuration>
						<!-- <phase>generate-sources</phase> -->
					</execution>
					<execution>
						<id>collection</id>
						<goals>
							<goal>antlr4</goal>
						</goals>
						<configuration>
							<sourceDirectory>${basedir}/src/main/antlr/collection</sourceDirectory>
							<outputDirectory>${basedir}/src/main/java/de/ids_mannheim/korap/query/parse/collection</outputDirectory>
							<libDirectory>${basedir}/src/main/antlr/collection</libDirectory>
						</configuration>
						<!-- <phase>generate-sources</phase> -->
					</execution>
				</executions>
			</plugin>
			<plugin>
				<!-- This plugin will help to build the ANTLR3 grammar on the fly. The 
					recipe is based on http://stackoverflow.com/questions/15310628/ customize-maven-to-automatically-create-antlr4-grammar-java-files-on-build -->
				<groupId>org.antlr</groupId>
				<artifactId>antlr3-maven-plugin</artifactId>
				<version>${antlr3.version}</version>
				<configuration>
					<sourceDirectory>${basedir}/src/main/antlr/cosmas</sourceDirectory>
					<outputDirectory>${basedir}/src/main/java/de/ids_mannheim/korap/query/parse/cosmas</outputDirectory>
					<libDirectory>${basedir}/src/main/antlr</libDirectory>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>antlr</goal>
						</goals>
						<!-- <phase>generate-sources</phase> -->
					</execution>
				</executions>
			</plugin>
		</plugins>
    <resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>koral.info</include>
				</includes>
			</resource>
		</resources>
	</build>
</project>
