========================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.
<parent>
<groupId>org.o-ran-sc.portal.ric-dashboard</groupId>
<artifactId>ric-dash-parent</artifactId>
- <version>1.0.3-SNAPSHOT</version>
+ <version>2.0.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.5-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>02052019-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.2-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>
<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>
<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>
</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 -->
<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>
</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>