<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.openecomp.sdc</groupId>
	<artifactId>sdc-main</artifactId>
	<version>1.2.0-SNAPSHOT</version>
	<packaging>pom</packaging>
        <name>sdc</name>	
	<properties>

		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>

		<!-- ==================== -->
		<!-- Generic properties -->
		<!-- ==================== -->
		<build.type>-SNAPSHOT</build.type>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<sprint.number>74</sprint.number>

		<!-- 3rd parties versions -->
		<lang3.version>3.3.2</lang3.version>
		<guava.version>18.0</guava.version>
		<titan.version>1.0.0</titan.version>
		<spring-boot.version>1.1.6.RELEASE</spring-boot.version>
		<spring.version>4.3.4.RELEASE</spring.version>
		<spring.security.version>3.2.3.RELEASE</spring.security.version>
		<spring.ldap.version>2.0.1.RELEASE</spring.ldap.version>
        <jersey-bom.version>2.24</jersey-bom.version>
        <servlet-api.version>2.5</servlet-api.version>

		<artifact-generator-api.version>${project.version}</artifact-generator-api.version>
		<artifact-generator-core.version>${project.version}</artifact-generator-core.version>
		<ecomp.version>1.1.0</ecomp.version>
		<dox-common-lib.version>${project.version}</dox-common-lib.version>

		<!-- Elastic Search mapper (reference the elastic search version actually). -->
		<elastic-search.version>2.1.0</elastic-search.version>
		<jetty.version>9.2.10.v20150310</jetty.version>

		<!-- JSON and YAML Parsing -->
		<jackson.version>2.6.2</jackson.version>
		<jackson.yaml.version>2.8.1</jackson.yaml.version>
		<jackson.annotations.version>2.6.0</jackson.annotations.version>

		<!-- Yaml for properties -->
		<snakeyaml.version>1.14</snakeyaml.version>
		<functionaljava.version>4.4</functionaljava.version>
		<httpclient.version>4.4.1</httpclient.version>
		<httpcore.version>4.4.1</httpcore.version>
		<json-simple.version>1.1</json-simple.version>


		<!-- Logging start -->
		<!-- logback -->
        <logback.version>1.1.2</logback.version>
        <slf4j-api.version>1.7.10</slf4j-api.version>
        <commons-codec>1.10</commons-codec>
        <commons-logging>1.2</commons-logging>
		<groovy.version>2.3.5</groovy.version>
		<janino.version>3.0.6</janino.version>

		<!-- aspects -->
		<jcabi.version>0.20.1</jcabi.version>
		<aspectjrt.version>1.8.4</aspectjrt.version>
		<aspectj.version>1.7.4</aspectj.version>
		<jcabi.plugin.version>0.13.2</jcabi.plugin.version>

		<!-- Logging end -->
		<!-- System Metrics -->
		<sigar.version>1.6.4</sigar.version>

		<regex.version>3.0.3</regex.version>

		<codehaus.jackson.core>1.9.2</codehaus.jackson.core>

		<!--GSON-->
		<gson.version>2.3.1</gson.version>

        <!--listen to file changes-->
        <commons-jci-core.version>1.1</commons-jci-core.version>

		<!--TESTING-->
		<mockito.version>2.12.0</mockito.version>
		<junit.version>4.12</junit.version>
		<testng.version>6.9.10</testng.version>
		<extentreports.version>3.0.3</extentreports.version>
		
		<!-- parser-->
		<sdc-tosca-parser.version>1.1.56-SNAPSHOT</sdc-tosca-parser.version>
		
		<!--JaCoCO -->
		<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
		<sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
		<sonar.jacoco.itReportPath>${project.basedir}/target/it-jacoco.exec</sonar.jacoco.itReportPath>
		<sonar.language>java</sonar.language>
		<!-- Sonar properties -->
		<sonar.sourceEncoding>${project.build.sourceEncoding}</sonar.sourceEncoding>
		<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>

		<assertj.version>3.8.0</assertj.version>

		<!--cassandra -->
		<cassandra.driver.version>3.0.0</cassandra.driver.version>
		<!-- maven central (Nexus) -->
		<nexus.id.release>nexus</nexus.id.release>
		<nexus.id.snapshot>nexus</nexus.id.snapshot>

		<assertj.version>3.8.0</assertj.version>

		<!--cassandra -->
		<cassandra.driver.version>3.0.0</cassandra.driver.version>
		<!-- maven central (Nexus) -->
		<nexus.id.release>nexus</nexus.id.release>
		<nexus.id.snapshot>nexus</nexus.id.snapshot>

		<!--nexus-->
		<nexus.proxy>https://nexus.onap.org</nexus.proxy>
		<sitePath>/content/sites/site/org/openecomp/sdc/${project.version}</sitePath>
		<staging.profile.id>176c31dfe190a</staging.profile.id>
		<!--maven-->
		<maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format>
	</properties>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.0.0-M1</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>
		<pluginManagement>
			<plugins>

				<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.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.6</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>1.4.0</version>
				</plugin>
				<plugin>
					<groupId>org.sonarsource.scanner.maven</groupId>
					<artifactId>sonar-maven-plugin</artifactId>
					<version>3.0.2</version>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>

			<!-- Staging Plugin -->
			<plugin>
				 <groupId>org.sonatype.plugins</groupId>
				 <artifactId>nexus-staging-maven-plugin</artifactId>
				 <version>1.6.7</version>
				 <extensions>true</extensions>
				 <configuration>
						 <nexusUrl>${nexus.proxy}</nexusUrl>
						 <stagingProfileId>${staging.profile.id}</stagingProfileId>
						 <serverId>ecomp-staging</serverId>
				 </configuration>
			</plugin>

			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<systemPropertyVariables>
						<logback.configurationFile>src/test/resources/logback-test.xml</logback.configurationFile>
					</systemPropertyVariables>
				</configuration>
			</plugin>
			<!-- plugin for parsing the project version -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>1.8</version>
				<executions>
					<execution>
						<id>parse-version</id>
						<goals>
							<goal>parse-version</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Java Code Coverage -->
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.9</version>
				<configuration>
					<append>true</append>
					<destFile>${sonar.jacoco.reportPath}</destFile>
					<dataFile>${sonar.jacoco.reportPath}</dataFile>
				</configuration>
				<executions>
					<execution>
						<id>default-prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>default-report</id>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.wagon</groupId>
						<artifactId>wagon-webdav-jackrabbit</artifactId>
						<version>2.10</version>
					</dependency>
				</dependencies>
			</plugin>

			<!-- Set the deployment repositories properties. -->
			<plugin>
				<groupId>org.codehaus.gmaven</groupId>
				<artifactId>gmaven-plugin</artifactId>
				<version>1.4</version>
				<executions>
					<execution>
						<inherited>false</inherited>
						<phase>integration-test</phase>
						<goals>
							<goal>execute</goal>
						</goals>
						<configuration>
							<source>
								pom.properties['deploy.url']=
								pom.version.contains('-SNAPSHOT') ?
								project.distributionManagement.snapshotRepository.url :
								project.distributionManagement.repository.url;
								pom.properties['repo.id']= pom.version.contains('-SNAPSHOT') ?
								project.distributionManagement.snapshotRepository.id :
								project.distributionManagement.repository.id;
							</source>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>all</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<modules>
				<module>build-tools</module>
				<module>onboarding</module>
				<module>security-utils</module>
				<module>common-app-api</module>
				<module>common-be</module>
				<module>catalog-dao</module>
				<module>catalog-model</module>
				<module>catalog-be</module>
				<module>asdctool</module>
				<module>catalog-ui</module>
				<module>catalog-fe</module>
				<module>asdc-tests</module>
				<module>test-apis-ci</module>
				<module>ui-ci</module>
				<module>sdc-os-chef</module>
			</modules>

		</profile>

		<profile>
			<id>catalog</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<modules>
				<module>security-utils</module>
				<module>common-app-api</module>
				<module>common-be</module>
				<module>catalog-dao</module>
				<module>catalog-model</module>
				<module>catalog-be</module>
				<module>asdctool</module>
				<module>catalog-ui</module>
				<module>catalog-fe</module>
				<module>asdc-tests</module>
				<module>test-apis-ci</module>
				<module>ui-ci</module>
			</modules>			
			
			<properties>
				<ecomp.version>1.2.7</ecomp.version>
				<artifact-generator-api.version>1710.0.0</artifact-generator-api.version>
				<artifact-generator-core.version>1710.0.0</artifact-generator-core.version>
				<dox-common-lib.version>1710.0.0</dox-common-lib.version>
				<sdc-tosca-parser.version>1.1.32</sdc-tosca-parser.version>
			</properties>
		</profile>

		<profile>
			<id>onboarding</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<modules>
				<module>build-tools</module>
				<module>onboarding</module>
			</modules>
		</profile>

		<profile>
			<id>dev-integ</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<dependencies>
				<dependency>
					<groupId>org.togglz</groupId>
					<artifactId>togglz-console</artifactId>
					<version>${togglz.version}</version>
				</dependency>
			</dependencies>
		</profile>
	</profiles>

	<repositories>
		<!-- LF repositories -->
		<repository>
			<id>ecomp-releases</id>
			<name>Release Repository</name>
			<url>${nexus.proxy}/content/repositories/releases/</url>
		</repository>
		<repository>
			<id>ecomp-staging</id>
			<name>Staging Repository</name>
			<url>${nexus.proxy}/content/repositories/staging/</url>
		</repository>
		<repository>
			<id>ecomp-snapshots</id>
			<name>Snapshots Repository</name>
			<url>${nexus.proxy}/content/repositories/snapshots/</url>
		</repository>
		<repository>
			<id>ecomp-public</id>
			<name>Public Repository</name>
			<url>${nexus.proxy}/content/repositories/public/</url>
		</repository>
		<!-- LF repositories END-->
	</repositories>

	<distributionManagement>

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