<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>Kustvakt-lite</artifactId>
	<version>0.69</version>
	<properties>
		<java.version>11</java.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<spring-framework.version>5.1.1.RELEASE</spring-framework.version>
		<jersey.version>2.37</jersey.version>
	</properties>

	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
		</resources>
		<testResources>
			<testResource>
				<directory>src/test/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>**/*.prop</include>
					<include>**/*.xml</include>
					<include>**/*.conf</include>
					<include>**/*.info</include>
					<include>**/*.properties</include>
				</includes>
			</testResource>
			<testResource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>**/*.info</include>
					<include>**/*.properties</include>
				</includes>
			</testResource>
		</testResources>
		<plugins>
			<!-- 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>
				<!-- <executions> <execution> <goals> <goal>format</goal> </goals> </execution> 
					</executions> -->
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.10.1</version>
				<configuration>
					<compilerVersion>${java.version}</compilerVersion>
					<source>${java.version}</source>
					<target>${java.version}</target>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.22.2</version>
				<configuration>
                    <useSystemClassLoader>false</useSystemClassLoader>
					<reuseForks>true</reuseForks>
					<forkCount>1</forkCount>
					<threadCount>5</threadCount>
					<argLine>-Xmx512m -XX:MaxPermSize=256m
						-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager</argLine>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-shade-plugin</artifactId>
				<version>3.4.1</version>
				<executions>
					<!-- option 1 -->
					<execution>
						<id>light</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<finalName>
								Kustvakt-lite-${project.version}
							</finalName>
							<transformers>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<mainClass>
										de.ids_mannheim.korap.server.KustvaktLiteServer
									</mainClass>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/spring.handlers
									</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/spring.schemas
									</resource>
								</transformer>
							</transformers>
							<!-- Additional configuration. -->
							<!-- apparently there is a securityexception -->
							<filters>
								<filter>
									<artifact>*:*</artifact>
									<excludes>
										<exclude>META-INF/*.SF</exclude>
										<exclude>META-INF/*.DSA
										</exclude>
										<exclude>META-INF/*.RSA
										</exclude>
									</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<formats>
						<format>html</format>
						<format>xml</format>
					</formats>
					<check/>
				</configuration>
			</plugin>
		</plugins>
	</build>


	<dependencies>
		<dependency>
			<groupId>de.ids_mannheim.korap</groupId>
			<artifactId>Kustvakt-core</artifactId>
			<version>[0.65.1,)</version>
		</dependency>
		<dependency>
			<groupId>de.ids_mannheim.korap</groupId>
			<artifactId>Kustvakt-core</artifactId>
			<version>[0.65.1,)</version>
			<classifier>tests</classifier>
      		<type>test-jar</type>
      		<scope>test</scope>
      	</dependency>
		<!-- Jersey test framework -->
		<dependency>
			<groupId>org.glassfish.jersey.test-framework</groupId>
			<artifactId>jersey-test-framework-core</artifactId>
			<version>${jersey.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.test-framework.providers</groupId>
			<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
			<version>${jersey.version}</version>
			<scope>test</scope>
		</dependency>

		<!-- Project Lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.24</version>
			<scope>provided</scope>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.codehaus.mojo/cobertura-maven-plugin -->
		<dependency>
			<groupId>org.codehaus.mojo</groupId>
			<artifactId>cobertura-maven-plugin</artifactId>
			<version>2.7</version>
			<scope>test</scope>
			<exclusions>
			    <!-- multiple slf4j binding -->
		      	<exclusion>
		      		<groupId>ch.qos.logback</groupId>
		      		<artifactId>logback-classic</artifactId>
		      	</exclusion>
				<exclusion>
					<groupId>org.apache.commons</groupId>
					<artifactId>commons-lang3</artifactId>
				</exclusion>
				<!-- incompatilibily with eclipse 2021-03 (4.19.0) and java 11 -->
				<exclusion>
					<groupId>com.sun</groupId>
					<artifactId>tools</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- https://mvnrepository.com/artifact/backport-util-concurrent/backport-util-concurrent -->
		<dependency>
			<groupId>backport-util-concurrent</groupId>
			<artifactId>backport-util-concurrent</artifactId>
			<version>3.1</version>
		</dependency>
		 <!-- Mockserver -->
		<dependency>
		    <groupId>org.mock-server</groupId>
		    <artifactId>mockserver-netty</artifactId>
		    <version>5.14.0</version>
		    <scope>test</scope>
		    <exclusions>
		    	<exclusion>
		    		<groupId>com.fasterxml.jackson.core</groupId>
		    		<artifactId>jackson-core</artifactId>
		    	</exclusion>
		    	<exclusion>
		    		<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-annotations</artifactId>
		    	</exclusion>
		    	<exclusion>
		    		<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-databind</artifactId>
		    	</exclusion>
		    </exclusions>
		</dependency>
	</dependencies>
</project>
