From e60b89e8f8cb76315a5931f05a86b5593a73a270 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@nibio.no>
Date: Mon, 11 Sep 2023 14:21:02 +0200
Subject: [PATCH] Build models in WARfile p1 1

---
 .settings/org.eclipse.jdt.apt.core.prefs      |  2 ++
 build_with_models.py                          | 26 +++++++++++++++++++
 models.xml                                    | 12 +++++++++
 models_sample.xml                             |  7 +++++
 pom.xml                                       | 20 +++++---------
 .../nibio/vips/core/VIPSCoreApplication.java  |  1 +
 6 files changed, 55 insertions(+), 13 deletions(-)
 create mode 100644 .settings/org.eclipse.jdt.apt.core.prefs
 create mode 100755 build_with_models.py
 create mode 100644 models.xml
 create mode 100644 models_sample.xml

diff --git a/.settings/org.eclipse.jdt.apt.core.prefs b/.settings/org.eclipse.jdt.apt.core.prefs
new file mode 100644
index 0000000..d4313d4
--- /dev/null
+++ b/.settings/org.eclipse.jdt.apt.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=false
diff --git a/build_with_models.py b/build_with_models.py
new file mode 100755
index 0000000..240d19c
--- /dev/null
+++ b/build_with_models.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python3
+
+import sys
+from xml.dom.minidom import parse, parseString
+
+models_xml_path = "models.xml"
+
+if len(sys.argv) > 1:
+    models_xml_path = sys.argv[1]
+
+pom_file = open("pom.xml")
+models_file = open(models_xml_path)
+
+pom_dom = parse(pom_file)
+models_dom = parse(models_file)
+
+pom_deps_element = pom_dom.getElementsByTagName("dependencies")
+model_dep_elements = models_dom.getElementsByTagName("dependency")
+
+for dep in model_dep_elements:
+    pom_deps_element.append(dep)
+
+print(pom_dom.toprettyxml())
+
+models_file.close()
+pom_file.close()
diff --git a/models.xml b/models.xml
new file mode 100644
index 0000000..4f4b6b5
--- /dev/null
+++ b/models.xml
@@ -0,0 +1,12 @@
+<dependencies>
+        <dependency>
+            <groupId>no.nibio.vips.model</groupId>
+            <artifactId>BremiaLactucaeModel</artifactId>
+            <version>2.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>no.nibio.vips.model</groupId>
+            <artifactId>PsilaRosaeTempModel</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+</dependencies>
\ No newline at end of file
diff --git a/models_sample.xml b/models_sample.xml
new file mode 100644
index 0000000..22171b4
--- /dev/null
+++ b/models_sample.xml
@@ -0,0 +1,7 @@
+<dependencies>
+        <dependency>
+            <groupId>no.nibio.vips.model</groupId>
+            <artifactId>BremiaLactucaeModel</artifactId>
+            <version>2.0.0</version>
+        </dependency>
+</dependencies>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 1476832..ad25fb8 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1,11 +1,15 @@
 <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>no.nibio.vips</groupId>
+        <artifactId>vips-parent-pom</artifactId>
+        <version>1.0.2</version>
+    </parent>
     <groupId>no.nibio</groupId>
     <artifactId>VIPSCore</artifactId>
     <packaging>war</packaging>
-    <version>2022.1</version>
+    <version>2.0.0-SNAPSHOT</version>
 
     <name>VIPSCore</name>
     <url>http://maven.apache.org</url>
@@ -24,16 +28,6 @@
             <url>https://gitlab.nibio.no/api/v4/projects/401/packages/maven</url>
         </repository>
     </repositories>
-    <distributionManagement>
-        <repository>
-            <id>gitlab-maven</id>
-            <url>https://gitlab.nibio.no/api/v4/projects/401/packages/maven</url>
-        </repository>
-        <snapshotRepository>
-            <id>gitlab-maven</id>
-            <url>https://gitlab.nibio.no/api/v4/projects/401/packages/maven</url>
-        </snapshotRepository>
-    </distributionManagement>
     <dependencies>
         <dependency>
             <groupId>org.reflections</groupId>
@@ -72,7 +66,7 @@
         <dependency>
             <groupId>no.nibio.vips</groupId>
             <artifactId>VIPSCommon</artifactId>
-            <version>22.0.0</version>
+            <version>2.0.2</version>
         </dependency>
         <dependency>
             <groupId>javax</groupId>
diff --git a/src/main/java/no/nibio/vips/core/VIPSCoreApplication.java b/src/main/java/no/nibio/vips/core/VIPSCoreApplication.java
index a459b2e..52f93d8 100755
--- a/src/main/java/no/nibio/vips/core/VIPSCoreApplication.java
+++ b/src/main/java/no/nibio/vips/core/VIPSCoreApplication.java
@@ -52,5 +52,6 @@ public class VIPSCoreApplication extends Application
 
     private void addRestResourceClasses(Set<Class<?>> resources) {
         resources.add(no.nibio.vips.core.config.JacksonConfig.class);
+        resources.add(no.nibio.vips.core.service.ModelResourceImpl.class);
     }
 }
\ No newline at end of file
-- 
GitLab