<?xml version="1.0" encoding="UTF-8"?>
<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>com.scytl.products.ov</groupId>
		<artifactId>maven-dependencies</artifactId>
		<version>1.3.2</version>
	</parent>

	<groupId>com.scytl.products.ov.sdm</groupId>
	<artifactId>ov-secure-data-manager</artifactId>
	<version>2.1.6</version>
	<packaging>pom</packaging>
	<name>Secure Data Manager</name>
	<description>OV SDM</description>

	<scm>
		<connection>scm:git:ssh://git@scm.scytl.net:7999/comp/online-voting-secure-data-manager.git</connection>
		<developerConnection>scm:git:ssh://git@scm.scytl.net:7999/comp/online-voting-secure-data-manager.git</developerConnection>
		<url>https://scm.scytl.net/stash/projects/COMP/repos/online-voting-secure-data-manager/browse</url>
		<tag>HEAD</tag>
	</scm>

	<properties>
		<javac.version>1.8</javac.version>
		<surfire.version>2.17</surfire.version>
		<cryptolib.version>2.1.5-4</cryptolib.version>
		<scytl-math.version>1.0.1</scytl-math.version>
		<bouncycastle.version>1.59</bouncycastle.version>
		<spring.version>4.3.19.RELEASE</spring.version>
		<spring-context.version>${spring.version}</spring-context.version>
		<spring.batch.version>3.0.7.RELEASE</spring.batch.version>
		<swagger.springfox.version>2.2.2</swagger.springfox.version>
		<swagger.mavenplugin.version>3.1.0</swagger.mavenplugin.version>
		<okhttp.version>3.8.0</okhttp.version>
		<logback-classic.version>1.2.3</logback-classic.version>
		<log4j.version>2.2</log4j.version>
		<logging.version>1.4.2</logging.version>
		<javax.json.version>1.0.4</javax.json.version>
		<javax.inject.version>1.0-PFD-1</javax.inject.version>
		<opencsv.version>3.7</opencsv.version>
		<ov-channel.version>2.1.7</ov-channel.version>
		<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
		<mockito.version>1.10.19</mockito.version>
		<hamcrest.version>1.3</hamcrest.version>
		<junit.version>4.12</junit.version>
		<mapdb.version>3.0.1</mapdb.version>
		<javax.xml.bind.version>2.2.11</javax.xml.bind.version>
		<commons.lang.version>3.3.2</commons.lang.version>
		<commons.configuration.version>1.10</commons.configuration.version>
		<commons.collections.version>3.2.2</commons.collections.version>
		<orient-commons.version>2.0-M1</orient-commons.version>
		<orientdb-graphdb.version>2.1.25</orientdb-graphdb.version>
		<xstream.version>1.4.11</xstream.version>
		<esapi.version>2.1.0.1</esapi.version>
		<beanshell.version>2.0b6</beanshell.version>
		<jackson.version>2.9.5</jackson.version>
		<jackson-annotations.version>2.9.5</jackson-annotations.version>
		<antisamy.version>1.5.7</antisamy.version>
		<httpcomponents.version>4.5.1</httpcomponents.version>
		<commons-validator.version>1.5.0</commons-validator.version>
		<info.cukes.version>1.2.5</info.cukes.version>
		<spring-boot.version>1.5.14.RELEASE</spring-boot.version>
		<hibernate.validator.version>5.3.5.Final</hibernate.validator.version>
		<mixing.version>0.3.2</mixing.version>
	</properties>

	<dependencyManagement>
		<dependencies>
			<!-- xstream version upgrade for security reasons (used by Spring) -->
			<dependency>
				<groupId>com.thoughtworks.xstream</groupId>
				<artifactId>xstream</artifactId>
				<version>${xstream.version}</version>
			</dependency>
			<dependency>
				<groupId>com.scytl.products.oscore</groupId>
				<artifactId>logging-core</artifactId>
				<version>${logging.version}</version>
			</dependency>
			<dependency>
				<groupId>com.scytl.products.ov.sdm</groupId>
				<artifactId>ov-secure-data-manager-commons</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-collections</groupId>
				<artifactId>commons-collections</artifactId>
				<version>${commons.collections.version}</version>
			</dependency>
			<dependency>
				<groupId>com.orientechnologies</groupId>
				<artifactId>orient-commons</artifactId>
				<version>${orient-commons.version}</version>
			</dependency>
			<dependency>
				<groupId>com.orientechnologies</groupId>
				<artifactId>orientdb-graphdb</artifactId>
				<version>${orientdb-graphdb.version}</version>
			</dependency>
			<!-- Validation -->
			<dependency>
				<groupId>org.owasp.esapi</groupId>
				<artifactId>esapi</artifactId>
				<version>${esapi.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-io</groupId>
						<artifactId>commons-io</artifactId>
					</exclusion>
					<exclusion>
						<groupId>xalan</groupId>
						<artifactId>xalan</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-beanutils</groupId>
						<artifactId>commons-beanutils-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-fileupload</groupId>
						<artifactId>commons-fileupload</artifactId>
					</exclusion>
                    <exclusion>
                        <groupId>xerces</groupId>
                        <artifactId>xercesImpl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.owasp.antisamy</groupId>
                        <artifactId>antisamy</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.xmlgraphics</groupId>
                        <artifactId>batik-css</artifactId>
                    </exclusion>
                    <exclusion>
            			<groupId>org.beanshell</groupId>
            			<artifactId>bsh-core</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.beanshell</groupId>
            	<artifactId>bsh-core</artifactId>
            	<version>${beanshell.version}</version>
			</dependency>
            <dependency>
                <groupId>org.owasp.antisamy</groupId>
                <artifactId>antisamy</artifactId>
                <version>${antisamy.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpclient</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpcomponents.version}</version>
            </dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.2</version>
					<configuration>
						<source>${javac.version}</source>
						<target>${javac.version}</target>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${surfire.version}</version>
					<configuration>
						<skipTests>${skipTests}</skipTests>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
            <plugin>
                <groupId>com.mycila.maven-license-plugin</groupId>
                <artifactId>maven-license-plugin</artifactId>
                <version>1.9.0</version>
                <configuration>
					<headerDefinitions>
					   <headerDefinition>licensePattern.xml</headerDefinition>
					</headerDefinitions>
					<mapping>
						<javadoc_style>JAVADOC_STYLE</javadoc_style>
					</mapping>
                    <header>${basedir}/LICENSE</header>
                    <includes>
                        <include>**/*.java</include>
                        <include>**/*.xml</include>
                        <include>**/*.properties</include>
                        <include>**/*.js</include>
                    </includes>
                    <excludes>
                        <exclude>**/.*/**</exclude>
                        <exclude>target/**</exclude>
                        <exclude>bower_components/**</exclude>
                        <exclude>build/**</exclude>
                        <exclude>cache/**</exclude>
                        <exclude>desktop_app/**</exclude>
                        <exclude>dist/**</exclude>
                        <exclude>node_modules/**</exclude>
                        <exclude>release/**</exclude>
                    </excludes>
                    <properties>
                        <currentYear>2018</currentYear>
                    </properties>
                    <useDefaultExcludes>true</useDefaultExcludes>
                    <strictCheck>true</strictCheck>
                </configuration>
				<executions>
					<execution>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
            </plugin>
        </plugins>
	</build>

	<profiles>
		<profile>
			<id>all</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<modules>
				<module>secure-data-manager-commons</module>
				<module>secure-data-manager-libs-config</module>
				<module>config-generator</module>
				<module>ov-sdm-batch-jobs-product</module>
				<module>mix-net</module>
				<module>tallying</module>
				<module>secure-data-manager-backend</module>
				<module>secure-data-manager-frontend</module>
				<module>Izpack-validator</module>
				<module>secure-data-manager-packaging</module>
				<module>secure-data-manager-assembly</module>
			</modules>
		</profile>
		<profile>
			<id>backend</id>
			<modules>
				<module>secure-data-manager-commons</module>
				<module>secure-data-manager-libs-config</module>
				<module>config-generator</module>
				<module>ov-sdm-batch-jobs-product</module>
				<module>mix-net</module>
				<module>tallying</module>
				<module>secure-data-manager-backend</module>
			</modules>
		</profile>
	</profiles>
</project>
