You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2023/08/09 11:47:06 UTC

[uima-ruta] branch refactoring/133-Update-dependencies created (now 1ce3c42f)

This is an automated email from the ASF dual-hosted git repository.

rec pushed a change to branch refactoring/133-Update-dependencies
in repository https://gitbox.apache.org/repos/asf/uima-ruta.git


      at 1ce3c42f Issue #133: Update dependencies

This branch includes the following new commits:

     new 1ce3c42f Issue #133: Update dependencies

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[uima-ruta] 01/01: Issue #133: Update dependencies

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rec pushed a commit to branch refactoring/133-Update-dependencies
in repository https://gitbox.apache.org/repos/asf/uima-ruta.git

commit 1ce3c42f2313d9ece435103fe1711d64fe7767f4
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Wed Aug 9 13:47:00 2023 +0200

    Issue #133: Update dependencies
    
    - Set required Java version to 17
    - Set execution environment in OSGI bundles to JavaSE-17
    - uima-uimaj 3.4.0 -> 3.5.0-SNAPSHOT
    - dltk 3.0.0 -> 5.11.0
    - maven -> 3.2.5
    - maven-plugin-testing-harness 2.0 -> 3.3.0
    - plexus-utils -> removed
    - caffeine 2.9.3 -> 3.1.7
---
 .../ruta-ep-example-extensions/pom.xml             |   2 +-
 pom.xml                                            |   6 +-
 ruta-core/pom.xml                                  |   3 +-
 .../java/org/apache/uima/ruta/RutaEnvironment.java |   6 +-
 ruta-eclipse-feature/feature.xml                   |   4 +-
 ruta-eclipse-feature/pom.xml                       |  44 ++++-
 ruta-ep-addons/pom.xml                             |  12 +-
 ruta-ep-caseditor/pom.xml                          |   2 +-
 ruta-ep-core-ext/pom.xml                           |   2 +-
 ruta-ep-engine/pom.xml                             |   2 +-
 ruta-ep-ide-ui/pom.xml                             |   2 +-
 ruta-ep-ide/pom.xml                                |   2 +-
 ruta-ep-parent/pom.xml                             |  33 ----
 ruta-ep-textruler/pom.xml                          |   2 +-
 ruta-maven-plugin/pom.xml                          |  34 ++--
 .../ruta/maven/RutaGenerateDescriptorMojo.java     |  14 +-
 .../ruta/maven/RutaGenerateDescriptorMojoTest.java |   4 +
 ruta-parent/pom.xml                                | 177 +++++++++++++--------
 18 files changed, 210 insertions(+), 141 deletions(-)

diff --git a/example-projects/ruta-ep-example-extensions/pom.xml b/example-projects/ruta-ep-example-extensions/pom.xml
index 54cee2df..3ffd091c 100644
--- a/example-projects/ruta-ep-example-extensions/pom.xml
+++ b/example-projects/ruta-ep-example-extensions/pom.xml
@@ -125,7 +125,7 @@
                 <Import-Package>
                 </Import-Package>
                 <Bundle-SymbolicName>org.apache.uima.ruta.example.extensions;singleton:=true</Bundle-SymbolicName>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
                 <Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI>
                 <!-- <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy> -->
diff --git a/pom.xml b/pom.xml
index 28e1157e..d21f620d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,6 +101,9 @@
     <module>ruta-core</module>
     <module>ruta-core-ext</module>
 
+    <module>ruta-maven-plugin</module>
+    <module>ruta-maven-archetype</module>
+
     <module>ruta-ep-parent</module>
     <module>ruta-ep-engine</module>
     <module>ruta-ep-ide</module>
@@ -112,9 +115,6 @@
     <module>ruta-eclipse-feature</module>
     <module>ruta-eclipse-update-site</module>
 
-    <module>ruta-maven-plugin</module>
-    <module>ruta-maven-archetype</module>
-
     <module>ruta-docbook</module>
 
     <module>example-projects/ruta-ep-example-extensions</module>
