<?xml version="1.0"?>
<!-- Copyright 2005-2007 Open Source Applications Foundation Licensed under 
	the Apache License, Version 2.0 (the "License"); you may not use this file 
	except in compliance with the License. You may obtain a copy of the License 
	at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable 
	law or agreed to in writing, software distributed under the License is distributed 
	on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
	express or implied. See the License for the specific language governing permissions 
	and limitations under the License. -->
<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>

	<parent>
		<groupId>net.oneandone.maven.poms</groupId>
		<artifactId>foss-parent</artifactId>
		<version>1.6.1</version>
	</parent>

	<groupId>net.oneandone.cosmo</groupId>
	<artifactId>cosmo-multimodule</artifactId>
	<version>3.8.3</version>

	<packaging>pom</packaging>

	<name>cosmo-multimodule</name>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.source>1.8</maven.compiler.source>
			
		<qxlint.report.profile>false</qxlint.report.profile>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		
		<spring.boot.version>2.2.6.RELEASE</spring.boot.version>
		<org.springframework.security.version>5.1.6.RELEASE</org.springframework.security.version>	
		<hibernate-validator.version>6.0.19.Final</hibernate-validator.version>
				
		<javax.el.version>2.2.4</javax.el.version>
		<jackrabbit.version>2.19.0</jackrabbit.version>
		<ical4j.version>3.0.27</ical4j.version>
			
		<aspectjweaver.version>1.8.9</aspectjweaver.version>
		<slf4j.version>1.7.30</slf4j.version>
		<logback.version>1.2.3</logback.version>

		<mariadb.version>2.7.0</mariadb.version>
		<mariadb4j.version>2.4.0</mariadb4j.version>
		<xerces.version>2.12.0</xerces.version>
		<dom4j.version>1.6.1</dom4j.version>
		<stax.version>1.0.1</stax.version>
		<woodstox.version>4.0.6</woodstox.version>
		<httpclient.version>4.5.12</httpclient.version>
		<jackson.version>2.11.0</jackson.version>		
		<abdera.version>1.1.3</abdera.version>
		<junit.version>4.13.1</junit.version>
		
		<!-- Deactivate checkstyle, findbugs, jacoco and pmd -->
		<checkstyle.skip>true</checkstyle.skip>
		<spotbugs.skip>true</spotbugs.skip>
		<pmd.skip>true</pmd.skip>
		<cpd.skip>true</cpd.skip>
		<enforcer.skip>true</enforcer.skip>
		<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
		
	</properties>

	<modules>
		<module>cosmo-api</module>
		<module>cosmo-core</module>
	</modules>

	<dependencyManagement>
		<dependencies>
			
			<dependency>
				<!-- Import dependency management from Spring Boot -->
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>${spring.boot.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
						

			<!-- XML & co. -->
			<dependency>
				<groupId>dom4j</groupId>
				<artifactId>dom4j</artifactId>
				<version>${dom4j.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>xml-apis</artifactId>
						<groupId>xml-apis</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>stax</groupId>
				<artifactId>stax-api</artifactId>
				<version>${stax.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.woodstox</groupId>
				<artifactId>wstx-asl</artifactId>
				<version>${woodstox.version}</version>
			</dependency>

			<!-- database drivers -->
			<dependency>
				<groupId>org.mariadb.jdbc</groupId>
				<artifactId>mariadb-java-client</artifactId>
				<version>${mariadb.version}</version>
			</dependency>
						
			<dependency>
				<groupId>ch.vorburger.mariaDB4j</groupId>
				<artifactId>mariaDB4j-core</artifactId>
				<version>${mariadb4j.version}</version>
			</dependency>
			
			<dependency>
				<groupId>ch.vorburger.mariaDB4j</groupId>
				<artifactId>mariaDB4j-app</artifactId>
				<version>${mariadb4j.version}</version>
			</dependency>

			<!-- ical4j related libs -->
			<dependency>
				<groupId>org.mnode.ical4j</groupId>
				<artifactId>ical4j</artifactId>
				<version>${ical4j.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>						
						<artifactId>slf4j-log4j12</artifactId>						
					</exclusion>
				</exclusions>
			</dependency>
			
			<dependency>
				<groupId>org.apache.jackrabbit</groupId>
				<artifactId>jackrabbit-webdav</artifactId>
				<version>${jackrabbit.version}</version>
			</dependency>

			<!-- hibernate -->
			<dependency>
				<groupId>org.hibernate.validator</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>${hibernate-validator.version}</version>
			</dependency>

			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-config</artifactId>
				<version>${org.springframework.security.version}</version>
				<scope>runtime</scope>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-expression</artifactId>
					</exclusion>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjweaver</artifactId>
				<version>${aspectjweaver.version}</version>
			</dependency>
			
			<dependency>
				<groupId>xerces</groupId>
				<artifactId>xercesImpl</artifactId>
				<version>${xerces.version}</version>
			</dependency>

			<!-- OTHER -->

			<!-- abdera is the ATOM implementation. This library is still used for 
				parsing eTags. -->
			<dependency>
				<groupId>org.apache.abdera</groupId>
				<artifactId>abdera-core</artifactId>
				<version>${abdera.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.geronimo.specs</groupId>
						<artifactId>geronimo-activation_1.1_spec</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.geronimo.specs</groupId>
						<artifactId>geronimo-stax-api_1.0_spec</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.abdera</groupId>
				<artifactId>abdera-i18n</artifactId>
				<version>${abdera.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.geronimo.specs</groupId>
						<artifactId>geronimo-activation_1.1_spec</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<!-- logging -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId>
				<scope>runtime</scope>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<scope>compile</scope>
				<version>${slf4j.version}</version>
			</dependency>

			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<scope>runtime</scope>
				<version>${logback.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-core</artifactId>
				<scope>runtime</scope>
				<version>${logback.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpclient.version}</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-databind</artifactId>
				<version>${jackson.version}</version>
			</dependency>
		
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>	

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<configuration>
					<failOnViolation>true</failOnViolation>
					<configLocation>checkstyle-suppressions.xml</configLocation>
				</configuration>
			</plugin>

			<plugin>
				<groupId>com.mycila</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<configuration>
					<header>${maven-license-plugin.header}</header>
					<strictCheck>false</strictCheck>
					<failIfMissing>false</failIfMissing>
					<failIfUnknown>false</failIfUnknown>
					<includes>
						<include>src/**/*.java</include>
					</includes>
					<mapping>
						<java>SLASHSTAR_STYLE</java>
					</mapping>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>net.oneandone.maven.poms</groupId>
						<artifactId>foss-configs</artifactId>
						<version>${foss-configs.version}</version>
					</dependency>
				</dependencies>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<doclint>none</doclint>
					<quiet>true</quiet>					
				</configuration>
			</plugin>
			
			
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<configuration>
					<haltOnFailure>false</haltOnFailure>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>report</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		
			
		</plugins>
	</build>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<configuration>
					<failOnViolation>false</failOnViolation>
					<configLocation>checkstyle-suppressions.xml</configLocation>
				</configuration>
			</plugin>
			

			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>			
				<inherited>true</inherited>
				<configuration>
					<encoding>UTF-8</encoding>
					<source>1.8</source>
					<target>1.8</target>
					<meminitial>1024m</meminitial>
					<maxmem>2024m</maxmem>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<scm>
		<developerConnection>scm:git:ssh://git@github.com/1and1/cosmo.git</developerConnection>
		<connection>scm:git:ssh://git@github.com/1and1/cosmo.git</connection>
		<url>https://github.com/1and1/</url>
		<tag>cosmo-multimodule-3.8.3</tag>
	</scm>
	
	<repositories>
		<!-- Embedded Maria DB. -->
		<repository>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
			<id>central</id>
			<name>bintray</name>
			<url>https://jcenter.bintray.com</url>
		</repository>
	</repositories>
</project>
