remove ANR xapp
[portal/ric-dashboard.git] / webapp-backend / pom.xml
index 0f19b87..892ca6f 100644 (file)
@@ -3,7 +3,7 @@
 ========================LICENSE_START=================================
 O-RAN-SC
 %%
-Copyright (C) 2019 AT&T Intellectual Property and Nokia
+Copyright (C) 2019 AT&T Intellectual Property
 %%
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
@@ -25,34 +25,88 @@ limitations under the License.
        <parent>
                <groupId>org.o-ran-sc.portal.ric-dashboard</groupId>
                <artifactId>ric-dash-parent</artifactId>
-               <version>1.0.4-SNAPSHOT</version>
+               <version>1.3.0-SNAPSHOT</version>
        </parent>
        <artifactId>ric-dash-be</artifactId>
        <name>RIC Dashboard Webapp backend</name>
        <properties>
-               <java.version>1.8</java.version>
                <springfox.version>2.9.2</springfox.version>
+               <!-- Set by Jenkins -->
+               <build.number>0</build.number>
        </properties>
+       <repositories>
+               <repository>
+                       <id>onap-releases</id>
+                       <name>ONAP - Release Repository</name>
+                       <url>https://nexus.onap.org/content/repositories/releases</url>
+               </repository>
+       </repositories>
        <dependencies>
+               <!-- xApps -->
+               <!-- Platform components -->
                <dependency>
-                       <groupId>org.o-ran-sc.ric.a1med.client</groupId>
+                       <groupId>org.o-ran-sc.ric.plt.a1med.client</groupId>
                        <artifactId>a1-med-client</artifactId>
-                       <version>0.4.0-SNAPSHOT</version>
+                       <version>0.10.3-SNAPSHOT</version>
                </dependency>
                <dependency>
-                       <groupId>org.o-ran-sc.ric.anrxapp.client</groupId>
-                       <artifactId>anr-xapp-client</artifactId>
-                       <version>0.0.7-SNAPSHOT</version>
+                       <groupId>org.o-ran-sc.ric.plt.appmgr.client</groupId>
+                       <artifactId>app-mgr-client</artifactId>
+                       <version>0.1.7-SNAPSHOT</version>
                </dependency>
                <dependency>
-                       <groupId>org.o-ran-sc.ric.e2mgr.client</groupId>
+                       <groupId>org.o-ran-sc.ric.plt.e2mgr.client</groupId>
                        <artifactId>e2-mgr-client</artifactId>
-                       <version>20190515-SNAPSHOT</version>
+                       <version>2.0.5-SNAPSHOT</version>
                </dependency>
                <dependency>
-                       <groupId>org.o-ran-sc.ric.xappmgr.client</groupId>
-                       <artifactId>xapp-mgr-client</artifactId>
-                       <version>0.1.4-SNAPSHOT</version>
+                       <groupId>org.onap.portal.sdk</groupId>
+                       <artifactId>epsdk-fw</artifactId>
+                       <version>2.6.0</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>commons-logging</groupId>
+                                       <artifactId>commons-logging</artifactId>
+                               </exclusion>
+                               <exclusion>
+                                       <groupId>log4j</groupId>
+                                       <artifactId>log4j</artifactId>
+                               </exclusion>
+                               <exclusion>
+                                       <groupId>log4j</groupId>
+                                       <artifactId>apache-log4j-extras</artifactId>
+                               </exclusion>
+                               <exclusion>
+                                       <groupId>org.slf4j</groupId>
+                                       <artifactId>slf4j-log4j12</artifactId>
+                               </exclusion>
+                               <exclusion>
+                                       <groupId>junit</groupId>
+                                       <artifactId>junit</artifactId>
+                               </exclusion>
+                               <exclusion>
+                                       <groupId>commons-fileupload</groupId>
+                                       <artifactId>commons-fileupload</artifactId>
+                               </exclusion>
+                               <exclusion>
+                                       <groupId>commons-beanutils</groupId>
+                                       <artifactId>commons-beanutils</artifactId>
+                               </exclusion>
+                               <!-- EELF omits "test" scope on this dependency -->
+                               <exclusion>
+                                       <groupId>org.powermock</groupId>
+                                       <artifactId>powermock-module-junit4</artifactId>
+                               </exclusion>
+                               <!-- EELF omits "test" scope on this dependency -->
+                               <exclusion>
+                                       <groupId>org.powermock</groupId>
+                                       <artifactId>powermock-api-mockito</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+               <dependency>
+                       <groupId>org.springframework.boot</groupId>
+                       <artifactId>spring-boot-starter-security</artifactId>
                </dependency>
                <dependency>
                        <groupId>org.springframework.boot</groupId>