diff --git a/ruta-core/pom.xml b/ruta-core/pom.xml
index acfaec9c..7f2de7a3 100644
--- a/ruta-core/pom.xml
+++ b/ruta-core/pom.xml
@@ -231,9 +231,8 @@
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
         <configuration>
-        
           <instructions>
-            <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+            <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
             <_dsannotations>*</_dsannotations>
             <_metatypeannotations>*</_metatypeannotations>
             <!--  
diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java b/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java
index 6808395f..ae77be9a 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java
@@ -188,7 +188,6 @@ public class RutaEnvironment {
   private Pattern typeIgnorePattern;
 
   public RutaEnvironment(RutaBlock owner) {
-    super();
     this.owner = owner;
 
     types = new HashMap<>();
@@ -313,7 +312,7 @@ public class RutaEnvironment {
       if (type != null) {
         addType(type);
       } else {
-        throw new RuntimeException("Type '" + name + "' not found");
+        throw new RuntimeException("Type '" + name + "' declared in script not found in CAS");
       }
     }
   }
@@ -336,7 +335,8 @@ public class RutaEnvironment {
       if (type != null) {
         addType(type);
       } else {
-        throw new RuntimeException("Type '" + td.getName() + "' not found");
+        throw new RuntimeException(
+                "Type '" + td.getName() + "' from imported type system not found in CAS");
       }
     }
   }
diff --git a/ruta-eclipse-feature/feature.xml b/ruta-eclipse-feature/feature.xml
index 062b44ce..cb636366 100644
--- a/ruta-eclipse-feature/feature.xml
+++ b/ruta-eclipse-feature/feature.xml
@@ -149,8 +149,8 @@ Apache UIMA is a trademark of the Apache Software Foundation in the United State
    </url>
 
    <requires>
-      <import feature="org.apache.uima.tools" version="2.9.0" match="greaterOrEqual"/>
-      <import feature="org.eclipse.dltk.core" version="3.0.0" match="greaterOrEqual"/>
+      <import feature="org.apache.uima.tools" version="3.5.0" match="greaterOrEqual"/>
+      <import feature="org.eclipse.dltk.core" version="5.11.0" match="greaterOrEqual"/>
    </requires>
 
    <plugin
diff --git a/ruta-eclipse-feature/pom.xml b/ruta-eclipse-feature/pom.xml
index 0bd3af39..04e32852 100644
--- a/ruta-eclipse-feature/pom.xml
+++ b/ruta-eclipse-feature/pom.xml
@@ -17,7 +17,9 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<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/maven-v4_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/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
@@ -41,6 +43,46 @@
   </properties>
 
   <dependencies>
