<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</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.4.25.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>
		<profile>
			<id>lite</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-shade-plugin</artifactId>
						<version>3.2.4</version>
						<executions>
							<execution>
								<id>lite</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 security exception -->
									<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.,)</version>
		</dependency>
		<dependency>
			<groupId>de.ids_mannheim.korap</groupId>
			<artifactId>Kustvakt-core</artifactId>
			<version>[0.63.,)</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>5.1.1</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.22</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.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity-tools</artifactId>
			<version>2.0</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.1.2</version>
		</dependency>

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

		<!-- Project Lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.16</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>