@@ -62,6 +116,11 @@ limitations under the License.
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                </dependency>
+               <!-- Bridge uses of Apache commons logging, like EPSDK-FW -->
+               <dependency>
+                       <groupId>org.slf4j</groupId>
+                       <artifactId>jcl-over-slf4j</artifactId>
+               </dependency>
                <dependency>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-classic</artifactId>
@@ -80,57 +139,75 @@ limitations under the License.
                        <artifactId>springfox-swagger-ui</artifactId>
                        <version>${springfox.version}</version>
                </dependency>
+               <!-- Test dependencies -->
                <!-- Mockito supports development, not just testing -->
                <dependency>
                        <groupId>org.mockito</groupId>
                        <artifactId>mockito-core</artifactId>
+                       <scope>test</scope>
                </dependency>
-               <!-- Test dependencies -->
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-test</artifactId>
                        <scope>test</scope>
                </dependency>
+               <dependency>
+                       <groupId>org.junit.jupiter</groupId>
+                       <artifactId>junit-jupiter-api</artifactId>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.junit.jupiter</groupId>
+                       <artifactId>junit-jupiter-engine</artifactId>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.junit.platform</groupId>
+                       <artifactId>junit-platform-launcher</artifactId>
+                       <!-- Override Spring-Boot choice for Eclipse -->
+                       <version>1.4.2</version>
+                       <scope>test</scope>
+               </dependency>
        </dependencies>
        <build>
                <plugins>
-                       <!-- do not deploy a jar or pom file -->
                        <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-deploy-plugin</artifactId>
-                               <!-- spring sets the <version>2.8</version> -->
-                               <configuration>
-                                       <skip>true</skip>
-                               </configuration>
+                               <groupId>org.springframework.boot</groupId>
+                               <artifactId>spring-boot-maven-plugin</artifactId>
                        </plugin>
                        <plugin>
+                               <!-- Most configuration and all execution is inherited -->
                                <groupId>org.codehaus.mojo</groupId>
                                <artifactId>license-maven-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>update-file-header</goal>