+    <dependency>
+      <groupId>org.apache.uima</groupId>
+      <artifactId>uimaj-ep-runtime</artifactId>
+      <version>${uimaVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.uima</groupId>
+      <artifactId>uimaj-ep-jcasgen</artifactId>
+      <version>${uimaVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.uima</groupId>
+      <artifactId>uimaj-ep-debug</artifactId>
+      <version>${uimaVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.uima</groupId>
+      <artifactId>uimaj-ep-configurator</artifactId>
+      <version>${uimaVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.uima</groupId>
+      <artifactId>uimaj-ep-cas-editor</artifactId>
+      <version>${uimaVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.uima</groupId>
+      <artifactId>uimaj-ep-cas-editor-ide</artifactId>
+      <version>${uimaVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.uima</groupId>
+      <artifactId>uimaj-ep-pear-packager</artifactId>
+      <version>${uimaVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.uima</groupId>
+      <artifactId>uimaj-ep-launcher</artifactId>
+      <version>${uimaVersion}</version>
+    </dependency>
     <dependency>
       <groupId>org.apache.uima</groupId>
       <artifactId>ruta-ep-addons</artifactId>
diff --git a/ruta-ep-addons/pom.xml b/ruta-ep-addons/pom.xml
index 198e5f9d..5d26f6b8 100644
--- a/ruta-ep-addons/pom.xml
+++ b/ruta-ep-addons/pom.xml
@@ -77,6 +77,12 @@
       <artifactId>ruta-ep-ide-ui</artifactId>
       <version>${project.parent.version}</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    
+    <!-- Eclipse dependencies -->
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
       <artifactId>org.eclipse.equinox.app</artifactId>
@@ -138,10 +144,6 @@
       <version>[3.1.200,4.0.0)</version>
       <scope>provided</scope>
     </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-    </dependency>
   </dependencies>
 
   <build>
@@ -190,7 +192,7 @@
               <instructions>
                 <Bundle-SymbolicName>org.apache.uima.ruta.addons;singleton:=true</Bundle-SymbolicName>
                 <Bundle-Activator>org.apache.uima.ruta.addons.RutaAddonsPlugin</Bundle-Activator>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
                 <_nouses>true</_nouses>
                 <Export-Package>
diff --git a/ruta-ep-caseditor/pom.xml b/ruta-ep-caseditor/pom.xml
index 934461d2..1f381bc7 100644
--- a/ruta-ep-caseditor/pom.xml
+++ b/ruta-ep-caseditor/pom.xml
@@ -151,7 +151,7 @@
               <instructions>
                 <Bundle-SymbolicName>org.apache.uima.ruta.caseditor;singleton:=true</Bundle-SymbolicName>
                 <Bundle-Activator>org.apache.uima.ruta.caseditor.RutaCasEditorPlugin</Bundle-Activator>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
                 <_nouses>true</_nouses>
                 <Export-Package>
diff --git a/ruta-ep-core-ext/pom.xml b/ruta-ep-core-ext/pom.xml
index 3fdd900f..ed8b0a76 100644
--- a/ruta-ep-core-ext/pom.xml
+++ b/ruta-ep-core-ext/pom.xml
@@ -114,7 +114,7 @@
                 <Import-Package>
                 </Import-Package>
                 <Bundle-SymbolicName>org.apache.uima.ruta.core.ext;singleton:=true</Bundle-SymbolicName>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
                 <Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI>
                 <Eclipse-BuddyPolicy>registered</Eclipse-BuddyPolicy>
diff --git a/ruta-ep-engine/pom.xml b/ruta-ep-engine/pom.xml
index 69ce5e00..805300ff 100644
--- a/ruta-ep-engine/pom.xml
+++ b/ruta-ep-engine/pom.xml
@@ -320,7 +320,7 @@
                 <Embed-Dependency>*;scope=compile</Embed-Dependency>
                 <!-- <Embed-Transitive>true</Embed-Transitive> -->
                 <Bundle-SymbolicName>org.apache.uima.ruta.engine;singleton:=true</Bundle-SymbolicName>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI>
                 <!-- <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy> -->
                 <Eclipse-BuddyPolicy>registered</Eclipse-BuddyPolicy>
diff --git a/ruta-ep-ide-ui/pom.xml b/ruta-ep-ide-ui/pom.xml
index 5905dfe0..95c21d78 100644
--- a/ruta-ep-ide-ui/pom.xml
+++ b/ruta-ep-ide-ui/pom.xml
@@ -248,7 +248,7 @@
               <instructions>
                 <Bundle-SymbolicName>org.apache.uima.ruta.ide.ui;singleton:=true</Bundle-SymbolicName>
                 <Bundle-Activator>org.apache.uima.ruta.ide.RutaIdeUIPlugin</Bundle-Activator>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
                 <_nouses>true</_nouses>
                 <Export-Package>
diff --git a/ruta-ep-ide/pom.xml b/ruta-ep-ide/pom.xml
index 3f4685fd..4aaa62c7 100644
--- a/ruta-ep-ide/pom.xml
+++ b/ruta-ep-ide/pom.xml
@@ -203,7 +203,7 @@
               <instructions>
                 <Bundle-SymbolicName>org.apache.uima.ruta.ide;singleton:=true</Bundle-SymbolicName>
                 <Bundle-Activator>org.apache.uima.ruta.ide.RutaIdeCorePlugin</Bundle-Activator>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
                 <_nouses>true</_nouses>
                 <Export-Package>
diff --git a/ruta-ep-parent/pom.xml b/ruta-ep-parent/pom.xml
index c528ea28..4ec7ac23 100644
--- a/ruta-ep-parent/pom.xml
+++ b/ruta-ep-parent/pom.xml
@@ -49,28 +49,6 @@
     <tag>HEAD</tag>
   </scm>
 
-  <properties>
-    <eclipseP2RepoId>org.eclipse.p2.201812</eclipseP2RepoId>
-    <eclipseP2RepoUrl>https://download.eclipse.org/releases/2018-12/</eclipseP2RepoUrl>
-    <dltk.version>[5.11.0,6.0.0)</dltk.version>
-  </properties>
-
-  <repositories>
-    <repository>
-      <id>${eclipseP2RepoId}</id>
-      <url>${eclipseP2RepoUrl}</url>
-      <layout>p2</layout>
-    </repository>
-  </repositories>
-
-  <pluginRepositories>
-    <pluginRepository>
-      <id>artifactory.openntf.org</id>
-      <name>artifactory.openntf.org</name>
-      <url>https://artifactory.openntf.org/openntf</url>
-    </pluginRepository>
-  </pluginRepositories>
-
   <dependencies>
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
@@ -213,15 +191,4 @@
       </dependency>
     </dependencies>
   </dependencyManagement>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.openntf.maven</groupId>
-        <artifactId>p2-layout-resolver</artifactId>
-        <version>1.7.0</version>
-        <extensions>true</extensions>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git a/ruta-ep-textruler/pom.xml b/ruta-ep-textruler/pom.xml
index 6356c3c5..54addbc4 100644
--- a/ruta-ep-textruler/pom.xml
+++ b/ruta-ep-textruler/pom.xml
@@ -123,7 +123,7 @@
               <instructions>
                 <Bundle-SymbolicName>org.apache.uima.ruta.textruler;singleton:=true</Bundle-SymbolicName>
                 <Bundle-Activator>org.apache.uima.ruta.textruler.TextRulerPlugin</Bundle-Activator>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
                 <_nouses>true</_nouses>
                 <Export-Package>
diff --git a/ruta-maven-plugin/pom.xml b/ruta-maven-plugin/pom.xml
index 69995e55..ac1f5f0e 100644
--- a/ruta-maven-plugin/pom.xml
+++ b/ruta-maven-plugin/pom.xml
@@ -19,26 +19,31 @@
 -->
 <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>org.apache.uima</groupId>
+    <artifactId>ruta-parent</artifactId>
+    <version>3.4.0-SNAPSHOT</version>
+    <relativePath>../ruta-parent/pom.xml</relativePath>
+  </parent>
+  
   <!-- This artifact name follows the conventions described http://books.sonatype.com/mvnref-book/reference/writing-plugins-sect-custom-plugin.html
     where patterns like xxx-maven-plugin and maven-xxx-plugin can be invoked just using xxx if the right
     settings are in place -->
   <artifactId>ruta-maven-plugin</artifactId>
   <packaging>maven-plugin</packaging>
+
   <name>Apache UIMA Maven: ${project.artifactId}</name>
   <description>A Maven Plugin for generating descriptors from UIMA Ruta script files.</description>
+  <url>${uimaWebsiteUrl}</url>
+
   <prerequisites>
-    <maven>3.0</maven>
+    <maven>${maven.version}</maven>
   </prerequisites>
-  <parent>
-    <groupId>org.apache.uima</groupId>
-    <artifactId>ruta-parent</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
-    <relativePath>../ruta-parent/pom.xml</relativePath>
-  </parent>
+
   <properties>
     <postNoticeText />
   </properties>
-  <url>${uimaWebsiteUrl}</url>
 
   <scm>
     <connection>scm:git:https://github.com/apache/uima-ruta/</connection>
@@ -74,38 +79,35 @@
       <artifactId>ruta-core</artifactId>
       <version>${project.version}</version>
     </dependency>
+    
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>3.0.3</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-core</artifactId>
-      <version>3.0.3</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.plugin-tools</groupId>
       <artifactId>maven-plugin-annotations</artifactId>
-      <version>3.2</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.sonatype.plexus</groupId>
       <artifactId>plexus-build-api</artifactId>
-      <version>0.0.7</version>
     </dependency>
+    
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-      <version>2.0.6</version>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-compat</artifactId>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.plugin-testing</groupId>
       <artifactId>maven-plugin-testing-harness</artifactId>
-      <version>2.0</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java b/ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java
index f976b516..71cf760e 100644
--- a/ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java
+++ b/ruta-maven-plugin/src/main/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojo.java
@@ -18,14 +18,18 @@
  */
 package org.apache.uima.ruta.maven;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.apache.maven.plugins.annotations.LifecyclePhase.GENERATE_RESOURCES;
 import static org.apache.maven.plugins.annotations.ResolutionScope.TEST;
 
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.io.OutputStreamWriter;
 import java.io.StringWriter;
+import java.io.Writer;
 import java.net.MalformedURLException;
 import java.net.URISyntaxException;
 import java.net.URL;
@@ -555,8 +559,8 @@ public class RutaGenerateDescriptorMojo extends AbstractMojo {
       String string = sw.toString();
       // Xpp3DomWriter creates empty string with file writer, check before writing to file
       if (!StringUtils.isBlank(string)) {
-        try {
-          FileUtils.fileWrite(projectFile, encoding, string);
+        try (Writer os = new OutputStreamWriter(new FileOutputStream(projectFile), UTF_8)) {
+            os.write(string);
         } catch (IOException e) {
           handleError("Failed to write .project file", e);
         }
@@ -596,9 +600,9 @@ public class RutaGenerateDescriptorMojo extends AbstractMojo {
     String string = sw.toString();
     // Xpp3DomWriter creates empty string with file writer, check before writing to file
     if (!StringUtils.isBlank(string)) {
-      try {
-        FileUtils.fileWrite(buildpathFile, encoding, string);
-      } catch (IOException e) {
+        try (Writer os = new OutputStreamWriter(new FileOutputStream(buildpathFile), UTF_8)) {
+            os.write(string);
+        } catch (IOException e) {
         handleError("Failed to write .buildpath file", e);
       }
     }
diff --git a/ruta-maven-plugin/src/test/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojoTest.java b/ruta-maven-plugin/src/test/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojoTest.java
index 5b90f640..85ec198e 100644
--- a/ruta-maven-plugin/src/test/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojoTest.java
+++ b/ruta-maven-plugin/src/test/java/org/apache/uima/ruta/maven/RutaGenerateDescriptorMojoTest.java
@@ -26,6 +26,7 @@ import org.apache.maven.plugin.testing.AbstractMojoTestCase;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuilder;
 import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.apache.uima.UIMAFramework;
 import org.apache.uima.analysis_engine.AnalysisEngine;
 import org.apache.uima.analysis_engine.AnalysisEngineDescription;
@@ -35,6 +36,7 @@ import org.apache.uima.cas.text.AnnotationFS;
 import org.apache.uima.cas.text.AnnotationIndex;
 import org.apache.uima.util.XMLInputSource;
 import org.codehaus.plexus.util.FileUtils;
+import org.eclipse.aether.RepositorySystemSession;
 import org.junit.Assert;
 
 public class RutaGenerateDescriptorMojoTest extends AbstractMojoTestCase {
@@ -79,8 +81,10 @@ public class RutaGenerateDescriptorMojoTest extends AbstractMojoTestCase {
     assertTrue(pomFile.exists());
 
     // create the MavenProject from the pom.xml file
+    RepositorySystemSession session = MavenRepositorySystemUtils.newSession();
     MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
     ProjectBuildingRequest buildingRequest = executionRequest.getProjectBuildingRequest();
+    buildingRequest.setRepositorySession(session);
     ProjectBuilder projectBuilder = this.lookup(ProjectBuilder.class);
     MavenProject project = projectBuilder.build(pomFile, buildingRequest).getProject();
     assertNotNull(project);
diff --git a/ruta-parent/pom.xml b/ruta-parent/pom.xml
index ac657dcf..7dd6ac30 100644
--- a/ruta-parent/pom.xml
+++ b/ruta-parent/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.uima</groupId>
     <artifactId>parent-pom</artifactId>
-    <version>16</version>
+    <version>17-SNAPSHOT</version>
     <relativePath />
   </parent>
 
@@ -35,6 +35,11 @@
   <inceptionYear>2011</inceptionYear>
   <description>The common parent pom for the UIMA Ruta</description>
 
+  <issueManagement>
+    <system>Github</system>
+    <url>https://github.com/apache/uima-ruta/issues</url>
+  </issueManagement>
+
   <!-- Special inheritance note even though the <scm> element that follows 
     is exactly the same as those in super poms, it cannot be inherited because 
     there is some special code that computes the connection elements from the 
@@ -47,11 +52,6 @@
     <tag>HEAD</tag>
   </scm>
 
-  <issueManagement>
-    <system>Github</system>
-    <url>https://github.com/apache/uima-ruta/issues</url>
-  </issueManagement>
-
   <repositories>
     <!-- modify central repository access: Turn on checksum checking -->
     <repository>
@@ -70,8 +70,41 @@
         <enabled>false</enabled>
       </snapshots>
     </repository>
+    
+    <repository>
+      <id>${eclipseP2RepoId}</id>
+      <url>https://download.eclipse.org/releases/2018-12/</url>
+      <layout>p2</layout>
+    </repository>
   </repositories>
 
+  <pluginRepositories>
+    <!--
+      - The Eclipse Plugin modules use version ranges for their dependencies. These could resolve to
+      - SNAPSHOT versions if we have a SNAPSHOT repo declaration here. Thus, this repo should only
+      - be enabled when really needed.
+    <pluginRepository>
+      <id>apache.snapshots.plugins</id>
+      <name>Apache Snapshot Repository - Maven plugins</name>
+      <url>https://repository.apache.org/snapshots</url>
+      <layout>default</layout>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <checksumPolicy>fail</checksumPolicy>
+        <updatePolicy>never</updatePolicy>        
+      </snapshots>
+    </pluginRepository>
+    -->
+    <pluginRepository>
+      <id>artifactory.openntf.org</id>
+      <name>artifactory.openntf.org</name>
+      <url>https://artifactory.openntf.org/openntf</url>
+    </pluginRepository>
+  </pluginRepositories>
+  
   <properties>
     <uniWueNoticeText>Portions of UIMA Ruta were originally developed by
       the Universität Würzburg.
@@ -85,29 +118,35 @@
       Creative Commons Attribution 3.0 License.
     </postNoticeText>
 
-    <uimaVersion>3.4.0</uimaVersion>
+    <uimaVersion>3.5.0-SNAPSHOT</uimaVersion>
     <uimafit-version>3.4.0</uimafit-version>
     <spring-version>5.3.25</spring-version>
     <junit-version>4.13.2</junit-version>
     <slf4j-version>1.7.36</slf4j-version>
+    <maven.version>3.2.5</maven.version>
 
     <antlr-version>3.5.3</antlr-version>
     <htmlparser-version>1.6</htmlparser-version>
     <commons-collections-version>3.2.2</commons-collections-version>
     <commons-collections4-version>4.4</commons-collections4-version>
-    <commons-text-version>1.9</commons-text-version>
-    <commons-lang3-version>3.12.0</commons-lang3-version>
-    <commons-io-version>2.11.0</commons-io-version>
+    <commons-text-version>1.10.0</commons-text-version>
+    <commons-lang3-version>3.13.0</commons-lang3-version>
+    <commons-io-version>2.13.0</commons-io-version>
     <commons-math3-version>3.6.1</commons-math3-version>
     <commons-logging-version>1.1.1</commons-logging-version>
     <commons-logging-api-version>1.1</commons-logging-api-version>
-    <caffeine-version>2.9.3</caffeine-version>
+    <caffeine-version>3.1.7</caffeine-version>
+
+    <dltk.version>[5.11.0,6.0.0)</dltk.version>
 
-    <api_check_oldVersion>3.2.0</api_check_oldVersion>
+    <maven.compiler.target>17</maven.compiler.target>
+    <maven.compiler.source>17</maven.compiler.source>
+    <maven.compiler.release>17</maven.compiler.release>
+    <execution.environment>JavaSE-17</execution.environment>
 
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.target>1.8</maven.compiler.target>
-    <maven.compiler.source>1.8</maven.compiler.source>
+    <eclipseP2RepoId>org.eclipse.p2.201812</eclipseP2RepoId>
+
+    <api_check_oldVersion>3.3.0</api_check_oldVersion>
   </properties>
 
   <dependencyManagement>
@@ -194,6 +233,32 @@
         <version>${caffeine-version}</version>
       </dependency>
 
+      <dependency>
+        <groupId>org.apache.maven</groupId>
+        <artifactId>maven-plugin-api</artifactId>
+        <version>${maven.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven</groupId>
+        <artifactId>maven-core</artifactId>
+        <version>${maven.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven</groupId>
+        <artifactId>maven-compat</artifactId>
+        <version>${maven.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.sonatype.plexus</groupId>
+        <artifactId>plexus-build-api</artifactId>
+        <version>0.0.7</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.plugin-testing</groupId>
+        <artifactId>maven-plugin-testing-harness</artifactId>
+        <version>3.3.0</version>
+      </dependency>
+
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
@@ -209,39 +274,39 @@
   </dependencyManagement>
 
   <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.uima</groupId>
-          <artifactId>uima-build-helper-maven-plugin</artifactId>
-          <version>7</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <configuration>
-            <source>${maven.compiler.source}</source>
-            <target>${maven.compiler.target}</target>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-javadoc-plugin</artifactId>
-          <executions>
-            <execution>
-              <id>attach-javadocs</id>
-              <configuration>
-                <source>${maven.compiler.source}</source>
-              </configuration>
-            </execution>
-          </executions>
-          <configuration>
-            <source>${maven.compiler.source}</source>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
     <plugins>
+      <plugin>
+        <groupId>org.openntf.maven</groupId>
+        <artifactId>p2-layout-resolver</artifactId>
+        <version>1.7.0</version>
+        <extensions>true</extensions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>target-platform-configuration</artifactId>
+        <version>${tycho-version}</version>
+        <configuration>
+          <environments>
+            <environment>
+              <os>win32</os>
+              <ws>win32</ws>
+              <arch>x86_64</arch>
+            </environment>
+            <environment>
+              <os>linux</os>
+              <ws>gtk</ws>
+              <arch>x86_64</arch>
+            </environment>
+            <environment>
+              <os>macosx</os>
+              <ws>cocoa</ws>
+              <arch>x86_64</arch>
+            </environment>
+          </environments>
+        </configuration>
+      </plugin>
+      
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-toolchains-plugin</artifactId>
@@ -260,6 +325,7 @@
           </toolchains>
         </configuration>
       </plugin>
+
       <plugin>
         <artifactId>maven-resources-plugin</artifactId>
         <executions>
@@ -287,21 +353,4 @@
       </plugin>
     </plugins>
   </build>
-
-  <profiles>
-    <profile>
-      <id>spotbugs</id>
-      <build>
-        <pluginManagement>
-          <plugins>
-            <plugin>
-              <groupId>com.github.spotbugs</groupId>
-              <artifactId>spotbugs-maven-plugin</artifactId>
-              <version>4.7.0.0</version>
-            </plugin>
-          </plugins>
-        </pluginManagement>
-      </build>
-    </profile>
-  </profiles>
 </project>