Merge branch 'main' into refactoring/325-Update-dependencies

* main:
  Issue #339: Drop CasAnnotationViewerApplet and CasTreeViewerApplet
  Issue #335: Remove dependency on JUnit 4 and JUnit Assert
diff --git a/PearPackagingMavenPlugin/pom.xml b/PearPackagingMavenPlugin/pom.xml
index c2ac8bf..c0f8e11 100644
--- a/PearPackagingMavenPlugin/pom.xml
+++ b/PearPackagingMavenPlugin/pom.xml
@@ -41,7 +41,6 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>${maven.version}</version>
       <scope>provided</scope>
     </dependency>
 
@@ -54,7 +53,6 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-core</artifactId>
-      <version>${maven.version}</version>
       <scope>provided</scope>
     </dependency>
 
diff --git a/jVinci/pom.xml b/jVinci/pom.xml
index c0002bd..77edfeb 100644
--- a/jVinci/pom.xml
+++ b/jVinci/pom.xml
@@ -47,7 +47,7 @@
 				<artifactId>maven-bundle-plugin</artifactId>
 				<configuration>
 					<instructions>
-						<Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+						<Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
 						<_dsannotations>*</_dsannotations>
 						<_metatypeannotations>*</_metatypeannotations>
 						<Export-Package>
diff --git a/jcasgen-maven-plugin/pom.xml b/jcasgen-maven-plugin/pom.xml
index 40f6399..f17adb9 100644
--- a/jcasgen-maven-plugin/pom.xml
+++ b/jcasgen-maven-plugin/pom.xml
@@ -46,13 +46,11 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>${maven.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-core</artifactId>
-      <version>${maven.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
diff --git a/uimaj-adapter-vinci/pom.xml b/uimaj-adapter-vinci/pom.xml
index 07affc9..478d00d 100644
--- a/uimaj-adapter-vinci/pom.xml
+++ b/uimaj-adapter-vinci/pom.xml
@@ -77,7 +77,7 @@
 				<artifactId>maven-bundle-plugin</artifactId>
 				<configuration>
 					<instructions>
-						<Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+						<Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
 						<_dsannotations>*</_dsannotations>
 						<_metatypeannotations>*</_metatypeannotations>
 						<Import-Package>
diff --git a/uimaj-core/marker-file-enabling-dependency-check b/uimaj-core/marker-file-enabling-dependency-check
new file mode 100644
index 0000000..dfcba9c
--- /dev/null
+++ b/uimaj-core/marker-file-enabling-dependency-check
@@ -0,0 +1 @@
+Enables the "dependency-check" profile
diff --git a/uimaj-core/pom.xml b/uimaj-core/pom.xml
index b03592d..8597966 100644
--- a/uimaj-core/pom.xml
+++ b/uimaj-core/pom.xml
@@ -114,6 +114,11 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.junit.jupiter</groupId>
       <artifactId>junit-jupiter-api</artifactId>
       <scope>test</scope>
@@ -129,13 +134,13 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
+      <groupId>org.xmlunit</groupId>
+      <artifactId>xmlunit-assertj3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.mockito</groupId>
-      <artifactId>mockito-inline</artifactId>
+      <artifactId>mockito-core</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -194,6 +199,16 @@
       <plugins>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-dependency-plugin</artifactId>
+          <configuration>
+            <ignoredUnusedDeclaredDependencies>
+              <dependency>org.apache.logging.log4j:log4j-slf4j-impl</dependency>
+            </ignoredUnusedDeclaredDependencies>
+          </configuration>
+        </plugin>
+        
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-jar-plugin</artifactId>
           <executions>
             <execution>
@@ -272,7 +287,7 @@
         <artifactId>maven-bundle-plugin</artifactId>
         <configuration>
           <instructions>
-            <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+            <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
             <_dsannotations>*</_dsannotations>
             <_metatypeannotations>*</_metatypeannotations>
             <Import-Package>
diff --git a/uimaj-cpe/marker-file-enabling-dependency-check b/uimaj-cpe/marker-file-enabling-dependency-check
new file mode 100644
index 0000000..dfcba9c
--- /dev/null
+++ b/uimaj-cpe/marker-file-enabling-dependency-check
@@ -0,0 +1 @@
+Enables the "dependency-check" profile
diff --git a/uimaj-cpe/pom.xml b/uimaj-cpe/pom.xml
index 84acdd3..aa98cfe 100644
--- a/uimaj-cpe/pom.xml
+++ b/uimaj-cpe/pom.xml
@@ -59,6 +59,17 @@
       <version>${project.parent.version}</version>
       <scope>compile</scope>
     </dependency>
+
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.apache.uima</groupId>
       <artifactId>uimaj-test-util</artifactId>
@@ -73,9 +84,17 @@
   </dependencies>
   <build>
     <pluginManagement>
-      <!-- remove this once test case cleans up after itself -->
       <plugins>
         <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-dependency-plugin</artifactId>
+          <configuration>
+            <ignoredUnusedDeclaredDependencies>
+              <dependency>org.slf4j:slf4j-jdk14</dependency>
+            </ignoredUnusedDeclaredDependencies>
+          </configuration>
+        </plugin>
+        <plugin>
           <groupId>org.apache.rat</groupId>
           <artifactId>apache-rat-plugin</artifactId>
           <executions>
@@ -83,6 +102,7 @@
               <id>default-cli</id>
               <configuration>
                 <excludes combine.children="append">
+                  <!-- remove this once test case cleans up after itself -->
                   <exclude>checkpoint_synchPoint.xml*</exclude> <!-- test data -->
                   <exclude>checkpoint.dat*</exclude> <!-- test data -->
                   <exclude>src/test/resources/pearTests/pearForCPMtest.pear</exclude> <!-- binary -->
@@ -99,7 +119,7 @@
 				<artifactId>maven-bundle-plugin</artifactId>
 				<configuration>
 					<instructions>
-						<Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+						<Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
 						<_dsannotations>*</_dsannotations>
 						<_metatypeannotations>*</_metatypeannotations>
 						<Fragment-Host>org.apache.uima.j-core</Fragment-Host>
diff --git a/uimaj-eclipse-feature-runtime/.gitignore b/uimaj-eclipse-feature-runtime/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/uimaj-eclipse-feature-runtime/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/uimaj-eclipse-feature-tools/.gitignore b/uimaj-eclipse-feature-tools/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/uimaj-eclipse-feature-tools/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/uimaj-ep-cas-editor-ide/marker-file-enabling-dependency-check b/uimaj-ep-cas-editor-ide/marker-file-enabling-dependency-check
new file mode 100644
index 0000000..dfcba9c
--- /dev/null
+++ b/uimaj-ep-cas-editor-ide/marker-file-enabling-dependency-check
@@ -0,0 +1 @@
+Enables the "dependency-check" profile
diff --git a/uimaj-ep-cas-editor-ide/pom.xml b/uimaj-ep-cas-editor-ide/pom.xml
index ae8d49a..dc4b9c9 100644
--- a/uimaj-ep-cas-editor-ide/pom.xml
+++ b/uimaj-ep-cas-editor-ide/pom.xml
@@ -42,28 +42,6 @@
       <groupId>org.apache.uima</groupId>
       <artifactId>uimaj-core</artifactId>
       <version>${project.parent.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-compilertools</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-core</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.uima</groupId>
-      <artifactId>uimaj-tools</artifactId>
-      <version>${project.parent.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.apache.uima</groupId>
-          <artifactId>uimaj-cpe</artifactId>
-        </exclusion>
-      </exclusions>
     </dependency>
 
     <dependency>
@@ -75,46 +53,63 @@
     <!-- Eclipse dependencies -->
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.jdt.ui</artifactId>
-      <version>[3.12.0,4.0.0)</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.ui.views</artifactId>
-      <version>[3.9.0,4.0.0)</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.ui.workbench.texteditor</artifactId>
-      <version>[3.10.0,4.0.0)</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${eclipseP2RepoId}</groupId>
       <artifactId>org.eclipse.jface</artifactId>
       <version>[3.13.0, 4.0.0)</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.jface.text</artifactId>
-      <version>[3.11.0,4.0.0)</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${eclipseP2RepoId}</groupId>
       <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
       <version>[3.2.0,5.0.0)</version>
       <scope>provided</scope>
     </dependency>
-    
-    <!-- Test dependencies -->
     <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter-api</artifactId>
-      <scope>test</scope>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.common</artifactId>
+      <version>[3.10.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.osgi</artifactId>
+      <version>[3.13.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.workbench</artifactId>
+      <version>[3.112.100, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.runtime</artifactId>
+      <version>[3.15.100, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.resources</artifactId>
+      <version>[3.13.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.registry</artifactId>
+      <version>[3.8.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.preferences</artifactId>
+      <version>[3.7.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.ide</artifactId>
+      <version>[3.14.200, 4.0.0)</version>
+      <scope>provided</scope>
     </dependency>
   </dependencies>
 
@@ -161,41 +156,8 @@
               <instructions>
                 <Bundle-SymbolicName>org.apache.uima.caseditor.ide;singleton:=true</Bundle-SymbolicName>
                 <Bundle-Activator>org.apache.uima.caseditor.ide.CasEditorIdePlugin</Bundle-Activator>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
                 <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
-                <Export-Package>
-                  org.apache.uima.caseditor.ide.*
-                </Export-Package>
-                <Require-Bundle>
-                  org.eclipse.jface.text,
-                  org.eclipse.text,
-                  org.eclipse.ui.editors,
-                  org.eclipse.ui.workbench.texteditor,
-                  org.eclipse.ui.ide,
-                  org.eclipse.ui,
-                  org.eclipse.ui.workbench,
-                  org.eclipse.core.runtime,
-                  org.eclipse.core.resources,
-                  org.junit4;resolution:=optional
-                </Require-Bundle>
-                <Import-Package>
-                  !org.eclipse.jface.text,
-                  !org.eclipse.jface.text.link,
-                  !org.eclipse.jface.text.source,
-                  !org.eclipse.jface.text.templates,
-                  !org.eclipse.ui.texteditor,
-                  !org.eclipse.ui,
-                  !org.eclipse.ui.actions,
-                  !org.eclipse.ui.dialogs,
-                  !org.eclipse.ui.model,
-                  !org.eclipse.ui.part,
-                  !org.eclipse.core.runtime,
-                  !org.osgi.framework,
-                  org.apache.uima.caseditor.editor.editview,
-                  org.apache.uima.caseditor.editor.fsview,
-                  org.apache.uima.caseditor.editor.styleview,
-                  *
-                </Import-Package>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
               </instructions>
             </configuration>
           </execution>
diff --git a/uimaj-ep-cas-editor/marker-file-enabling-dependency-check b/uimaj-ep-cas-editor/marker-file-enabling-dependency-check
new file mode 100644
index 0000000..dfcba9c
--- /dev/null
+++ b/uimaj-ep-cas-editor/marker-file-enabling-dependency-check
@@ -0,0 +1 @@
+Enables the "dependency-check" profile
diff --git a/uimaj-ep-cas-editor/pom.xml b/uimaj-ep-cas-editor/pom.xml
index c2da7ed..f28ca7c 100644
--- a/uimaj-ep-cas-editor/pom.xml
+++ b/uimaj-ep-cas-editor/pom.xml
@@ -34,16 +34,6 @@
   <url>${uimaWebsiteUrl}</url>
 
   <dependencies>
-    <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.assertj</groupId>
-      <artifactId>assertj-core</artifactId>
-      <scope>test</scope>
-    </dependency>
     <!-- UIMA dependencies -->
     <!--
       don't depend on the runtime plugin, instead, depend on the parts
@@ -53,41 +43,11 @@
       <groupId>org.apache.uima</groupId>
       <artifactId>uimaj-core</artifactId>
       <version>${project.parent.version}</version>
-      <scope>compile</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-compilertools</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-core</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.uima</groupId>
-      <artifactId>uimaj-tools</artifactId>
-      <version>${project.parent.version}</version>
-      <scope>compile</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.apache.uima</groupId>
-          <artifactId>uimaj-cpe</artifactId>
-        </exclusion>
-      </exclusions>
     </dependency>
 
     <!-- Eclipse dependencies -->
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.jdt.ui</artifactId>
-      <version>[3.12.0,4.0.0)</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${eclipseP2RepoId}</groupId>
       <artifactId>org.eclipse.core.filesystem</artifactId>
       <version>[1.6.1,2.0.0)</version>
       <scope>provided</scope>
@@ -118,16 +78,81 @@
     </dependency>
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.equinox.app</artifactId>
-      <version>[1.2.0,2.0.0)</version>
+      <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
+      <version>[3.2.0,5.0.0)</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
-      <version>[3.2.0,5.0.0)</version>
+      <artifactId>org.eclipse.equinox.common</artifactId>
+      <version>[3.10.200,4.0.0)</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.jdt.launching</artifactId>
+      <version>[3.12.0,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.osgi</artifactId>
+      <version>[3.13.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.workbench</artifactId>
+      <version>[3.112.100,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.runtime</artifactId>
+      <version>[3.15.100,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.registry</artifactId>
+      <version>[3.8.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.text</artifactId>
+      <version>[3.8.0,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.preferences</artifactId>
+      <version>[3.7.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.jface</artifactId>
+      <version>[3.15.0,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.jdt.core</artifactId>
+      <version>[3.16.0,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -173,38 +198,9 @@
               <instructions>
                 <Bundle-SymbolicName>org.apache.uima.caseditor;singleton:=true</Bundle-SymbolicName>
                 <Bundle-Activator>org.apache.uima.caseditor.CasEditorPlugin</Bundle-Activator>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
-                <Export-Package>
-                  org.apache.uima.caseditor.*
-                </Export-Package>
-                <Require-Bundle>
-                  org.eclipse.jface.text,
-                  org.eclipse.text,
-                  org.eclipse.ui.editors,
-                  org.eclipse.ui.workbench.texteditor,
-                  org.eclipse.ui,
-                  org.eclipse.ui.workbench,
-                  org.eclipse.core.runtime,
-                  org.eclipse.core.resources,
-                  org.eclipse.jdt.core,
-                  org.junit4;resolution:=optional
-                </Require-Bundle>
-                <Import-Package>
-                  !org.eclipse.jface.text,
-                  !org.eclipse.jface.text.link,
-                  !org.eclipse.jface.text.source,
-                  !org.eclipse.jface.text.templates,
-                  !org.eclipse.ui.texteditor,
-                  !org.eclipse.ui,
-                  !org.eclipse.ui.actions,
-                  !org.eclipse.ui.dialogs,
-                  !org.eclipse.ui.model,
-                  !org.eclipse.ui.part,
-                  !org.eclipse.core.runtime,
-                  !org.osgi.framework,
-                  *
-                </Import-Package>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
               </instructions>
             </configuration>
           </execution>
diff --git a/uimaj-ep-configurator/marker-file-enabling-dependency-check b/uimaj-ep-configurator/marker-file-enabling-dependency-check
new file mode 100644
index 0000000..dfcba9c
--- /dev/null
+++ b/uimaj-ep-configurator/marker-file-enabling-dependency-check
@@ -0,0 +1 @@
+Enables the "dependency-check" profile
diff --git a/uimaj-ep-configurator/pom.xml b/uimaj-ep-configurator/pom.xml
index 5bea7f2..b44ff54 100644
--- a/uimaj-ep-configurator/pom.xml
+++ b/uimaj-ep-configurator/pom.xml
@@ -44,16 +44,6 @@
       <groupId>org.apache.uima</groupId>
       <artifactId>uimaj-core</artifactId>
       <version>${project.parent.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-compilertools</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-core</artifactId>
-        </exclusion>
-      </exclusions>
     </dependency>
 
     <dependency>
@@ -72,18 +62,11 @@
       <groupId>org.apache.uima</groupId>
       <artifactId>uimaj-ep-jcasgen</artifactId>
       <version>${project.parent.version}</version>
-      <scope>provided</scope>
     </dependency>
 
     <!-- Eclipse dependencies -->
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.ui</artifactId>
-      <version>[3.108.1, 4.0.0)</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${eclipseP2RepoId}</groupId>
       <artifactId>org.eclipse.jface</artifactId>
       <version>[3.13.0, 4.0.0)</version>
       <scope>provided</scope>
@@ -100,6 +83,90 @@
       <version>[3.2.0,5.0.0)</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.common</artifactId>
+      <version>[3.10.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.jdt.launching</artifactId>
+      <version>[3.12.0,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.jface.text</artifactId>
+      <version>[3.15.0,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.workbench.texteditor</artifactId>
+      <version>[3.11.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.workbench</artifactId>
+      <version>[3.112.100,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.resources</artifactId>
+      <version>[3.13.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.runtime</artifactId>
+      <version>[3.15.100,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.ide</artifactId>
+      <version>[3.14.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.editors</artifactId>
+      <version>[3.11.300,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.osgi</artifactId>
+      <version>[3.13.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.registry</artifactId>
+      <version>[3.8.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.text</artifactId>
+      <version>[3.8.0,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.jdt.core</artifactId>
+      <version>[3.16.0,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.forms</artifactId>
+      <version>[3.7.400,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -110,44 +177,15 @@
         <configuration>
           <manifestLocation>META-INF</manifestLocation>
           <instructions>
-            <Export-Package>
-              org.apache.uima.taeconfigurator,
-              org.apache.uima.taeconfigurator.editors,
-              org.apache.uima.taeconfigurator.editors.point,
-              org.apache.uima.taeconfigurator.editors.ui,
-              org.apache.uima.taeconfigurator.editors.ui.dialogs,
-              org.apache.uima.taeconfigurator.editors.xml,
-              org.apache.uima.taeconfigurator.files,
-              org.apache.uima.taeconfigurator.model,
-              org.apache.uima.taeconfigurator.wizards
-            </Export-Package>
-            <Bundle-Activator>org.apache.uima.taeconfigurator.TAEConfiguratorPlugin</Bundle-Activator>
             <Bundle-SymbolicName>org.apache.uima.desceditor;singleton:=true</Bundle-SymbolicName>
-            <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
-            <Require-Bundle>
-              org.eclipse.jface.text,
-              org.eclipse.text,
-              org.eclipse.ui.editors,
-              org.eclipse.ui.workbench.texteditor,
-              org.eclipse.ui.ide,
-              org.eclipse.ui,
-              org.eclipse.core.runtime
-            </Require-Bundle>
-            <Import-Package>
-              !org.eclipse.jface.text,  <!-- the ! means to exclude this -->
-              !org.eclipse.jface.text.source,
-              !org.eclipse.ui.texteditor,
-              !org.eclipse.ui,
-              !org.eclipse.ui.actions,
-              !org.eclipse.ui.dialogs,
-              !org.eclipse.ui.part,
-              !org.eclipse.core.runtime,
-              org.eclipse.jdt.ui,
-              *
-            </Import-Package>
-            <Eclipse-AutoStart>true</Eclipse-AutoStart>
+            <Bundle-Activator>org.apache.uima.taeconfigurator.TAEConfiguratorPlugin</Bundle-Activator>
             <Plugin-Class>org.apache.uima.taeconfigurator.TAEConfiguratorPlugin</Plugin-Class>
+            <Eclipse-AutoStart>true</Eclipse-AutoStart>
             <Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI>
+            <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
+            <Require-Bundle>
+              org.eclipse.ui.ide
+            </Require-Bundle>
           </instructions>
         </configuration>
       </plugin>
diff --git a/uimaj-ep-debug/marker-file-enabling-dependency-check b/uimaj-ep-debug/marker-file-enabling-dependency-check
new file mode 100644
index 0000000..dfcba9c
--- /dev/null
+++ b/uimaj-ep-debug/marker-file-enabling-dependency-check
@@ -0,0 +1 @@
+Enables the "dependency-check" profile
diff --git a/uimaj-ep-debug/pom.xml b/uimaj-ep-debug/pom.xml
index 884a049..1fc50fc 100644
--- a/uimaj-ep-debug/pom.xml
+++ b/uimaj-ep-debug/pom.xml
@@ -37,27 +37,35 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.uima</groupId>
-      <artifactId>uimaj-core</artifactId>
-      <version>${project.parent.version}</version>
-      <scope>compile</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-compilertools</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-core</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
       <artifactId>org.eclipse.jdt.debug.ui</artifactId>
       <version>[3.8.0, 4.0.0)</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.osgi</artifactId>
+      <version>[3.13.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.workbench</artifactId>
+      <version>[3.112.100, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.runtime</artifactId>
+      <version>[3.15.100, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.jface</artifactId>
+      <version>[3.15.0, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -67,20 +75,10 @@
         <artifactId>maven-bundle-plugin</artifactId>
         <configuration>
           <instructions>
-            <Export-Package>
-              org.apache.uima.ep_debug
-            </Export-Package>
-            <Bundle-Activator>org.apache.uima.ep_debug.DebugPlugin</Bundle-Activator>
             <Bundle-SymbolicName>org.apache.uima.debug;singleton:=true</Bundle-SymbolicName>
-            <Require-Bundle>
-              org.eclipse.core.runtime
-            </Require-Bundle>
-            <Import-Package>
-              !org.eclipse.core.runtime,
-              *,
-              org.eclipse.ui.plugin
-            </Import-Package>
+            <Bundle-Activator>org.apache.uima.ep_debug.DebugPlugin</Bundle-Activator>
             <Eclipse-AutoStart>true</Eclipse-AutoStart>
+            <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
           </instructions>
         </configuration>
       </plugin>
diff --git a/uimaj-ep-jcasgen/marker-file-enabling-dependency-check b/uimaj-ep-jcasgen/marker-file-enabling-dependency-check
new file mode 100644
index 0000000..dfcba9c
--- /dev/null
+++ b/uimaj-ep-jcasgen/marker-file-enabling-dependency-check
@@ -0,0 +1 @@
+Enables the "dependency-check" profile
diff --git a/uimaj-ep-jcasgen/pom.xml b/uimaj-ep-jcasgen/pom.xml
index e961c14..b0a983f 100644
--- a/uimaj-ep-jcasgen/pom.xml
+++ b/uimaj-ep-jcasgen/pom.xml
@@ -42,32 +42,9 @@
     <!-- UIMA dependencies -->
     <dependency>
       <groupId>org.apache.uima</groupId>
-      <artifactId>uimaj-core</artifactId>
-      <version>${project.parent.version}</version>
-      <scope>compile</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-compilertools</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-core</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.uima</groupId>
       <artifactId>uimaj-tools</artifactId>
       <version>${project.parent.version}</version>
       <scope>compile</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.apache.uima</groupId>
-          <artifactId>uimaj-cpe</artifactId>
-        </exclusion>
-      </exclusions>
     </dependency>
 
     <!-- Eclipse dependencies -->
@@ -77,20 +54,30 @@
       <version>[3.12.0, 4.0.0)</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.common</artifactId>
+      <version>[3.10.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.resources</artifactId>
+      <version>[3.13.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.runtime</artifactId>
+      <version>[3.15.100, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
 
     <dependency>
       <groupId>org.eclipse.emf</groupId>
       <artifactId>codegen</artifactId>
       <!--version>2.9.1</version -->
       <version>2.1.0</version>
-      <scope>provided</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.eclipse.emf</groupId>
-      <artifactId>common</artifactId>
-      <version>2.1.0</version>
-      <scope>provided</scope>
     </dependency>
   </dependencies>
 
@@ -101,24 +88,14 @@
         <artifactId>maven-bundle-plugin</artifactId>
         <configuration>
           <instructions>
-            <Export-Package>
-              org.apache.uima.jcas.jcasgenp
-            </Export-Package>
+            <Bundle-SymbolicName>org.apache.uima.jcas.jcasgenp;singleton:=true</Bundle-SymbolicName>
+            <Plugin-Class>org.apache.uima.jcas.jcasgenp.JgPlugin</Plugin-Class>
             <Bundle-Activator>org.apache.uima.jcas.jcasgenp.JgPlugin</Bundle-Activator>
+            <Eclipse-AutoStart>true</Eclipse-AutoStart>
+            <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
             <Require-Bundle>
               org.eclipse.core.runtime
             </Require-Bundle>
-            <!-- the bottom two imports are needed by Eclipse to get things to compile, but
-              not needed by maven -->
-            <Import-Package>
-              !org.eclipse.core.runtime,
-              org.osgi.framework,
-              org.eclipse.jdt.core.jdom,
-              *
-            </Import-Package>
-            <Bundle-SymbolicName>org.apache.uima.jcas.jcasgenp;singleton:=true</Bundle-SymbolicName>
-            <Eclipse-AutoStart>true</Eclipse-AutoStart>
-            <Plugin-Class>org.apache.uima.jcas.jcasgenp.JgPlugin</Plugin-Class>
           </instructions>
         </configuration>
       </plugin>
diff --git a/uimaj-ep-launcher/marker-file-enabling-dependency-check b/uimaj-ep-launcher/marker-file-enabling-dependency-check
new file mode 100644
index 0000000..dfcba9c
--- /dev/null
+++ b/uimaj-ep-launcher/marker-file-enabling-dependency-check
@@ -0,0 +1 @@
+Enables the "dependency-check" profile
diff --git a/uimaj-ep-launcher/pom.xml b/uimaj-ep-launcher/pom.xml
index 3ea9b11..b62f3bc 100644
--- a/uimaj-ep-launcher/pom.xml
+++ b/uimaj-ep-launcher/pom.xml
@@ -39,17 +39,8 @@
       <groupId>org.apache.uima</groupId>
       <artifactId>uimaj-core</artifactId>
       <version>${project.parent.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-compilertools</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-core</artifactId>
-        </exclusion>
-      </exclusions>
     </dependency>
+
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
       <artifactId>org.eclipse.jdt.debug.ui</artifactId>
@@ -64,14 +55,62 @@
     </dependency>
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.jdt.ui</artifactId>
+      <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
+      <version>[3.2.0,5.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.common</artifactId>
+      <version>[3.10.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.jdt.launching</artifactId>
       <version>[3.12.0,4.0.0)</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
-      <version>[3.2.0,5.0.0)</version>
+      <artifactId>org.eclipse.osgi</artifactId>
+      <version>[3.13.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.workbench</artifactId>
+      <version>[3.112.100,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.debug.ui</artifactId>
+      <version>[3.13.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.resources</artifactId>
+      <version>[3.13.200,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.runtime</artifactId>
+      <version>[3.15.100,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.debug.core</artifactId>
+      <version>[3.13.100,4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.ide</artifactId>
+      <version>[3.14.200,4.0.0)</version>
       <scope>provided</scope>
     </dependency>
   </dependencies>
@@ -84,42 +123,14 @@
         <configuration>
           <manifestLocation>META-INF</manifestLocation>
           <instructions>
+            <Bundle-SymbolicName>org.apache.uima.launcher;singleton:=true</Bundle-SymbolicName>
+            <Bundle-Activator>org.apache.uima.ep_launcher.LauncherPlugin</Bundle-Activator>
+            <Plugin-Class>org.apache.uima.ep_launcher.LauncherPlugin</Plugin-Class>
+            <Eclipse-AutoStart>true</Eclipse-AutoStart>
+            <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
             <Export-Package>
               org.apache.uima.ep_launcher
             </Export-Package>
-            <Bundle-Activator>org.apache.uima.ep_launcher.LauncherPlugin</Bundle-Activator>
-            <Bundle-SymbolicName>org.apache.uima.launcher;singleton:=true</Bundle-SymbolicName>
-            <Require-Bundle>
-              org.eclipse.core.runtime
-            </Require-Bundle>
-            <Import-Package>
-              !org.eclipse.core.runtime,
-              org.eclipse.core.resources,
-              org.eclipse.core.variables,
-              org.eclipse.core.commands.common,
-              org.eclipse.debug.core,
-              org.eclipse.debug.ui,
-              org.eclipse.debug.ui.sourcelookup,
-              org.eclipse.debug.core.model,
-              org.eclipse.jdt.debug.ui.launchConfigurations,
-              org.eclipse.jdt.launching,
-              org.eclipse.jface.layout,
-              org.eclipse.jface.preference,
-              org.eclipse.jface.viewers,
-              org.eclipse.jface.window,
-              org.eclipse.jface.dialogs,
-              org.eclipse.swt,
-              org.eclipse.swt.events,
-              org.eclipse.swt.layout,
-              org.eclipse.swt.widgets,
-              org.eclipse.ui,
-              org.eclipse.ui.dialogs,
-              org.eclipse.ui.model,
-              org.eclipse.ui.plugin,
-              org.osgi.framework;version="1.3"
-            </Import-Package>
-            <Eclipse-AutoStart>true</Eclipse-AutoStart>
-            <Plugin-Class>org.apache.uima.ep_launcher.LauncherPlugin</Plugin-Class>
           </instructions>
         </configuration>
       </plugin>
diff --git a/uimaj-ep-pear-packager/marker-file-enabling-dependency-check b/uimaj-ep-pear-packager/marker-file-enabling-dependency-check
new file mode 100644
index 0000000..dfcba9c
--- /dev/null
+++ b/uimaj-ep-pear-packager/marker-file-enabling-dependency-check
@@ -0,0 +1 @@
+Enables the "dependency-check" profile
diff --git a/uimaj-ep-pear-packager/pom.xml b/uimaj-ep-pear-packager/pom.xml
index 4ea0bbe..0bd52dd 100644
--- a/uimaj-ep-pear-packager/pom.xml
+++ b/uimaj-ep-pear-packager/pom.xml
@@ -39,17 +39,6 @@
       <groupId>org.apache.uima</groupId>
       <artifactId>uimaj-core</artifactId>
       <version>${project.parent.version}</version>
-      <scope>compile</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-compilertools</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.bitbucket.mstrobel</groupId>
-          <artifactId>procyon-core</artifactId>
-        </exclusion>
-      </exclusions>
     </dependency>
 
     <!-- Eclipse dependencies -->
@@ -67,22 +56,40 @@
     </dependency>
     <dependency>
       <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.jdt.ui</artifactId>
-      <version>[3.12.0,4.0.0)</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${eclipseP2RepoId}</groupId>
-      <artifactId>org.eclipse.ui</artifactId>
-      <version>[3.108.1, 4.0.0)</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${eclipseP2RepoId}</groupId>
       <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
       <version>[3.2.0,5.0.0)</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.equinox.common</artifactId>
+      <version>[3.10.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.osgi</artifactId>
+      <version>[3.13.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.workbench</artifactId>
+      <version>[3.112.100, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.core.resources</artifactId>
+      <version>[3.13.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${eclipseP2RepoId}</groupId>
+      <artifactId>org.eclipse.ui.ide</artifactId>
+      <version>[3.14.200, 4.0.0)</version>
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -92,34 +99,10 @@
         <artifactId>maven-bundle-plugin</artifactId>
         <configuration>
           <instructions>
-            <Export-Package>
-              org.apache.uima.pear,
-              org.apache.uima.pear.actions,
-              org.apache.uima.pear.generate,
-              org.apache.uima.pear.insd.edit,
-              org.apache.uima.pear.insd.edit.vars,
-              org.apache.uima.pear.nature
-            </Export-Package>
-            <Require-Bundle>
-              org.eclipse.jface.text,
-              org.eclipse.text,
-              org.eclipse.ui.editors,
-              org.eclipse.ui.workbench.texteditor,
-              org.eclipse.ui.ide,
-              org.eclipse.ui,
-              org.eclipse.ui.workbench,
-              org.eclipse.core.runtime
-            </Require-Bundle>
-            <Import-Package>
-              !org.eclipse.core.runtime,
-              !org.eclipse.ui,
-              !org.eclipse.ui.dialogs,
-              !org.eclipse.ui.model,
-              *
-            </Import-Package>
-            <Bundle-Activator>org.apache.uima.pear.PearPlugin</Bundle-Activator>
             <Bundle-SymbolicName>org.apache.uima.pear;singleton:=true</Bundle-SymbolicName>
+            <Bundle-Activator>org.apache.uima.pear.PearPlugin</Bundle-Activator>
             <Eclipse-AutoStart>true</Eclipse-AutoStart>
+            <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
           </instructions>
         </configuration>
       </plugin>
diff --git a/uimaj-ep-runtime/pom.xml b/uimaj-ep-runtime/pom.xml
index 8382f95..2b0b2ee 100644
--- a/uimaj-ep-runtime/pom.xml
+++ b/uimaj-ep-runtime/pom.xml
@@ -209,11 +209,13 @@
                      dependencies, at the proper version, to be
                      included in this, and also sets up the bundle
                      classpath to include them -->
-                <Embed-Dependency>*;scope=compile</Embed-Dependency>
+                <Embed-Dependency>
+                  *;scope=compile
+                </Embed-Dependency>
     
                 <!-- These just get made into the corresponding manifest entries -->
                 <Bundle-SymbolicName>org.apache.uima.runtime;singleton:=true</Bundle-SymbolicName>
-                <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                <Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
                 <Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI>
                 <Eclipse-BuddyPolicy>registered</Eclipse-BuddyPolicy>
               </instructions>
diff --git a/uimaj-parent/pom.xml b/uimaj-parent/pom.xml
index 67e26fb..4691366 100644
--- a/uimaj-parent/pom.xml
+++ b/uimaj-parent/pom.xml
@@ -146,7 +146,7 @@
     <jackson-version>2.15.2</jackson-version>
     <junit-version>5.10.0</junit-version>
     <junit-vintage-version>4.13.2</junit-vintage-version>
-    <mockito-version>4.11.0</mockito-version>
+    <mockito-version>5.4.0</mockito-version>
     <assertj-version>3.24.2</assertj-version>
     <xmlunit-version>2.9.1</xmlunit-version>
     <maven.version>3.2.5</maven.version>
@@ -158,6 +158,7 @@
     <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>
 
     <eclipseP2RepoId>org.eclipse.p2.201812</eclipseP2RepoId>
 
@@ -272,17 +273,6 @@
     </dependencies>
   </dependencyManagement>
 
-  <dependencies>
-    <!-- Used to enable findbug rule suppression annotations -->
-    <!-- This is the Apache v2 license version -->
-    <dependency>
-      <groupId>com.github.stephenc.findbugs</groupId>
-      <artifactId>findbugs-annotations</artifactId>
-      <version>1.3.9-1</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-
   <build>
     <pluginManagement>
       <plugins>
@@ -307,6 +297,38 @@
 
     <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>
         <executions>
@@ -345,13 +367,6 @@
       </plugin>
 
       <plugin>
-        <groupId>org.openntf.maven</groupId>
-        <artifactId>p2-layout-resolver</artifactId>
-        <version>1.7.0</version>
-        <extensions>true</extensions>
-      </plugin>
-
-      <plugin>
         <groupId>org.apache.rat</groupId>
         <artifactId>apache-rat-plugin</artifactId>
         <executions>
diff --git a/uimaj-tools/pom.xml b/uimaj-tools/pom.xml
index 2316c25..87c4b55 100644
--- a/uimaj-tools/pom.xml
+++ b/uimaj-tools/pom.xml
@@ -98,7 +98,7 @@
 				<artifactId>maven-bundle-plugin</artifactId>
 				<configuration>
 					<instructions>
-						<Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+						<Bundle-RequiredExecutionEnvironment>${execution.environment}</Bundle-RequiredExecutionEnvironment>
 						<_dsannotations>*</_dsannotations>
 						<_metatypeannotations>*</_metatypeannotations>
 						<Import-Package>