<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</groupId>
	<artifactId>mso</artifactId>
	<packaging>pom</packaging>
	<version>0.0.4-SNAPSHOT</version>
	<name>MSO main project</name>
	
	<description>This Maven project is responsible to build and package all child projects - contributions in the MSO project.
	This build can be configured to run Functional tests and to start/stop a jboss server + Mysql DB.
	"mvn clean install -P with-integration-tests -Dintegration-tests-user=root -Dintegration-tests-group=root -Dintegration-tests-db-type=MYSQL"
	</description>
	
	<organization>
		<name>OPENECOMP - MSO</name>
		<url>http://www.openecomp.org/</url>
	</organization>
	<modules>
		<module>common</module>
		<module>mso-api-handlers</module>
		<module>mso-catalog-db</module>
		<module>adapters</module>
		<module>asdc-controller</module>
		<module>status-control</module>
		<module>bpmn</module>
		<module>packages</module>
	</modules>

	<properties>
		<project.mso.base.folder>.</project.mso.base.folder>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<sonar.language>java</sonar.language>
		<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
		<sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
		<sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
		<sonar.jacoco.itReportPath>${project.mso.base.folder}/packages/arquillian-unit-tests/target/mso-automated-tests/jacoco-it.exec</sonar.jacoco.itReportPath>
		<sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
		<sonar.projectVersion>${project.version}</sonar.projectVersion>
		<org.apache.maven.user-settings></org.apache.maven.user-settings>
		<!-- this is used for Chef mso-code cookbook -->
		<swm.version>2.19.3-1</swm.version>
        <evosuiteVersion>1.0.4-alpha2</evosuiteVersion>
	</properties>

	<distributionManagement>
		<repository>
			<id>mso-releases</id>
			<name>MSO Release Repository</name>
			<url>https://ecomp-nexus:8443/repository/maven-releases/</url>
		</repository>
		<snapshotRepository>
			<id>mso-snapshots</id>
			<name>MSO Snapshot Repository</name>
			<url>https://ecomp-nexus:8443/repository/maven-snapshots/</url>
		</snapshotRepository>
		<site>
		  <id>mso-javadoc</id>
		  <url>dav:https://ecomp-nexus:8443/repository/mso-javadoc/${project.version}</url>
		</site>
	</distributionManagement>

    <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>

    <!-- configure build -->

	<!-- *********************************************************************************************************** -->
	<!-- Plugins and repositories -->
	<pluginRepositories>
		<pluginRepository>
			<id>central</id>
			<url>http://repo1.maven.org/maven2</url>
		</pluginRepository>

        <pluginRepository>
            <id>EvoSuite</id>
            <name>EvoSuite Repository</name>
            <url>http://www.evosuite.org/m2</url>
        </pluginRepository>
	</pluginRepositories>
	
	<repositories>
		<repository>
			<id>central</id>
			<name>Maven 2 repository 2</name>
			<url>http://repo2.maven.org/maven2/</url>
		</repository>
		<repository>
			<id>JBOSS</id>
			<name>JBoss Repository</name>
			<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
		</repository>	
		<repository>
			<id>jboss-deprecated-repository</id>
			<name>JBoss Deprecated Maven Repository</name>
			<url>https://repository.jboss.org/nexus/content/repositories/deprecated/</url>
		</repository>
		<repository>
			<id>mso-releases</id>
			<name>MSO Release Repository</name>
			<url>https://ecomp-nexus:8443/repository/maven-releases/</url>
		</repository>
		
		<!-- Camunda Web Repository -->
 		<repository>
			<id>CamundaWebRepo</id>
			<url>https://app.camunda.com/nexus/content/repositories/camunda-bpm/</url>
			<name>Camunda Web Repository</name>
		</repository>
		<repository>
			<id>CamundaPublicRepo</id>
			<url>https://app.camunda.com/nexus/content/groups/public</url>
			<name>Camunda Public repository</name>
		</repository>
		
		<!-- For Cambria Client -->
		<repository>
			<id>ecomp-nexus-public</id>
			<name>ECOMP Nexus Public Repository</name>
			<url>https://ecomp-nexus:8443/repository/maven-public</url>
		</repository>
		
	    <repository>
			<id>soapUI</id>
			<url>http://www.soapui.org/repository/maven2/</url>
			<name>SoapUI plugin</name>
		</repository>
		
	</repositories>
	<!-- *********************************************************************************************************** -->
	<!-- Build -->
	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
			<resource>
				<directory>target/generated-sources/license</directory>
				<includes>
					<include>third-party-licenses.txt</include>
				</includes>
			</resource>
			<resource>
				<directory>target/generated-resources/licenses</directory>
				<includes>
					<include>*.*</include>
				</includes>
				<targetPath>third-party-licenses</targetPath>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.8</version> <!-- This version supports the "deployAtEnd" parameter -->
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.17</version>
				<configuration>
			<!--		<forkCount>2C</forkCount>
					<reuseForks>true</reuseForks> -->
					<properties>
                        <property>
                            <name>listener</name>
                            <value>org.evosuite.runtime.InitializingListener</value>
                        </property>
                    </properties>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<debug>true</debug>
					<compilerArgument>-Xlint</compilerArgument>
					<verbose>true</verbose>
					<showDeprecation>true</showDeprecation>
					<showWarnings>true</showWarnings>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
