<?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>

	<groupId>org.digidoc4j.dss</groupId>
	<artifactId>sd-dss</artifactId>
	<version>5.2.d4j.3</version>
	<packaging>pom</packaging>
	<name>Digital Signature Services</name>
    <description>This is a forked repository from the original DSS project located at
        https://github.com/esig/dss and https://joinup.ec.europa.eu/asset/sd-dss/description
        and contains additionally the BDoc-TM specific changes.
    </description>
    <url>https://github.com/open-eid/sd-dss</url>

	<developers>
		<developer>
			<id>naramski</id>
			<name>David Naramski</name>
			<roles>
				<role>developer</role>
			</roles>
		</developer>
		<developer>
			<id>vandenbroucke</id>
			<name>Pierrick Vandenbroucke</name>
			<roles>
				<role>developer</role>
			</roles>
		</developer>
		<developer>
			<id>pirard</id>
			<name>Nicolas Pirard</name>
			<roles>
				<role>developer</role>
			</roles>
		</developer>
		<developer>
			<id>abinet</id>
			<name>Axel Abinet</name>
			<roles>
				<role>developer</role>
			</roles>
		</developer>

	</developers>

	<properties>
		<project.source.version>1.7</project.source.version>
		<project.target.version>1.7</project.target.version>
		<project.encoding>UTF-8</project.encoding>

		<slf4j.version>1.7.25</slf4j.version>
		<logback-classic.version>1.2.3</logback-classic.version>

		<bouncycastle.version>1.58</bouncycastle.version>
		<xmlsec.version>2.0.9</xmlsec.version>
		<xalan.version>2.7.2</xalan.version>
		<pdfbox.version>2.0.7</pdfbox.version>
		<httpclient.version>4.5.3</httpclient.version>
		<rs-api.version>2.0.1</rs-api.version>

		<junit.version>4.12</junit.version>

    <dss.groupId>org.digidoc4j.dss</dss.groupId>
	</properties>
	
	<licenses>
		<license>
			<name>GNU Lesser General Public License</name>
			<url>https://www.gnu.org/licenses/lgpl-2.1.html</url>
		</license>
	</licenses>
	
	<modules>
		<module>dss-model</module>
		<module>dss-token</module>
		<module>dss-utils</module>
		<module>dss-utils-apache-commons</module>
		<module>dss-utils-google-guava</module>
		<module>dss-crl-parser</module>
		<module>dss-crl-parser-x509crl</module>
		<module>dss-crl-parser-stream</module>
		<module>dss-spi</module>
		<module>dss-document</module>
		<module>dss-service</module>
		<module>dss-test</module>
		<module>sscd-mocca-adapter</module>
		<module>dss-policy-jaxb</module>
		<module>dss-common-validation-jaxb</module>
		<module>dss-tsl-jaxb</module>
		<module>dss-diagnostic-jaxb</module>
		<module>dss-simple-report-jaxb</module>
		<module>dss-detailed-report-jaxb</module>
		<module>dss-reports</module>
		<module>validation-policy</module>
		<module>dss-xades</module>
		<module>dss-cades</module>
		<module>dss-pades</module>
		<module>dss-asic-common</module>
		<module>dss-asic-xades</module>
		<module>dss-asic-cades</module>
		<module>dss-tsl-validation</module>
		<module>dss-remote-services</module>
		<module>dss-rest-client</module>
		<module>dss-rest</module>
		<module>dss-soap-client</module>
		<module>dss-soap</module>
		<module>dss-validation-rest-client</module>
		<module>dss-validation-rest</module>
		<module>dss-validation-soap</module>
		<module>dss-validation-soap-client</module>
		<module>dss-server-signing-common</module>
		<module>dss-server-signing-rest-client</module>
		<module>dss-server-signing-rest</module>
		<module>dss-server-signing-soap-client</module>
		<module>dss-server-signing-soap</module>
		<module>dss-cookbook</module>
	</modules>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.0</version>
                <configuration>
                    <encoding>${project.encoding}</encoding>
                    <source>${project.source.version}</source>
                    <target>${project.target.version}</target>
                </configuration>
			</plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.2.201409121644</version>
				<executions>
					<execution>
						<id>prepare-unit-test-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>generate-unit-test-report</id>
						<goals>
							<goal>merge</goal>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.20</version>
				<configuration>
					<!-- Default test configuration -->
					<skipTests>true</skipTests>
					<classpathDependencyExcludes>
			            <classpathDependencyExclude>commons-logging:commons-logging</classpathDependencyExclude>
			        </classpathDependencyExcludes>
			        <threadCount>1</threadCount>
				</configuration>
				<executions>
					<execution>
						<id>non-regression</id>
						<phase>test</phase>
						<goals>
							<goal>test</goal>
						</goals>
						<configuration>
							<skipTests>false</skipTests>
							<testFailureIgnore>false</testFailureIgnore>
							<includes>
								<include>eu/**/*Test.java</include>
							</includes>
						</configuration>
					</execution>
					<execution>
						<id>plugtests</id>
						<phase>test</phase>
						<goals>
							<goal>test</goal>
						</goals>
						<configuration>
							<skipTests>false</skipTests>
							<testFailureIgnore>true</testFailureIgnore>
							<includes>
								<include>plugtests/**/*Test.java</include>
							</includes>
						</configuration>
					</execution>
					<execution>
						<id>known-issues</id>
						<phase>test</phase>
						<goals>
							<goal>test</goal>
						</goals>
						<configuration>
							<skipTests>false</skipTests>
							<testFailureIgnore>true</testFailureIgnore>
							<includes>
								<include>known/issues/**/*Test.java</include>
							</includes>
						</configuration>
					</execution>
				</executions>
			</plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.10.4</version>
                <configuration>
                    <!-- Default configuration for all reports -->
                </configuration>
                <executions>
                    <execution>
                        <id>non-aggregate</id>
                        <goals>
                            <goal>javadoc</goal>
                        </goals>
                        <phase>package</phase>
                    </execution>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
                <version>1.6.8</version>
                <extensions>true</extensions>
                <configuration>
                    <serverId>ossrh</serverId>
                    <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                    <autoReleaseAfterClose>true</autoReleaseAfterClose>

                </configuration>
            </plugin>
        </plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.0.2</version>
					<configuration>
						<encoding>${project.encoding}</encoding>
						<nonFilteredFileExtensions><!-- Avoid to modify keystore -->
							<nonFilteredFileExtension>jks</nonFilteredFileExtension>
							<nonFilteredFileExtension>p12</nonFilteredFileExtension>
						</nonFilteredFileExtensions>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.0.2</version>
					<executions>
						<execution>
							<goals>
								<goal>test-jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
					<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.0.1</version>
					<executions>
						<execution>
							<id>attach-sources</id>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
	                <groupId>org.apache.maven.plugins</groupId>
	                <artifactId>maven-release-plugin</artifactId>
	                <version>2.5.3</version>
	                <configuration>
	                	<releaseProfiles>src,javadoc</releaseProfiles>
						<autoVersionSubmodules>true</autoVersionSubmodules>
						<tagNameFormat>@{project.version}</tagNameFormat>
					</configuration>
	            </plugin>
				<plugin>
					<groupId>org.jvnet.jaxb2.maven2</groupId>
					<artifactId>maven-jaxb2-plugin</artifactId>
					<version>0.10.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>2.5.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>2.8.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-project-info-reports-plugin</artifactId>
					<version>2.9</version>
				</plugin>
				<plugin>
					<groupId>org.owasp</groupId>
					<artifactId>dependency-check-maven</artifactId>
					<version>2.0.1</version>
				</plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.4</version>
                    <configuration>
                        <docfilessubdirs>true</docfilessubdirs>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.6</version>
                </plugin>
			</plugins>
		</pluginManagement>
	</build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <outputEncoding>${project.encoding}</outputEncoding>
                    <reportPlugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-project-info-reports-plugin</artifactId>
                        </plugin>
                    </reportPlugins>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

    <scm>
		<url>https://ec.europa.eu/cefdigital/code/scm/esig/dss.git</url>
		<connection>scm:git:https://ec.europa.eu/cefdigital/code/scm/esig/dss.git</connection>
		<developerConnection>scm:git:https://ec.europa.eu/cefdigital/code/scm/esig/dss.git</developerConnection>
		<tag>5.2</tag>
	</scm>

	<dependencyManagement>
		<dependencies>
			<!-- Internal Dependencies -->
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>sscd-mocca-adapter</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-spi</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-crl-parser</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-crl-parser</artifactId>
				<type>test-jar</type>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-crl-parser-x509crl</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-crl-parser-stream</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-service</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-document</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-asic-common</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-asic-xades</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-asic-cades</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-cades</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-pades</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-xades</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-model</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-reports</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-remote-services</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-rest</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-rest-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-soap</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-soap-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-validation-rest</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-validation-rest-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-validation-soap</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-validation-soap-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-token</artifactId>
				<version>${project.version}</version>
			</dependency>
			
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-server-signing-common</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-server-signing-rest-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-server-signing-rest</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-server-signing-soap-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-server-signing-soap</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-tsl-jaxb</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-tsl-validation</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-common-validation-jaxb</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-diagnostic-jaxb</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-policy-jaxb</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-detailed-report-jaxb</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-simple-report-jaxb</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>validation-policy</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-utils</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-utils</artifactId>
				<type>test-jar</type>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-utils-apache-commons</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-utils-google-guava</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-cookbook</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${dss.groupId}</groupId>
				<artifactId>dss-test</artifactId>
				<version>${project.version}</version>
				<scope>test</scope>
			</dependency>
			
			<!-- Public Dependencies -->
			<dependency>
				<groupId>javax.ws.rs</groupId>
				<artifactId>javax.ws.rs-api</artifactId>
				<version>${rs-api.version}</version>
			</dependency>
			
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpclient.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.pdfbox</groupId>
				<artifactId>pdfbox</artifactId>
				<version>${pdfbox.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.pdfbox</groupId>
			    <artifactId>preflight</artifactId>
				<version>${pdfbox.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.santuario</groupId>
				<artifactId>xmlsec</artifactId>
				<version>${xmlsec.version}</version>
			</dependency>
			<dependency>
				<groupId>xalan</groupId>
				<artifactId>xalan</artifactId>
				<version>${xalan.version}</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcprov-jdk15on</artifactId>
				<version>${bouncycastle.version}</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcpkix-jdk15on</artifactId>
				<version>${bouncycastle.version}</version>
			</dependency>
			
			<!-- Logger -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId> <!-- replaces commons-logging -->
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>${logback-classic.version}</version>
			</dependency>

			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>
	
	<issueManagement>
		<system>JIRA</system>
		<url>https://ec.europa.eu/cefdigital/tracker/projects/DSS</url>
		<!-- <url>https://esig-dss.atlassian.net/projects/DSS</url> Old issues -->
	</issueManagement>

	<profiles>
		<profile>
			<id>delivery</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-surefire-plugin</artifactId>
						<configuration>
							<skip>true</skip>
						</configuration>
					</plugin>
					<plugin>
						<artifactId>maven-compiler-plugin</artifactId>
						<executions>
							<execution>
								<id>default-testCompile</id>
								<phase>test-compile</phase>
								<goals>
									<goal>testCompile</goal>
								</goals>
								<configuration>
									<skip>true</skip>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>owasp</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.owasp</groupId>
						<artifactId>dependency-check-maven</artifactId>
						<version>2.1.1</version>
						<!--<configuration>-->
							<!--<failBuildOnCVSS>4</failBuildOnCVSS>-->
						<!--</configuration>-->
						<executions>
							<execution>
								<goals>
									<goal>check</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
        <profile>
            <id>disable-java8-doclint</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <properties>
                <additionalparam>-Xdoclint:none</additionalparam>
            </properties>
        </profile>
    </profiles>
</project>