-                                               </goals>
-                                               <phase>process-sources</phase>
-                                               <configuration>
-                                                       <organizationName>${lmp.organization.name}</organizationName>
-                                                       <inceptionYear>${lmp.inception.year}</inceptionYear>
-                                                       <projectName>${lmp.project.name}</projectName>
-                                                       <licenseName>${lmp.license.name}</licenseName>
-                                                       <processStartTag>${lmp.process.start.tag}</processStartTag>
-                                                       <processEndTag>${lmp.process.end.tag}</processEndTag>
-                                                       <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
-                                               </configuration>
-                                       </execution>
-                               </executions>
+                               <configuration>
+                                       <roots>
+                                               <root>src</root>
+                                       </roots>
+                                       <excludes>
+                                               <exclude>**/*.json</exclude>
+                                       </excludes>
+                               </configuration>
                        </plugin>
+                       <!-- Add the build number to the jar manifest. Spring-Boot uses a complex 
+                               packaging process that makes access to the original Manifest.MF very difficult. 
+                               However, Java provides access to the implementation version for a package, 
+                               so cram the build number into there. -->
                        <plugin>
-                               <groupId>org.springframework.boot</groupId>
-                               <artifactId>spring-boot-maven-plugin</artifactId>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-jar-plugin</artifactId>
+                               <configuration>
+                                       <archive>
+                                               <manifest>
+                                                       <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+                                               </manifest>
+                                               <manifestEntries>
+                                                       <Implementation-Version>${project.version}-b${build.number}</Implementation-Version>
+                                               </manifestEntries>
+                                       </archive>
+                               </configuration>
                        </plugin>
                        <plugin>
                                <artifactId>maven-resources-plugin</artifactId>
-                               <!-- spring-boot sets the <version>3.1.0</version> -->
                                <executions>
                                        <execution>
                                                <id>copy-resources</id>
@@ -149,11 +226,39 @@ limitations under the License.
                                        </execution>
                                </executions>
                        </plugin>
+                       <!-- do not deploy a jar or pom file -->
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-deploy-plugin</artifactId>
+                               <configuration>
+                                       <skip>true</skip>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.jacoco</groupId>
+                               <artifactId>jacoco-maven-plugin</artifactId>
+                               <version>0.8.4</version>
+                               <executions>
+                                       <execution>
+                                               <id>default-prepare-agent</id>
+                                               <goals>
+                                                       <goal>prepare-agent</goal>
+                                               </goals>
+                                       </execution>
+                                       <execution>
+                                               <id>default-report</id>
+                                               <phase>prepare-package</phase>
+                                               <goals>
+                                                       <goal>report</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
                        <!-- https://stackoverflow.com/questions/39126226/fabric8-springboot-full-example -->
                        <plugin>
                                <groupId>io.fabric8</groupId>
                                <artifactId>docker-maven-plugin</artifactId>
-                               <version>0.28.0</version>
+                               <version>0.30.0</version>
                                <configuration>
                                        <verbose>true</verbose>
                                        <!-- environment variables supplied by Jenkins -->
@@ -162,9 +267,10 @@ limitations under the License.
                                        <images>
                                                <image>
                                                        <!-- Specify a tag to avoid default tag "latest" -->
-                                                       <name>${project.artifactId}:${project.version}</name>
+                                                       <!-- Avoid maven artifact name here -->
+                                                       <name>o-ran-sc/ric-dashboard:${project.version}</name>
                                                        <build>
-                                                               <from>openjdk:8-jre-slim</from>
+                                                               <from>openjdk:11-jre-slim</from>
                                                                <tags>
                                                                        <!-- Add tag with build number -->
                                                                        <tag>${project.version}</tag>
@@ -174,12 +280,21 @@ limitations under the License.
                                                                </assembly>
                                                                <runCmds>
                                                                        <!-- Ensure logs dir exists and is world writable -->
-                                                                       <runCmd>mkdir /maven/logs</runCmd>
-                                                                       <runCmd>chmod -R 777 /maven</runCmd>
+                                                                       <runCmd>mkdir /logs</runCmd>
+                                                                       <runCmd>chmod -R 777 /logs</runCmd>
                                                                </runCmds>
                                                                <cmd>
-                                                                       <!-- CDATA prevents Eclipse formatter from breaking line -->
-                                                                       <shell><![CDATA[cd /maven; java -Xms128m -Xmx1024m -Djava.security.egd=file:/dev/./urandom -jar ${project.artifactId}-${project.version}.${project.packaging}]]></shell>
+                                                                       <!-- Include maven dir on classpath for prop files -->
+                                                                       <exec>
+                                                                               <arg>java</arg>
+                                                                               <arg>-Xms128m</arg>
+                                                                               <arg>-Xmx256m</arg>
+                                                                               <arg>-cp</arg>
+                                                                               <arg>maven:maven/${project.artifactId}-${project.version}.${project.packaging}</arg>
+                                                                               <arg>-Dloader.main=org.oransc.ric.portal.dashboard.DashboardApplication</arg>
+                                                                               <arg>-Djava.security.egd=file:/dev/./urandom</arg>
+                                                                               <arg>org.springframework.boot.loader.PropertiesLauncher</arg>
+                                                                       </exec>
                                                                </cmd>
                                                        </build>
                                                </image>