<!--
  ============LICENSE_START=======================================================
  ONAP Policy Engine
  ================================================================================
  Copyright (C) 2017-2018, 2020 AT&T Intellectual Property. All rights reserved.
  ================================================================================
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  ============LICENSE_END=========================================================
  -->
<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.policy.engine</groupId>
        <artifactId>PolicyEngineSuite</artifactId>
        <version>1.6.1-SNAPSHOT</version>
    </parent>
    <artifactId>ONAP-SDK-APP</artifactId>
    <packaging>war</packaging>
    <properties>
        <encoding>UTF-8</encoding>
        <epsdk.version>2.6.0</epsdk.version>
        <springframework.version>4.3.24.RELEASE</springframework.version>
        <hibernate.version>4.3.11.Final</hibernate.version>
        <!-- Skip assembling the zip; assemble via mvn -Dskipassembly=false .. -->
        <skipassembly>true</skipassembly>
        <!-- Tests usually require some setup that maven cannot do, so skip. -->
        <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**,src/main/webapp/**/*</sonar.exclusions>
        <!-- Version number gets stored only here -->
        <tomcat.download.path>http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.34/bin</tomcat.download.path>
        <tomcat.download.name>apache-tomcat-8.5.34</tomcat.download.name>
    </properties>
    <profiles>
        <!-- disable doclint, a new feature in Java 8, when generating javadoc -->
        <profile>
            <id>doclint-java8-disable</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <additionalparam>-Xdoclint:none</additionalparam>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>${skiptests}</skipTests>
                    <includes>
                        <include>**/Test*.java</include>
                        <include>**/*Test.java</include>
                        <include>**/*TestCase.java</include>
                    </includes>
                    <additionalClasspathElements>
                        <additionalClasspathElement>${basedir}/war</additionalClasspathElement>
                    </additionalClasspathElements>
                    <systemPropertyVariables>
                        <container.classpath>classpath:</container.classpath>
                    </systemPropertyVariables>
                </configuration>
            </plugin>
            <!-- add version number to manifest -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <attachClasses>true</attachClasses>
                    <archive>
                        <manifest>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                        </manifest>
                        <manifestEntries>
                            <Build-Number>${project.version}</Build-Number>
                            <Build-Time>${maven.build.timestamp}</Build-Time>
                        </manifestEntries>
                    </archive>
                    <overlays>
                        <overlay>
                            <groupId>org.onap.portal.sdk</groupId>
                            <artifactId>epsdk-app-overlay</artifactId>
                            <excludes>
                                <exclude>static/fusion/raptor/uigrid/vfs_fonts.js</exclude>
                            </excludes>
                        </overlay>
                        <overlay>
                            <groupId>org.onap.policy.engine</groupId>
                            <artifactId>POLICY-SDK-APP</artifactId>
                        </overlay>
                    </overlays>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <skipAssembly>${skipassembly}</skipAssembly>
                    <descriptors>
                        <descriptor>${basedir}/distribution.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <!-- parent specifies the<version>2.8</version> -->
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>io.fabric8</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.22.0</version>
                <configuration>
                    <verbose>true</verbose>
                    <images>
                        <image>
                            <name>onap/portal-sdk:${project.version}</name>
                            <build>
                                <from>frolvlad/alpine-oraclejdk8:slim</from>
                                <assembly>
                                    <descriptorRef>artifact</descriptorRef>
                                </assembly>
                                <runCmds>
                                    <!-- must be all on one line; use CDATA to turn off the Eclipse 
                                        formatter -->
                                    <run><![CDATA[wget -q ${tomcat.download.path}/${tomcat.download.name}.tar.gz]]></run>
                                    <run>tar -xzf
                                        ${tomcat.download.name}.tar.gz</run>
                                    <run>rm -f
                                        ${tomcat.download.name}.tar.gz</run>
                                    <run>rm -fr
                                        ${tomcat.download.name}/webapps/[a-z]*</run>
                                    <run>mkdir -p /opt</run>
                                    <run>mv ${tomcat.download.name} /opt</run>
                                    <run><![CDATA[mv /maven/*.war /opt/${tomcat.download.name}/webapps/ONAPPORTALSDK.war]]></run>
                                </runCmds>
                                <cmd>
                                    <shell>/opt/${tomcat.download.name}/bin/catalina.sh
                                        run</shell>
                                </cmd>
                            </build>
                        </image>
                    </images>
                </configuration>
            </plugin>

        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito2</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- Policy overlay war -->
        <dependency>
            <groupId>org.onap.policy.engine</groupId>
            <artifactId>POLICY-SDK-APP</artifactId>
            <version>${project.version}</version>
            <type>war</type>
            <exclusions>
                <exclusion>
                    <groupId>org.onap.portal.sdk</groupId>
                    <artifactId>epsdk-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.xmlbeans</groupId>
                    <artifactId>xmlbeans</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>dom4j</groupId>
                    <artifactId>dom4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.engine</groupId>
            <artifactId>POLICY-SDK-APP</artifactId>
            <version>${project.version}</version>
            <type>jar</type>
            <classifier>classes</classifier>
            <exclusions>
                <exclusion>
                    <groupId>org.onap.portal.sdk</groupId>
                    <artifactId>epsdk-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-expression</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.engine</groupId>
            <artifactId>PolicyEngineUtils</artifactId>
            <version>${project.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.att.aft</groupId>
                    <artifactId>dme2</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- SDK overlay war -->
        <dependency>
            <groupId>org.onap.portal.sdk</groupId>
            <artifactId>epsdk-app-overlay</artifactId>
            <version>${epsdk.version}</version>
            <type>war</type>
        </dependency>
        <dependency>
            <groupId>org.onap.portal.sdk</groupId>
            <artifactId>epsdk-app-common</artifactId>
            <version>${epsdk.version}</version>
            <type>jar</type>
            <exclusions>
                <!-- Added exclusions to fix issue with duplicate jars of different versions -->
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-web</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-webmvc</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xerces</groupId>
                    <artifactId>xercesImpl</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xalan</groupId>
                    <artifactId>xalan</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xml-apis</groupId>
                    <artifactId>xml-apis-ext</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xom</groupId>
                    <artifactId>xom</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- SDK components -->
        <!--
        CLM security fix - force use of commons-collections 3.2.2.
        Remove this if a new version of epsdk-core is upgraded
        to not use esapi (and then subsequently commons-collections v3.2
        -->
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.onap.portal.sdk</groupId>
            <artifactId>epsdk-core</artifactId>
            <version>${epsdk.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-collections</groupId>
                    <artifactId>commons-collections</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.thoughtworks.xstream</groupId>
                    <artifactId>xstream</artifactId>
                </exclusion>
                <!-- Added exclusions to fix issue with duplicate jars of different versions -->
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-web</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-webmvc</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-aop</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-orm</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xalan</groupId>
                    <artifactId>xalan</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjrt</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.onap.portal.sdk</groupId>
            <artifactId>epsdk-analytics</artifactId>
            <version>${epsdk.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.oracle</groupId>
                    <artifactId>ojdbc6</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.lowagie</groupId>
                    <artifactId>itext</artifactId>
                </exclusion>
                <!-- Added exclusions to fix issue with duplicate jars of different versions -->
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-web</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-webmvc</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.onap.portal.sdk</groupId>
            <artifactId>epsdk-workflow</artifactId>
            <version>${epsdk.version}</version>
            <exclusions>
                <!-- Added exclusions to fix issue with duplicate jars of different versions -->
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-web</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-webmvc</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- Spring -->
        <!-- Added dependencies to fix issue with duplicate jars of different versions -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.8.14</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.14</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${springframework.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${springframework.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-expression</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${springframework.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-expression</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- bridge to implement commons-logging using slf4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.7.12</version>
        </dependency>
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>
        <!-- Maria DB -->
        <dependency>
            <groupId>org.mariadb.jdbc</groupId>
            <artifactId>mariadb-java-client</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        <!-- Quartz -->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.1</version>
            <exclusions>
                <!-- exclude 0.9.1.1 to avoid dupe of com.mchange:c3p0:0.9.2.1 -->
                <exclusion>
                    <groupId>c3p0</groupId>
                    <artifactId>c3p0</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
    </dependencies>
</project>
