<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.onap.sdc.sdc-distribution-client</groupId>
	<artifactId>sdc-main-distribution-client</artifactId>
	<version>1.4.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>sdc-sdc-distribution-client</name>

	<parent>
		<groupId>org.onap.oparent</groupId>
		<artifactId>oparent</artifactId>
		<version>2.0.0</version>
		<relativePath/>
	</parent>

	<modules>
		<module>sdc-distribution-client</module>
		<!-- <module>sdc-distribution-ci</module> -->
	</modules>

	<properties>

		<!-- ==================== -->
		<!-- Generic properties -->
		<!-- ==================== -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- ==================== -->
		<!-- Versions -->
		<!-- ==================== -->
		<!-- Global project version -->

		<!-- Dependencies projects version -->
		<org.glassfish.jersey.version>2.24</org.glassfish.jersey.version>
		<functionaljava.version>4.2</functionaljava.version>
		<httpclient.version>4.5.4</httpclient.version>
		<httpcore.version>4.4.1</httpcore.version>
		<logback.version>1.1.2</logback.version>
		<junit.version>4.12</junit.version>
		<snakeyaml.version>1.14</snakeyaml.version>
		<guava.version>21.0</guava.version>
		<jetty.version>9.4.18.v20190429</jetty.version>
		<bean-matchers.version>0.11</bean-matchers.version>
		
		<nexus.proxy>https://nexus.onap.org</nexus.proxy>
		<sitePath>/content/sites/site/org/onap/sdc/sdc-distribution-client/${project.version}</sitePath>
		<snapshots.path>snapshots</snapshots.path>
		<releases.path>releases</releases.path>
		<!-- Sonar properties -->
		<sonar.coverage.jacoco.xmlReportPaths>
			${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
		</sonar.coverage.jacoco.xmlReportPaths>
		<sonar.sourceEncoding>${project.build.sourceEncoding}</sonar.sourceEncoding>
		<sonar.skipDesign>true</sonar.skipDesign>
		<sonar.projectBaseDir>${project.basedir}</sonar.projectBaseDir>
		<sonar.sources>.</sonar.sources>
		<sonar.exclusions>**/scripts/**/*</sonar.exclusions>
		<sonar.test.exclusions>**/test/**/*,**/tests/**/*</sonar.test.exclusions>
		<sonar.inclusions>app/**/*.js,server-mock/**/*.js,src/**/*.js,src/main/**/*.java</sonar.inclusions>
		<sonar.branch>${project.version}</sonar.branch>
		
	</properties>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<configuration>
					<failOnError>false</failOnError>
					<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
					<docletArtifact>
						<groupId>org.umlgraph</groupId>
						<artifactId>umlgraph</artifactId>
						<version>5.6</version>
					</docletArtifact>
					<additionalparam>-views</additionalparam>
					<useStandardDocletOptions>true</useStandardDocletOptions>
				</configuration>
			</plugin>
		</plugins>
	</reporting>
	
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>2.17</version>
				<configuration>
					<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
					<suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.4</version>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.wagon</groupId>
						<artifactId>wagon-webdav-jackrabbit</artifactId>
						<version>2.10</version>
					</dependency>
				</dependencies>
			</plugin>

			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.8</version>
				<executions>
					<!-- Unit-Tests -->
					<execution>
						<id>prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${sonar.jacoco.reportPath}</destFile>
						</configuration>
					</execution>
				</executions>
			</plugin>
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<argLine>${argLine} -Xmx2048m</argLine>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.5.1</version>
				<inherited>true</inherited>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.3</version>
				<configuration/>
			</plugin>			
			<plugin>
				<groupId>org.sonarsource.scanner.maven</groupId>
				<artifactId>sonar-maven-plugin</artifactId>
				<version>3.0.2</version>
			</plugin>
		</plugins>
	</build>
	
	<repositories>
		<repository>
			<id>central</id>
			<name>Official Maven repository</name>
			<url>http://repo2.maven.org/maven2/</url>
		</repository>
		<repository>
			<id>onap-releases</id>
			<name>Release Repository</name>
			<url>${nexus.proxy}/content/repositories/releases/</url>
		</repository>
		<repository>
			<id>onap-snapshots</id>
			<name>Snapshots Repository</name>
			<url>${nexus.proxy}/content/repositories/snapshots/</url>
		</repository>
	</repositories>

	<distributionManagement>
		<repository>
			<id>ecomp-releases</id>
			<name>Release Repository</name>
			<url>${nexus.proxy}/content/repositories/${releases.path}/</url>
		</repository>
		<snapshotRepository>
			<id>ecomp-snapshots</id>
			<name>Snapshot Repository</name>
			<url>${nexus.proxy}/content/repositories/${snapshots.path}/</url>
		</snapshotRepository>
    <site>
        <id>onap-site</id>
        <url>dav:${nexus.proxy}${sitePath}</url>
    </site>
	</distributionManagement>


</project>

