<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>
            <configuration>
              <skip>false</skip>
            </configuration>
          </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.2.0</version>
    </dependency>
    <dependency>
      <groupId>org.pacesys.openstack4j.connectors</groupId>
      <artifactId>openstack4j-httpclient</artifactId>
      <version>3.2.0</version>
    </dependency>

    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.2</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>
