<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.openecomp.so</groupId>
		<artifactId>bpmn</artifactId>
		<version>1.1.0-SNAPSHOT</version>
	</parent>
	<artifactId>MSOCommonBPMN</artifactId>
	<name>MSOCommonBPMN</name>
	<packaging>war</packaging>

	<properties>
		<camunda.version>7.6.0</camunda.version>
		<spring.version>4.3.2.RELEASE</spring.version>
		<httpclient.version>3.1</httpclient.version>
		<jax.ws.rs>2.0.1</jax.ws.rs>
		<jackson.version>1.1.1</jackson.version>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.source>1.8</maven.compiler.source>
	</properties>


	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<executions>
					<execution>
						<id>test-compile</id>
						<phase>compile</phase>
						<goals>
							<goal>testCompile</goal>
						</goals>
						<configuration>
							<skip>false</skip>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.6</version>
				<executions>
					<execution>
						<!-- Build MSOCommonBPMN-${version}.jar -->
						<id>default-jar</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<excludes>
								<exclude>org/openecomp/mso/bpmn/common/MSOCommonApplication.class</exclude>
								<!-- <exclude>META-INF/</exclude> -->
							</excludes>
						</configuration>
					</execution>
					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
						<configuration>
							<forceCreation>true</forceCreation>
							<skip>false</skip>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>3.0.0</version>
				<executions>
					<execution>
						<goals>
							<goal>attach-artifact</goal>
						</goals>
						<phase>package</phase>
						<configuration>
							<artifacts>
								<artifact>
									<file>${project.build.directory}/${project.artifactId}-${project.version}.jar</file>
									<type>jar</type>
								</artifact>
							</artifacts>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.3</version>
				<configuration>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-codegen-plugin</artifactId>
				<version>2.5.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<version>2.8</version>
				<configuration>
					<additionalProjectnatures>
						<projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
					</additionalProjectnatures>
					<sourceIncludes>
						<sourceInclude>**/*.groovy</sourceInclude>
					</sourceIncludes>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<id>compile</id>
						<phase>compile</phase>
						<configuration>
							<tasks>
								<mkdir dir="${basedir}/src/main/groovy" />
								<taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
									<classpath refid="maven.compile.classpath" />
								</taskdef>
								<mkdir dir="${project.build.outputDirectory}" />
								<groovyc destdir="${project.build.outputDirectory}"
									srcdir="${basedir}/src/main/groovy/" listfiles="true">
									<classpath refid="maven.compile.classpath" />
								</groovyc>
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
					<execution>
						<id>test-compile</id>
						<phase>test-compile</phase>
						<configuration>
							<tasks>
								<mkdir dir="${basedir}/src/test/groovy" />
								<taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
									<classpath refid="maven.test.classpath" />
								</taskdef>
								<mkdir dir="${project.build.testOutputDirectory}" />
								<groovyc destdir="${project.build.testOutputDirectory}"
									srcdir="${basedir}/src/test/groovy/" listfiles="true">
									<classpath refid="maven.test.classpath" />
								</groovyc>
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jaxb2-maven-plugin</artifactId>
				<version>2.3</version>
				<executions>
					<execution>
						<id>xjc</id>
						<goals>
							<goal>xjc</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<extension>true</extension>
					<arguments>
						<argument>-Xannotate</argument>
						<argument>-Xcommons-lang</argument>
					</arguments>
					<sources>
						<source>src/main/resources/xsd</source>
					</sources>
					<xjbSources>
						<xjbSource>src/main/resources/xjb</xjbSource>
					</xjbSources>
					<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.jvnet.jaxb2_commons</groupId>
						<artifactId>jaxb2-basics-annotate</artifactId>
						<version>0.6.4</version>
					</dependency>
					<dependency>
						<groupId>org.jvnet.jaxb2_commons</groupId>
						<artifactId>jaxb2-commons-lang</artifactId>
						<version>2.3</version>
					</dependency>
					<dependency>
						<groupId>com.sun.codemodel</groupId>
						<artifactId>codemodel</artifactId>
						<version>2.6</version>
					</dependency>
				</dependencies>
			</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.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-antrun-plugin
										</artifactId>
										<versionRange>
											[1.3,)
										</versionRange>
										<goals>
											<goal>run</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>


			</plugins>
		</pluginManagement>
	</build>

	<dependencies>

		<dependency>
			<!-- process engine, in compile scope to include it in the war file -->
			<groupId>org.camunda.bpm</groupId>
			<artifactId>camunda-engine</artifactId>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- Using the `DefaultEjbProcessApplication` result in: `java.sql.SQLException: 
			You cannot commit during a managed transaction!` -->
		<dependency>
			<!-- CDI integration, needs to be included in WAR, otherwise CDI can not 
				work correctly -->
			<groupId>org.camunda.bpm</groupId>
			<artifactId>camunda-engine-cdi</artifactId>
		</dependency>

		<dependency>
			<groupId>org.camunda.bpm.extension</groupId>
			<artifactId>camunda-bpm-assert</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.10.19</version>
			<scope>test</scope>
		</dependency>
		
		<!-- Spin dataformat support, in compile scope to include it in the war 
			file -->
		<dependency>
			<groupId>org.camunda.spin</groupId>
			<artifactId>camunda-spin-dataformat-all</artifactId>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.camunda.bpm</groupId>
			<artifactId>camunda-engine-plugin-spin</artifactId>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.camunda.bpm</groupId>
			<artifactId>camunda-engine-plugin-connect</artifactId>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<!-- Bootstrap for styling via Webjars project -->
			<groupId>org.webjars</groupId>
			<artifactId>bootstrap</artifactId>
			<version>2.3.2</version>
		</dependency>

		<dependency>
			<groupId>org.jboss.resteasy</groupId>
			<artifactId>resteasy-client</artifactId>
			<version>3.0.19.Final</version>
			<scope>provided</scope>
			<exclusions>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpclient</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<!-- Needed for InMemoryH2Test -->
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.uuid</groupId>
			<artifactId>java-uuid-generator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.codehaus.groovy</groupId>
			<artifactId>groovy-all</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.4</version>
		</dependency>
		<dependency>
			<groupId>org.openecomp.so</groupId>
			<artifactId>MSOCoreBPMN</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<!-- unit test utilities -->
			<groupId>org.openecomp.so</groupId>
			<artifactId>MSOCoreBPMN</artifactId>
			<version>${project.version}</version>
			<classifier>tests</classifier>
			<scope>test</scope>
		</dependency>
		<dependency>
            <groupId>org.openecomp.so</groupId>
            <artifactId>common</artifactId>
            <version>${project.version}</version>
        </dependency>
		<dependency>
			<groupId>javax.ws.rs</groupId>
			<artifactId>javax.ws.rs-api</artifactId>
			<version>2.0</version>
		</dependency>
		<!-- for encoding the url the same way A&AI does -->
		<dependency>
			<groupId>org.openecomp.so</groupId>
			<artifactId>MSOMockServer</artifactId>
			<version>${project.version}</version>
			<classifier>classes</classifier>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.openecomp.so</groupId>
			<artifactId>MSORESTClient</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>com.github.tomakehurst</groupId>
			<artifactId>wiremock</artifactId>
			<version>1.56</version>
			<scope>test</scope>
			<classifier>standalone</classifier>
			<exclusions>
				<exclusion>
					<groupId>org.mortbay.jetty</groupId>
					<artifactId>jetty</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.google.guava</groupId>
					<artifactId>guava</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-annotations</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.fasterxml.jackson.core</groupId>
					<artifactId>jackson-databind</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpclient</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.skyscreamer</groupId>
					<artifactId>jsonassert</artifactId>
				</exclusion>
				<exclusion>
					<groupId>xmlunit</groupId>
					<artifactId>xmlunit</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.jayway.jsonpath</groupId>
					<artifactId>json-path</artifactId>
				</exclusion>
				<exclusion>
					<groupId>net.sf.jopt-simple</groupId>
					<artifactId>jopt-simple</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.camunda.bpm</groupId>
			<artifactId>camunda-engine-spring</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>4.3.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>2.8.7</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>2.8.7</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.module</groupId>
			<artifactId>jackson-module-jaxb-annotations</artifactId>
			<version>2.4.0</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>1.6.12</version>
		</dependency>
		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>${httpclient.version}</version>
		</dependency>
		<dependency>
			<groupId>org.openecomp.appc.client</groupId>
			<artifactId>client-kit</artifactId>
			<version>1.1.0</version>
		</dependency>
		<dependency>
			<groupId>org.openecomp.appc.client</groupId>
			<artifactId>client-lib</artifactId>
			<version>1.1.0</version>
		</dependency>
		
		<dependency>
			<groupId>org.onap.aai.aai-common</groupId>
			<artifactId>aai-schema</artifactId>
			<version>1.1.0-SNAPSHOT</version>
		</dependency>
		
		
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.8.7</version>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.10.19</version>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>com.openpojo</groupId>
			<artifactId>openpojo</artifactId>
			<version>0.8.6</version>
		</dependency>
		<dependency>
			<groupId>com.jayway.jsonpath</groupId>
			<artifactId>json-path</artifactId>
			<version>2.2.0</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>${httpclient.version}</version>
		</dependency>
		<dependency>
			<groupId>javax.ws.rs</groupId>
			<artifactId>javax.ws.rs-api</artifactId>
			<version>${jax.ws.rs}</version>
		</dependency>

		<dependency>
			<groupId>org.openecomp.appc.client</groupId>
			<artifactId>client-kit</artifactId>
			<version>1.1.0</version>
		</dependency>
		<dependency>
			<groupId>org.openecomp.appc.client</groupId>
			<artifactId>client-lib</artifactId>
			<version>1.1.0</version>
		</dependency>
		
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.8.7</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>2.8.7</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.module</groupId>
			<artifactId>jackson-module-jaxb-annotations</artifactId>
			<version>2.4.0</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>1.6.12</version>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.10.19</version>
		</dependency>
		<dependency>
			<groupId>com.att.nsa</groupId>
			<artifactId>dmaapClient</artifactId>
			<version>0.2.12</version>
		</dependency>
		<dependency>
			<!-- Optional Plugin for Camunda BPM Workbench -->
			<groupId>org.camunda.bpm.workbench</groupId>
			<artifactId>camunda-workbench-dist-embeddable</artifactId>
			<version>1.0.0-alpha8</version>
			<scope>test</scope>
		</dependency>
		<dependency>
       <groupId>org.jboss.resteasy</groupId>
       <artifactId>resteasy-jackson2-provider</artifactId>
       <version>3.0.11.Final</version>
    </dependency>
				
	</dependencies>
</project>