<?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>org.openecomp</groupId>
		<artifactId>mso</artifactId>
		<version>1.1.0-SNAPSHOT</version>
	</parent>

	<groupId>org.openecomp.mso</groupId>
	<artifactId>bpmn</artifactId>
	<name>BPMN Subsystem</name>
	<description>BPMN Subsystem for MSO</description>
	<packaging>pom</packaging>
	
	<properties>
		<camunda.version>7.6.0</camunda.version>
		<camunda.bpm.assert.version>1.2</camunda.bpm.assert.version>
		<h2.version>1.3.173</h2.version>
		<groovy.version>2.4.7</groovy.version>
		<saxon.version>9.5.1-8</saxon.version>
		<xmlunit.version>1.6</xmlunit.version>
		
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		
	</properties>

	<modules>
		<module>MSOCoreBPMN</module>
		<module>MSOMockServer</module>
		<module>MSORESTClient</module>
    	<module>MSOCommonBPMN</module>
		<module>MSOInfrastructureBPMN</module>
		<module>MSOURN-plugin</module>
		<module>MSOCockpit</module>
  </modules>
	
	<!-- Define artifact versions for child modules -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.camunda.bpm</groupId>
				<artifactId>camunda-bom</artifactId>
				<version>${camunda.version}</version>
				<scope>import</scope>
				<type>pom</type>
			</dependency>
			<dependency>
				<groupId>org.camunda.bpm.extension</groupId>
				<artifactId>camunda-bpm-assert</artifactId>
				<version>${camunda.bpm.assert.version}</version>
			</dependency>
			<dependency>
				<groupId>com.h2database</groupId>
				<artifactId>h2</artifactId>
				<version>${h2.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.groovy</groupId>
				<artifactId>groovy-all</artifactId>
				<version>${groovy.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sf.saxon</groupId>
				<artifactId>Saxon-HE</artifactId>
				<version>${saxon.version}</version>
			</dependency>
			<dependency>
				<groupId>xmlunit</groupId>
				<artifactId>xmlunit</artifactId>
				<version>${xmlunit.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.activation</groupId>
				<artifactId>activation</artifactId>
				<version>1.1.1</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-beans</artifactId>
				<version>3.2.4.RELEASE</version>
			</dependency>
		</dependencies>
	</dependencyManagement>
	
	<dependencies>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
		</dependency>
	</dependencies>
	
	<build>
	<plugins>
	
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-surefire-plugin</artifactId>
			<version>2.17</version>
			<configuration>
				<testFailureIgnore>false</testFailureIgnore>
				<argLine>-Xss1m @{argLine}</argLine>
				<properties>
	               <property>
	                 <!-- disabling project default evosuite listener-->
                     <name>usedefaultlisteners</name>
                     <value>true</value> 
                    </property>
                </properties>
			</configuration>
			
<!-- 			<configuration>
				<testFailureIgnore>true</testFailureIgnore>
				<forkCount>1</forkCount>
				<forkMode>once</forkMode>
			</configuration> -->
		</plugin>

	</plugins>
	<pluginManagement>
		<plugins>
			<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
			<plugin>
				<groupId>org.eclipse.m2e</groupId>
				<artifactId>lifecycle-mapping</artifactId>
				<version>1.0.0</version>
				<configuration>
					<lifecycleMappingMetadata>
						<pluginExecutions>
							<pluginExecution>
								<pluginExecutionFilter>
									<groupId>org.jacoco</groupId>
									<artifactId>
										jacoco-maven-plugin
									</artifactId>
									<versionRange>
										[0.7.1.201405082137,)
									</versionRange>
									<goals>
										<goal>prepare-agent</goal>
									</goals>
								</pluginExecutionFilter>
								<action>
									<ignore></ignore>
								</action>
							</pluginExecution>
						</pluginExecutions>
					</lifecycleMappingMetadata>
				</configuration>
			</plugin>
		
		</plugins>
	</pluginManagement>
	</build>
</project>