<!-- 			<plugin> -->
<!-- 				<groupId>org.codehaus.mojo</groupId> -->
<!-- 				<artifactId>sonar-maven-plugin</artifactId> -->
<!-- 				<version>2.1</version> -->
<!-- 			</plugin> -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-ejb-plugin</artifactId>
				<version>2.2.1</version>
				<configuration>
					<ejbVersion>3.0</ejbVersion>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>2.17</version>
				<configuration>
					<includes>**/org/openecomp/**/*.java</includes>
					<configLocation>/google_checks.xml</configLocation>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>2.5.2</version>
				<configuration>
					<includeFilterFile>project-configs/code-tools/findbugs_include_filter.xml</includeFilterFile>
					<nested>true</nested>
					<findbugsXmlOutput>true</findbugsXmlOutput>
					<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
					<xmlOutput>true</xmlOutput>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>sonar-maven-plugin</artifactId>
				<version>3.2</version>
			</plugin>

			<plugin>
				<artifactId>maven-scm-plugin</artifactId>
				<version>1.8.1</version>
				<configuration>
					<tag>${project.artifactId}-${project.version}</tag>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.9</version>
			</plugin>
			<plugin>
			        <groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
			        <version>3.6</version>
			        <dependencies>
				  <dependency>
				    <groupId>org.apache.maven.wagon</groupId>
				    <artifactId>wagon-webdav-jackrabbit</artifactId>
				    <version>2.10</version>
				  </dependency>
				</dependencies>				    
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.5.2</version>
				<configuration>
					<formats>
						<format>xml</format>
					</formats>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
				<version>1.3.1</version>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jboss-packaging-maven-plugin</artifactId>
				<version>2.2</version>
				<!-- <configuration> <archive> <manifest> <addClasspath>true</addClasspath> 
					</manifest> </archive> </configuration> Enable 'jboss-sar', etc., as a recoginized 
					maven packaging type -->
				<extensions>true</extensions>
			</plugin>

			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.7.201606060606</version>
				<configuration>
					<dumpOnExit>true</dumpOnExit>
					<includes>
						<include>org.openecomp.*</include>
					</includes>


				</configuration>

				<executions>
					<execution>
						<id>jacoco-initialize-unit-tests</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
							<!-- <append>true</append> -->


						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
                <groupId>com.fortify.ps.maven.plugin</groupId>
                <artifactId>sca-maven-plugin</artifactId>
                <version>4.20</version>
                <configuration>
                	<buildId>mso-${project.version}</buildId>
                	<source>1.7</source>
                </configuration>
            </plugin>

            <!-- license plugin -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <version>1.10</version>
                <configuration>
                    <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
                    <processStartTag>============LICENSE_START=======================================================</processStartTag>
                    <processEndTag>============LICENSE_END=========================================================</processEndTag>
                    <sectionDelimiter>================================================================================</sectionDelimiter>
                    <licenseName>apache_v2</licenseName>
                    <inceptionYear>2017</inceptionYear>
                    <organizationName>AT&amp;T Intellectual Property. All rights reserved.</organizationName>
                    <projectName>ECOMP MSO</projectName>
                    <canUpdateCopyright>true</canUpdateCopyright>
                    <canUpdateDescription>true</canUpdateDescription>
                    <canUpdateLicense>true</canUpdateLicense>
                    <emptyLineAfterHeader>true</emptyLineAfterHeader>
                </configuration>
                <executions>
                    <execution>
                        <id>first</id>
                            <goals>
                                <goal>update-file-header</goal>
                            </goals>
                        <phase>process-sources</phase>
                        <configuration>
                            <licenseName>apache_v2</licenseName>
                            <includes>
                                <include>*.java</include>
                                <include>*.groovy</include>
                            </includes>
                            <excludes>
                                <exclude>*.json</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            
		</plugins>
		<pluginManagement>
			<plugins>
			
                <plugin>
                    <groupId>org.evosuite.plugins</groupId>
                    <artifactId>evosuite-maven-plugin</artifactId>
                    <version>${evosuiteVersion}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>prepare</goal>
                            </goals>
                            <phase>process-test-classes</phase>
                        </execution>
                    </executions>
                </plugin>
			</plugins>
		</pluginManagement>
	</build>

	<!-- *********************************************************************************************************** -->
	<!-- Dependencies -->
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
        <dependency>
            <groupId>org.evosuite</groupId>
            <artifactId>evosuite-standalone-runtime</artifactId>
            <version>${evosuiteVersion}</version>
            <scope>test</scope>
        </dependency>
	</dependencies>
	<dependencyManagement>
		<dependencies>


			<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
			<!-- force use of version 4.5 everywhere in transient deps, aligned on WildFly 10 version -->
			<dependency>
			    <groupId>org.apache.httpcomponents</groupId>
			    <artifactId>httpclient</artifactId>
			    <version>4.5</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
			    <groupId>org.apache.httpcomponents</groupId>
			    <artifactId>httpcore</artifactId>
			    <version>4.4.1</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
			    <groupId>commons-codec</groupId>
			    <artifactId>commons-codec</artifactId>
			    <version>1.10</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.5</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-core</artifactId>
				<version>1.3</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>1.2.17</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.10</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>com.sun.xml.fastinfoset</groupId>
				<artifactId>FastInfoset</artifactId>
				<version>1.2.13</version>
				<scope>compile</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
</project>