Update to JDK 17 & Springboot 3 32/10832/2
authorJohnKeeney <john.keeney@est.tech>
Mon, 3 Apr 2023 12:24:52 +0000 (13:24 +0100)
committerJohnKeeney <john.keeney@est.tech>
Mon, 3 Apr 2023 14:00:45 +0000 (15:00 +0100)
Change-Id: I4bcfb8b058030fc959915761251920a76620926a
Issue-ID: NONRTRIC-841
Signed-off-by: JohnKeeney <john.keeney@est.tech>
nonrtric-gateway/Dockerfile
nonrtric-gateway/eclipse-formatter.xml
nonrtric-gateway/pom.xml
pom.xml
webapp-frontend/pom.xml

index 5472edf..4fc663d 100644 (file)
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
 #
-FROM openjdk:11-jre-slim
+FROM openjdk:17-jdk as jre-build
+
+RUN $JAVA_HOME/bin/jlink \
+--verbose \
+--add-modules ALL-MODULE-PATH \
+--strip-debug \
+--no-man-pages \
+--no-header-files \
+--compress=2 \
+--output /customjre
+
+# Use debian base image (same as openjdk uses)
+FROM debian:11-slim
+
+ENV JAVA_HOME=/jre
+ENV PATH="${JAVA_HOME}/bin:${PATH}"
+
+#copy JRE from the base image
+COPY --from=jre-build /customjre $JAVA_HOME
 
 ARG JAR
 
@@ -39,4 +57,4 @@ RUN chown -R $user:$group /var/log/nonrtric-gateway
 
 USER ${user}
 
-CMD ["java", "-jar", "/opt/app/nonrtric-gateway/nonrtric-gateway.jar"]
+CMD ["/jre/bin/java", "-jar", "/opt/app/nonrtric-gateway/nonrtric-gateway.jar"]
index c5412d9..94eb972 100644 (file)
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?xml version="1.0" encoding="UTF-8"?>
 <!--
 * ========================LICENSE_START=================================
 * O-RAN-SC
index 1d825b4..42906a7 100644 (file)
@@ -3,7 +3,7 @@
 * ========================LICENSE_START=================================
 * O-RAN-SC
 * %%
-* Copyright (C) 2021 Nordix Foundation
+* Copyright (C) 2021-2023 Nordix Foundation
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
-  <groupId>org.springframework.boot</groupId>
-  <artifactId>spring-boot-starter-parent</artifactId>
-  <version>2.4.1</version>
-  <relativePath /> <!-- lookup parent from repository -->
- </parent>
- <groupId>org.o-ran-sc.nonrtric</groupId>
- <artifactId>nonrtric-gateway</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <name>Nonrtric Gateway</name>
- <description>Nonrtric Gateway</description>
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.0.4</version>
+        <relativePath />
+    </parent>
+    <groupId>org.o-ran-sc.nonrtric</groupId>
+    <artifactId>nonrtric-gateway</artifactId>
+    <version>1.2.0-SNAPSHOT</version>
+    <name>Nonrtric Gateway</name>
+    <description>Nonrtric Gateway</description>
 
- <properties>
-  <java.version>11</java.version>
-  <spring-cloud.version>2020.0.0</spring-cloud.version>
-  <formatter-maven-plugin.version>2.13.0</formatter-maven-plugin.version>
-  <spotless-maven-plugin.version>2.5.0</spotless-maven-plugin.version>
-  <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
- </properties>
   <properties>
+        <java.version>17</java.version>
+        <spring-cloud.version>2022.0.2</spring-cloud.version>
+        <formatter-maven-plugin.version>2.13.0</formatter-maven-plugin.version>
+        <spotless-maven-plugin.version>2.30.0</spotless-maven-plugin.version>
+        <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
   </properties>
 
- <dependencies>
-  <dependency>
-   <groupId>org.springframework.cloud</groupId>
-   <artifactId>spring-cloud-starter-gateway</artifactId>
-  </dependency>
   <dependencies>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-gateway</artifactId>
+        </dependency>
 
