<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-full</artifactId>
	<version>0.63.2</version>
	<properties>
		<java.version>1.8</java.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<jersey.version>1.19.4</jersey.version>
		<hibernate.version>5.5.3.Final</hibernate.version>
	</properties>
	<profiles>
		<profile>
			<id>full</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-shade-plugin</artifactId>
						<version>3.2.4</version>
						<executions>
							<!-- option 1 -->
							<execution>
								<id>full</id>
								<phase>package</phase>
								<goals>
									<goal>shade</goal>
								</goals>
								<configuration>
									<finalName>Kustvakt-full-${project.version}</finalName>
									<transformers>
										<transformer
											implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
											<mainClass>
												de.ids_mannheim.korap.server.KustvaktServer
											</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>
				</plugins>
			</build>
		</profile>
	</profiles>
	<build>
		<!-- <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> 
			<includes> <include>**/*.info</include> <include>**/*.xml</include> <include>**/*.conf</include> 
			<include>**/*.kustvakt</include> <include>**/*.properties</include> <include>**/*.sql</include> 
			<include>**/*.vm</include> </includes> </resource> </resources> -->
		<testResources>
			<testResource>
				<directory>src/test/resources</directory>
			</testResource>
			<testResource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>**/*.info</include>
					<include>**/*.properties</include>
					<include>**/*.json</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.8.1</version>
				<configuration>
					<compilerVersion>${java.version}</compilerVersion>
					<source>${java.version}</source>
					<target>${java.version}</target>
					<!-- <compilerArguments> <processor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</processor> 
						<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor> 
						</compilerArguments> -->
					<annotationProcessors>
						<processor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</processor>
						<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
					</annotationProcessors>
				</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>10</threadCount>
					<argLine>-Xmx512m -XX:MaxPermSize=256m
						-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager</argLine>
					<excludes>
						<exclude>de/ids_mannheim/korap/authentication/*.java</exclude>
						<exclude>de/ids_mannheim/korap/web/controller/TokenExpiryTest.java</exclude>
					</excludes>
					<includes>
						<include>de/ids_mannheim/korap/**/*.java</include>
					</includes>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>de.ids_mannheim.korap</groupId>
			<artifactId>Kustvakt-core</artifactId>
			<version>[0.63.2,)</version>
		</dependency>
		<dependency>
			<groupId>de.ids_mannheim.korap</groupId>
			<artifactId>Kustvakt-core</artifactId>
			<version>[0.63.2,)</version>
			<classifier>tests</classifier>
      		<type>test-jar</type>
      		<scope>test</scope>
		</dependency>
		<!-- LDAP -->
		<dependency>
			<groupId>com.novell.ldap</groupId>
			<artifactId>jldap</artifactId>
			<version>4.3</version>
		</dependency>
		<dependency>
			<groupId>com.unboundid</groupId>
			<artifactId>unboundid-ldapsdk</artifactId>
			<version>6.0.0</version>
		</dependency>

		<!-- Hibernate -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>${hibernate.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.javassist</groupId>
					<artifactId>javassist</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-jpamodelgen</artifactId>
			<version>${hibernate.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-java8</artifactId>
			<version>${hibernate.version}</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-c3p0</artifactId>
			<version>${hibernate.version}</version>
		</dependency>

		<!-- MySql -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.25</version>
		</dependency>

		<!-- Jersey -->
		<dependency>
			<groupId>com.sun.jersey.jersey-test-framework</groupId>
			<artifactId>jersey-test-framework-core</artifactId>
			<version>${jersey.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey.jersey-test-framework</groupId>
			<artifactId>jersey-test-framework-grizzly</artifactId>
			<version>${jersey.version}</version>
			<scope>test</scope>
		</dependency>

		<!-- velocity -->
		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity-engine-core</artifactId>
			<version>2.3</version>
		</dependency>
		<dependency>
			<groupId>org.apache.velocity.tools</groupId>
			<artifactId>velocity-tools-generic</artifactId>
			<version>3.1</version>
		</dependency>
		<!-- mail -->
		<dependency>
			<groupId>com.sun.mail</groupId>
			<artifactId>javax.mail</artifactId>
			<version>1.6.2</version>
		</dependency>
		<dependency>
			<groupId>javax.activation</groupId>
			<artifactId>activation</artifactId>
			<version>1.1.1</version>
		</dependency>

		<!-- OAuth -->
		<dependency>
			<groupId>org.apache.oltu.oauth2</groupId>
			<artifactId>org.apache.oltu.oauth2.authzserver</artifactId>
			<version>1.0.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.oltu.oauth2</groupId>
			<artifactId>org.apache.oltu.oauth2.client</artifactId>
			<version>1.0.2</version>
		</dependency>
		<!-- JWT -->
		<dependency>
			<groupId>com.nimbusds</groupId>
			<artifactId>nimbus-jose-jwt</artifactId>
			<version>9.11</version>
		</dependency>

		<!-- OpenId -->
		<dependency>
			<groupId>com.nimbusds</groupId>
			<artifactId>oauth2-oidc-sdk</artifactId>
			<version>8.28.4</version>
		</dependency>

		<!-- Project Lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.20</version>
			<scope>provided</scope>
		</dependency>
		
		<!-- Mockserver -->
		<dependency>
		    <groupId>org.mock-server</groupId>
		    <artifactId>mockserver-netty</artifactId>
		    <version>5.11.2</version>
		    <scope>test</scope>
		</dependency>
	</dependencies>
</project>
