From 45982c91bc41105c2ea103d0adc29e147696a05f Mon Sep 17 00:00:00 2001
From: Lyn Elisa Goltz <goltz@lat-lon.de>
Date: Wed, 29 Nov 2023 14:54:51 +0100
Subject: [PATCH] XPLANBOX-2480 - XPlanManagerAPI: create war file and
 repackaged war file

---
 xplan-api/xplan-api-manager/Dockerfile |  4 +-
 xplan-api/xplan-api-manager/pom.xml    | 74 ++++++++++++++------------
 xplan-api/xplan-api-manager/run.sh     |  2 +-
 3 files changed, 42 insertions(+), 38 deletions(-)

diff --git a/xplan-api/xplan-api-manager/Dockerfile b/xplan-api/xplan-api-manager/Dockerfile
index 1c343ab7e6..28905fbf08 100644
--- a/xplan-api/xplan-api-manager/Dockerfile
+++ b/xplan-api/xplan-api-manager/Dockerfile
@@ -5,7 +5,7 @@ FROM ${XPLANBOX_IMAGE_NAME_PREFIX}/xplan-docker-tomcat-gdal:$XPLANBOX_VERSION
 ARG BUILD_DATE=?
 ARG DOCKER_IMAGE_NAME=?
 ARG GIT_REVISION=?
-ARG JAR_FILE=target/*.jar
+ARG WAR_FILE=target/*-repackaged.war
 ARG XPLANBOX_VERSION=latest
 
 # see https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
@@ -24,7 +24,7 @@ ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree
 
 ENV JAVA_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-manager-config/ -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng"
 
-COPY ${JAR_FILE} /xplanbox/app.jar
+COPY ${WAR_FILE} /xplanbox/app.war
 COPY run.sh /xplanbox/
 
 USER 1001
diff --git a/xplan-api/xplan-api-manager/pom.xml b/xplan-api/xplan-api-manager/pom.xml
index 0f95df35f0..c6d801e5ac 100644
--- a/xplan-api/xplan-api-manager/pom.xml
+++ b/xplan-api/xplan-api-manager/pom.xml
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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">
+<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>
   <artifactId>xplan-api-manager</artifactId>
-  <packaging>jar</packaging>
+  <packaging>war</packaging>
 
   <parent>
     <groupId>de.latlon.product.xplanbox</groupId>
@@ -21,13 +22,16 @@
       </dependency>
     </dependencies>
   </dependencyManagement>
-  
+
   <build>
     <plugins>
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
-       <executions>
+        <configuration>
+          <classifier>repackaged</classifier>
+        </configuration>
+        <executions>
           <execution>
             <goals>
               <goal>repackage</goal>
@@ -51,15 +55,15 @@
         </executions>
       </plugin>
       <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-jar-plugin</artifactId>
-          <configuration>
-            <archive>
-              <manifest>
-                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-              </manifest>
-            </archive>
-          </configuration>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+            </manifest>
+          </archive>
+        </configuration>
       </plugin>
     </plugins>
   </build>
@@ -166,10 +170,10 @@
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
       <exclusions>
-          <exclusion>
-              <groupId>org.apache.tomcat.embed</groupId>
-              <artifactId>tomcat-embed-el</artifactId>
-          </exclusion>
+        <exclusion>
+          <groupId>org.apache.tomcat.embed</groupId>
+          <artifactId>tomcat-embed-el</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <!-- logging -->
@@ -223,26 +227,26 @@
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-test</artifactId>
       <scope>test</scope>
-        <exclusions>
-          <exclusion>
-            <groupId>*</groupId>
-              <artifactId>*</artifactId>
-            </exclusion>
-        </exclusions>
+      <exclusions>
+        <exclusion>
+          <groupId>*</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.glassfish.jersey.test-framework</groupId>
       <artifactId>jersey-test-framework-core</artifactId>
       <scope>test</scope>
       <exclusions>
-          <exclusion>
-              <groupId>org.hamcrest</groupId>
-              <artifactId>hamcrest-core</artifactId>
-          </exclusion>
-          <exclusion>
-              <groupId>junit</groupId>
-              <artifactId>junit</artifactId>
-          </exclusion>
+        <exclusion>
+          <groupId>org.hamcrest</groupId>
+          <artifactId>hamcrest-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
@@ -250,10 +254,10 @@
       <artifactId>jersey-test-framework-provider-inmemory</artifactId>
       <scope>test</scope>
       <exclusions>
-          <exclusion>
-              <groupId>junit</groupId>
-              <artifactId>junit</artifactId>
-          </exclusion>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
diff --git a/xplan-api/xplan-api-manager/run.sh b/xplan-api/xplan-api-manager/run.sh
index d12d67ccd8..9da77a3583 100755
--- a/xplan-api/xplan-api-manager/run.sh
+++ b/xplan-api/xplan-api-manager/run.sh
@@ -7,4 +7,4 @@ if [ -n "${ALL_ADDITIONAL_ARGS}" ]; then
     echo "xPlanBox JAVA_OPTS set: $JAVA_OPTS"
 fi
 
-exec java $JAVA_OPTS -jar /xplanbox/app.jar
+exec java $JAVA_OPTS -jar /xplanbox/app.war
-- 
GitLab