<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.onap.so</groupId>
    <artifactId>adapters</artifactId>
    <version>1.4.0-SNAPSHOT</version>
  </parent>
  <artifactId>mso-openstack-adapters</artifactId>
  <packaging>jar</packaging>
  <name>mso-openstack-adapters</name>
  <description>Consolidate openstack adapters into one Spring Boot project</description>
  <properties>
    <openfeign.version>10.1.0</openfeign.version>
  </properties>
  <build>
    <finalName>${project.artifactId}-${project.version}</finalName>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <mainClass>org.onap.so.adapters.openstack.MsoOpenstackAdaptersApplication</mainClass>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>
								repackage
							</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <executions>
          <execution>
            <id>default-test</id>
            <goals>
              <goal>test</goal>
            </goals>
            <configuration>
              <includes>
                <include>**/AllTestsTestSuite.java</include>
              </includes>
              <parallel>suites</parallel>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!--  run the following plugin only when there's a wsdl change and you need to recompile the java classes
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jaxws-maven-plugin</artifactId>
				<version>2.4.1</version>
				<executions>
					<execution>
						<id>generate-network-async-stubs</id>
						<phase>process-classes</phase>
						<goals>
							<goal>wsimport</goal>
						</goals>
						<configuration>
                            <vmArgs>
                                <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
                            </vmArgs>
							<wsdlDirectory>src/main/resources/wsdl</wsdlDirectory>
							<wsdlFiles>
								<wsdlFile>NetworkAdapterNotify.wsdl</wsdlFile>
							</wsdlFiles>
							<wsdlLocation>/NetworkAdapterNotify.wsdl</wsdlLocation>
							<packageName>org.onap.so.adapters.network.async.client</packageName>
							<xnocompile>false</xnocompile>
							<keep>true</keep>
						</configuration>
					</execution>

					<execution>
						<id>generate-vnf-async-stubs</id>
						<phase>process-classes</phase>
						<goals>
							<goal>wsimport</goal>
						</goals>
						<configuration>
					        <vmArgs>
					            <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
					        </vmArgs>
							<wsdlDirectory>src/main/resources/wsdl</wsdlDirectory>
							<wsdlFiles>
								<wsdlFile>VnfAdapterNotify.wsdl</wsdlFile>
							</wsdlFiles>
							<wsdlLocation>/VnfAdapterNotify.wsdl</wsdlLocation>
							<packageName>org.onap.so.adapters.vnf.async.client</packageName>
							<xnocompile>false</xnocompile>
							<keep>true</keep>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
			    <groupId>org.codehaus.mojo</groupId>
			    <artifactId>build-helper-maven-plugin</artifactId>
			    <version>3.0.0</version>
			    <executions>
			        <execution>
			            <id>add-source</id>
			            <phase>generate-sources</phase>
			            <goals>
			                <goal>add-source</goal>
			            </goals>
			            <configuration>
			                <sources>
			                    <source>${project.build.directory}/generated-sources/wsimport/</source>
			                </sources>
			            </configuration>
			        </execution>
			    </executions>
			 </plugin>
 -->
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>extract-docker-file</id>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>io.fabric8</groupId>
        <artifactId>fabric8-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>start</id>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <id>original</id>
          </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.jvnet.jax-ws-commons
                    </groupId>
                    <artifactId>
                      jaxws-maven-plugin
                    </artifactId>
                    <versionRange>
                      [2.3,)
                    </versionRange>
                    <goals>
                      <goal>wsgen</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore>
                    </ignore>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <dependencies>
    <!-- added for spring boot support -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>janino</groupId>
      <artifactId>janino</artifactId>
      <version>2.5.15</version>
    </dependency>

    <!-- end added for spring boot support -->

    <dependency>
      <groupId>org.pacesys</groupId>
      <artifactId>openstack4j-core</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>org.pacesys.openstack4j.connectors</groupId>
      <artifactId>openstack4j-httpclient</artifactId>
      <version>3.1.0</version>
    </dependency>

    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.1</version>
    </dependency>

    <dependency>
      <groupId>com.typesafe</groupId>
      <artifactId>config</artifactId>
      <version>1.3.2</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>jsr305</artifactId>
      <version>1.3.9</version>
    </dependency>

    <dependency>
      <groupId>commons-validator</groupId>
      <artifactId>commons-validator</artifactId>
      <version>1.4.0</version>
    </dependency>

    <!-- added for unit testing -->
    <dependency>
      <groupId>org.onap.so.adapters</groupId>
      <artifactId>mso-adapter-utils</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.adapters</groupId>
      <artifactId>mso-adapters-rest-interface</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mariadb.jdbc</groupId>
      <artifactId>mariadb-java-client</artifactId>
    </dependency>
    <dependency>
      <groupId>org.onap.so</groupId>
      <artifactId>common</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>ch.vorburger.mariaDB4j</groupId>
      <artifactId>mariaDB4j</artifactId>
      <version>2.2.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-contract-wiremock</artifactId>
      <version>1.2.4.RELEASE</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.onap.so</groupId>
      <artifactId>cxf-logging</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
      <artifactId>nova-model</artifactId>
      <version>${openstack.version}</version>
    </dependency>
    <dependency>
      <groupId>org.camunda.bpm</groupId>
      <artifactId>camunda-external-task-client</artifactId>
      <version>1.1.1</version>
    </dependency>
  </dependencies>
</project>