<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">
	<parent>
		<groupId>org.onap.so</groupId>
		<artifactId>bpmn</artifactId>
		<version>1.2.0-SNAPSHOT</version>
	</parent>
	<modelVersion>4.0.0</modelVersion>
	<artifactId>MSOInfrastructureBPMN</artifactId>
	<packaging>war</packaging>

	<build>
		<plugins>
			<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.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.6</version>
				<executions>
					<execution>
						<id>default-jar</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
                        	<excludes>
								<exclude>org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.class</exclude>
<!-- 								<exclude>META-INF/</exclude> -->
							</excludes>
						</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.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.apache.maven.plugins</groupId>
        		<artifactId>maven-dependency-plugin</artifactId>
       		</plugin>
            <plugin>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </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>
			<!-- AssertJ Testing Library -->
			<groupId>org.camunda.bpm.extension</groupId>
			<artifactId>camunda-bpm-assert</artifactId>
			<version>1.2</version>
			<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>
			<artifactId>camunda-spin-dataformat-all</artifactId>
			<groupId>org.camunda.spin</groupId>
			<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.onap.so</groupId>
			<artifactId>MSOCoreBPMN</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.onap.so</groupId>
			<artifactId>MSOCommonBPMN</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.onap.so</groupId>
			<artifactId>MSOCommonBPMN</artifactId>
			<version>${project.version}</version>
			<classifier>tests</classifier>
			<scope>test</scope>
		</dependency>
		<dependency>
			<!-- unit test utilities -->
			<groupId>org.onap.so</groupId>
			<artifactId>MSOCoreBPMN</artifactId>
			<version>${project.version}</version>
			<classifier>tests</classifier>
			<scope>test</scope>
		</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.springframework</groupId>
    	<artifactId>spring-web</artifactId>
    	<version>4.3.2.RELEASE</version>
	</dependency>
	<dependency>
	  <groupId>org.onap.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>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>
			<!-- 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>
			<exclusions>
				<exclusion>
					<groupId>com.fasterxml.jackson.jaxrs</groupId>
					<artifactId>jackson-jaxrs-json-provider</artifactId>
				</exclusion>
			</exclusions>
    </dependency>

		<dependency>
			<groupId>org.onap.msb.java-sdk</groupId>
			<artifactId>msb-java-sdk</artifactId>
			<version>1.0.0</version>
			<exclusions>
				<exclusion>
					<groupId>com.eclipsesource.jaxrs</groupId>
					<artifactId>jersey-all</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!--for yang tools-->
<!--		<dependency>
			<groupId>org.onap.so</groupId>
			<artifactId>common</artifactId>
			<version>1.2.0-SNAPSHOT</version>
		</dependency>

		<dependency>
			<groupId>org.onap.sdnc.northbound</groupId>
			<artifactId>generic-resource-api.model</artifactId>
			<version>1.2.0</version>
		</dependency>-->
	</dependencies>
</project>