-  <dependency>
-   <groupId>org.springframework.boot</groupId>
-   <artifactId>spring-boot-starter-test</artifactId>
-   <scope>test</scope>
-  </dependency>
-  <dependency>
-   <groupId>org.springframework.boot</groupId>
-   <artifactId>spring-boot-starter-actuator</artifactId>
-   <scope>runtime</scope>
-  </dependency>
- </dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+            <scope>runtime</scope>
+        </dependency>
   </dependencies>
 
- <dependencyManagement>
-  <dependencies>
-   <dependency>
-    <groupId>org.springframework.cloud</groupId>
-    <artifactId>spring-cloud-dependencies</artifactId>
-    <version>${spring-cloud.version}</version>
-    <type>pom</type>
-    <scope>import</scope>
-   </dependency>
-  </dependencies>
- </dependencyManagement>
   <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>${spring-cloud.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
   </dependencyManagement>
 
- <build>
-  <plugins>
-   <plugin>
-    <groupId>org.springframework.boot</groupId>
-    <artifactId>spring-boot-maven-plugin</artifactId>
-   </plugin>
-   <plugin>
-    <groupId>net.revelc.code.formatter</groupId>
-    <artifactId>formatter-maven-plugin</artifactId>
-    <version>${formatter-maven-plugin.version}</version>
-    <configuration>
-     <lineEnding>LF</lineEnding>
-     <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
-    </configuration>
-    <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format 
-     spotless:apply process-sources -->
-   </plugin>
-   <plugin>
-    <groupId>com.diffplug.spotless</groupId>
-    <artifactId>spotless-maven-plugin</artifactId>
-    <version>${spotless-maven-plugin.version}</version>
-    <configuration>
-     <lineEndings>UNIX</lineEndings>
-     <java>
-      <removeUnusedImports />
-      <importOrder>
-       <order>com,java,javax,org</order>
-      </importOrder>
-     </java>
-    </configuration>
-    <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use 
-     mvn spotless:apply to rewrite source files use mvn spotless:check to validate 
-     source files -->
-   </plugin>
-  </plugins>
</build>
<profiles>
-  <profile>
-   <id>docker</id>
-   <build>
-    <plugins>
-     <plugin>
-      <groupId>io.fabric8</groupId>
-      <artifactId>docker-maven-plugin</artifactId>
-      <version>${docker-maven-plugin.version}</version>
-      <inherited>false</inherited>
-      <executions>
-       <execution>
-        <id>generate-nonrtric-gateway-image</id>
-        <phase>package</phase>
-        <goals>
-         <goal>build</goal>
-        </goals>
-        <configuration>
-         <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
-         <images>
-          <image>
-           <name>o-ran-sc/nonrtric-gateway:${project.version}</name>
-           <build>
-            <cleanup>try</cleanup>
-            <contextDir>${basedir}</contextDir>
-            <dockerFile>Dockerfile</dockerFile>
-            <args>
-             <JAR>${project.build.finalName}.jar</JAR>
-            </args>
-            <tags>
-             <tag>${project.version}</tag>
-            </tags>
-           </build>
-          </image>
-         </images>
-        </configuration>
-       </execution>
-       <execution>
-        <id>push-nonrtric-gateway-image</id>
-        <goals>
-         <goal>build</goal>
-         <goal>push</goal>
-        </goals>
-        <configuration>
-         <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
-         <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
-         <images>
-          <image>
-           <name>o-ran-sc/nonrtric-gateway:${project.version}</name>
-           <build>
-            <contextDir>${basedir}</contextDir>
-            <dockerFile>Dockerfile</dockerFile>
-            <args>
-             <JAR>${project.build.finalName}.jar</JAR>
-            </args>
-            <tags>
-             <tag>${project.version}</tag>
-             <tag>latest</tag>
-            </tags>
-           </build>
-          </image>
-         </images>
-        </configuration>
-       </execution>
-      </executions>
-     </plugin>
-    </plugins>
-   </build>
-  </profile>
- </profiles>
-</project>
   <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>net.revelc.code.formatter</groupId>
+                <artifactId>formatter-maven-plugin</artifactId>
+                <version>${formatter-maven-plugin.version}</version>
+                <configuration>
+                    <lineEnding>LF</lineEnding>
+                    <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
+                </configuration>
+                <!-- Use mvn formatter:format or spotless:apply -->
+            </plugin>
+            <plugin>
+                <groupId>com.diffplug.spotless</groupId>
+                <artifactId>spotless-maven-plugin</artifactId>
+                <version>${spotless-maven-plugin.version}</version>
+                <configuration>
+                    <lineEndings>UNIX</lineEndings>
+                    <java>
+                        <removeUnusedImports />
+                        <importOrder>
+                            <order>com,java,javax,org</order>
+                        </importOrder>
+                    </java>
+                </configuration>
+                <!-- Use mvn spotless:apply to rewrite source files use mvn spotless:check to validate files -->
+            </plugin>
+        </plugins>
+    </build>
+    <profiles>
+        <profile>
           <id>docker</id>
           <build>
+                <plugins>
+                    <plugin>
+                        <groupId>io.fabric8</groupId>
+                        <artifactId>docker-maven-plugin</artifactId>
+                        <version>${docker-maven-plugin.version}</version>
+                        <inherited>false</inherited>
+                        <executions>
+                            <execution>
+                                <id>generate-nonrtric-gateway-image</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>build</goal>
+                                </goals>
+                                <configuration>
+                                    <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                                    <images>
+                                        <image>
+                                            <name>o-ran-sc/nonrtric-gateway:${project.version}</name>
+                                            <build>
+                                                <cleanup>try</cleanup>
+                                                <contextDir>${basedir}</contextDir>
+                                                <dockerFile>Dockerfile</dockerFile>
+                                                <filter>false</filter>
+                                                <args>
+                                                    <JAR>${project.build.finalName}.jar</JAR>
+                                                </args>
+                                                <tags>
+                                                    <tag>${project.version}</tag>
+                                                </tags>
+                                            </build>
+                                        </image>
+                                    </images>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>push-nonrtric-gateway-image</id>
+                                <goals>
+                                    <goal>build</goal>
+                                    <goal>push</goal>
+                                </goals>
+                                <configuration>
+                                    <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                                    <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
+                                    <images>
+                                        <image>
+                                            <name>o-ran-sc/nonrtric-gateway:${project.version}</name>
+                                            <build>
+                                                <contextDir>${basedir}</contextDir>
+                                                <dockerFile>Dockerfile</dockerFile>
+                                                <filter>false</filter>
+                                                <args>
+                                                    <JAR>${project.build.finalName}.jar</JAR>
+                                                </args>
+                                                <tags>
+                                                    <tag>${project.version}</tag>
+                                                    <tag>latest</tag>
+                                                </tags>
+                                            </build>
+                                        </image>
+                                    </images>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index ad2b41a..633db5c 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -3,11 +3,16 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.o-ran-sc.nonrtric</groupId>
-    <artifactId>nonrtric-controlpanel</artifactId>
-    <version>2.4.0-SNAPSHOT</version>
+    <artifactId>nonrtric-controlpanel-root</artifactId>
+    <version>2.5.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <modules>
+        <module>nonrtric-gateway</module>
+        <module>webapp-frontend</module>
+    </modules>
     <properties>
-        <sonar.exclusions>nonrtric-gateway/**/*</sonar.coverage.exclusions>
-        <sonar.test.exclusions>nonrtric-gateway/**/*</sonar.coverage.exclusions>
+        <sonar.exclusions>nonrtric-gateway/**/*</sonar.exclusions>
+        <sonar.test.exclusions>nonrtric-gateway/**/*</sonar.test.exclusions>
         <sonar.coverage.exclusions>nonrtric-gateway/**/*</sonar.coverage.exclusions>
     </properties>
 </project>
index c129a92..13d2900 100644 (file)
@@ -24,9 +24,9 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.o-ran-sc.nonrtric</groupId>
     <artifactId>nonrtric-controlpanel</artifactId>
-    <version>2.4.0-SNAPSHOT</version>
+    <version>2.5.0-SNAPSHOT</version>
     <name>Nonrtric Controlpanel</name>
-    <description>Nonrtric Controlpanel</description>
+    <description>NonRTRIC Controlpanel</description>
 
     <properties>
         <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>