Merge branch 'main' into release/UIMA-6449-Ruta-3.2.0-release

* main:
  [No Jira] Temporarily update spotbugs to be compatible with Java 17 until we go to Parent POM 16
  [No Jira] Avoid triggering auto-staging as part of snapshot deployment
diff --git a/README b/README
deleted file mode 100644
index c673e7e..0000000
--- a/README
+++ /dev/null
@@ -1,54 +0,0 @@
-

-Apache UIMA Ruta (TM) v3.1.0

--------------------------------------------------------------------------

-

-This release is compatible with UIMA v3, but not compatible with UIMA v2. 

-For compatibility to UIMA v2, please refer to the latest UIMA Ruta v2 release, e.g., 2.8.0.

-

-Building from the Source Distribution

--------------------------------------

-

-We use Maven 3.0 and Java 8 or later for building; download this if needed, 

-and set the environment variable MAVEN_OPTS to -Xmx800m.

-

-Then do the build by going into the UIMA Ruta directory, and issuing the command

-   

-   mvn clean install

-   

-This builds everything except the ...source-release.zip file. If you want that,

-change the command to 

-

-   mvn clean install -Papache-release

-   

-For more details, please see https://uima.apache.org/building-uima.html   

-

-

--------------------------------------

-

-This product was originally released as Apache UIMA TextMarker. The UIMA Ruta Workbench provides

-a command for updating old projects. Please right-click on a project and select "UIMA Ruta -> Update Project". 

-

--------------------------------------

-

-The UIMA Ruta analysis engine requires type priorities for the correct execution of rules. 

-If a CAS is created using the CasCreationUtils, please provide the type priorities, e.g., by:

-

-    URL tpUrl = this.getClass().getResource("/org/apache/uima/ruta/engine/TypePriorities.xml");

-    TypePriorities typePriorities = UIMAFramework.getXMLParser().parseTypePriorities(

-        new XMLInputSource(tpUrl));

-    CAS cas = CasCreationUtils.createCas(descriptor, typePriorities, new FsIndexDescription[0]);

-

--------------------------------------

-

-Using the jcasgen-maven-plugin may cause problems if it creates duplicate classes for the 

-internal UIMA Ruta types (overwriting the implementation of RutaBasic). Depending on the location 

-of the type system descriptors, the plugin should be configured to be limited on the project, 

-or the UIMA Ruta type system descriptors should explicitly be excluded:

-

-<configuration>

-  <typeSystemExcludes>

-    <typeSystemExclude>/**/BasicTypeSystem.xml</typeSystemExclude>

-    <typeSystemExclude>/**/InternalTypeSystem.xml</typeSystemExclude>

-  </typeSystemExcludes>

-</configuration>

-

diff --git a/README.md b/README.md
index 47a33a9..be84caa 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,6 @@
-[![Build Status: master](https://builds.apache.org/buildStatus/icon?subject=master&job=Apache+UIMA+Ruta+%28GitHub+master%29)](https://builds.apache.org/view/S-Z/view/UIMA/job/Apache%20UIMA%20Ruta%20(GitHub%20master)/)[![Build Status: master-v2](https://builds.apache.org/buildStatus/icon?subject=master-v2&job=Apache+UIMA+Ruta+%28GitHub+master-v2%29)](https://builds.apache.org/view/S-Z/view/UIMA/job/Apache%20UIMA%20Ruta%20(GitHub%20master-v2)/)
+[![Maven Central](https://img.shields.io/maven-central/v/org.apache.uima/ruta-core?style=for-the-badge)](https://search.maven.org/search?q=g:org.apache.uima%20a:ruta*)
+
+[![Build Status](https://ci-builds.apache.org/buildStatus/icon?job=UIMA%2Fuima-ruta%2Fmain&subject=main%20build)](https://ci-builds.apache.org/job/UIMA/job/uima-ruta/job/main/) [![Build Status](https://ci-builds.apache.org/buildStatus/icon?job=UIMA%2Fuima-ruta%2Fmain-v2&subject=main-v2%20build)](https://ci-builds.apache.org/job/UIMA/job/uima-ruta/job/main-v2/)
 
 What is Apache UIMA Ruta?
 -------------------------
@@ -73,6 +75,74 @@
 * for UIMA 3: <a href="https://downloads.apache.org/uima/eclipse-update-site-v3/">https://downloads.apache.org/uima/eclipse-update-site-v3/</a>
 
 
+Building from the Source Distribution
+-------------------------------------
+
+We use Maven 3.0 and Java 8 or later for building; download this if needed, 
+and set the environment variable MAVEN_OPTS to -Xmx800m.
+
+Then do the build by going into the UIMA Ruta directory, and issuing the command
+   
+   mvn clean install
+   
+This builds everything except the ...source-release.zip file. If you want that,
+change the command to 
+
+   mvn clean install -Papache-release
+   
+For more details, please see https://uima.apache.org/building-uima.html   
+
+
+How to Get Involved
+-------------------
+
+The Apache UIMA project really needs and appreciates any contributions, including documentation 
+help, source code and feedback. If you are interested in contributing, please visit 
+[http://uima.apache.org/get-involved.html](http://uima.apache.org/get-involved.html).
+
+
+How to Report Issues
+--------------------
+
+The Apache UIMA project uses JIRA for issue tracking. Please report any issues you find at 
+[our issue tracker](http://issues.apache.org/jira/browse/uima).
+
+
+Useful tips
+-----------
+
+This product was originally released as Apache UIMA TextMarker. The UIMA Ruta Workbench provides
+a command for updating old projects. Please right-click on a project and select "UIMA Ruta -> Update Project". 
+
+The UIMA Ruta analysis engine requires type priorities for the correct execution of rules. 
+If a CAS is created using the CasCreationUtils, please provide the type priorities, e.g., by:
+
+    URL tpUrl = this.getClass().getResource("/org/apache/uima/ruta/engine/TypePriorities.xml");
+    TypePriorities typePriorities = UIMAFramework.getXMLParser().parseTypePriorities(
+        new XMLInputSource(tpUrl));
+    CAS cas = CasCreationUtils.createCas(descriptor, typePriorities, new FsIndexDescription[0]);
+
+Using the `jcasgen-maven-plugin` may cause problems if it creates duplicate classes for the 
+internal UIMA Ruta types (overwriting the implementation of RutaBasic). Depending on the location 
+of the type system descriptors, the plugin should be configured to be limited on the project, 
+or the UIMA Ruta type system descriptors should explicitly be excluded:
+
+    <configuration>
+      <typeSystemExcludes>
+        <typeSystemExclude>/**/BasicTypeSystem.xml</typeSystemExclude>
+        <typeSystemExclude>/**/InternalTypeSystem.xml</typeSystemExclude>
+      </typeSystemExcludes>
+    </configuration>
+
+
+Useful links
+------------
+
+* [Apache UIMA](https://uima.apache.org)
+* [Apache UIMA Ruta Documentation](https://uima.apache.org/d/ruta-current/tools.ruta.book.html)
+* [Averbis Ruta Training material](https://github.com/averbis/ruta-training) (external)
+
+
 Reference
 ---------
 
@@ -93,11 +163,4 @@
   doi = {10.1017/S1351324914000114},
   URL = {https://journals.cambridge.org/article_S1351324914000114},
 }
-~~~~
-
-Useful links
-------------
-
-* [Apache UIMA](https://uima.apache.org)
-* [Apache UIMA Ruta Documentation](https://uima.apache.org/d/ruta-current/tools.ruta.book.html)
-* [Averbis Ruta Training material](https://github.com/averbis/ruta-training) (external)
+~~~~
\ No newline at end of file
diff --git a/RELEASE_NOTES.html b/RELEASE_NOTES.html
deleted file mode 100644
index 7ce943c..0000000
--- a/RELEASE_NOTES.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<html>

-  <!--

-   ***************************************************************

-   * Licensed to the Apache Software Foundation (ASF) under one

-   * or more contributor license agreements.  See the NOTICE file

-   * distributed with this work for additional information

-   * regarding copyright ownership.  The ASF licenses this file

-   * to you under the Apache License, Version 2.0 (the

-   * "License"); you may not use this file except in compliance

-   * with the License.  You may obtain a copy of the License at

-   *

-   *   http://www.apache.org/licenses/LICENSE-2.0

-   * 

-   * Unless required by applicable law or agreed to in writing,

-   * software distributed under the License is distributed on an

-   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

-   * KIND, either express or implied.  See the License for the

-   * specific language governing permissions and limitations

-   * under the License.

-   ***************************************************************

-   -->

-

-<head>

-  <title>Apache UIMA Ruta v3.1.0 Release Notes</title>

-</head>

-<body>

-<h1>Apache UIMA Ruta&#8482; v3.1.0 Release Notes</h1>

-

-<h2>Contents</h2>

-<p>

-<a href="#what.is.uima-ruta">1. What is UIMA Ruta</a><br/>

-<a href="#major.changes">2. Major Changes in this Release</a><br/>

-<a href="#get.involved">3. How to Get Involved</a><br/>

-<a href="#report.issues">4. How to Report Issues</a><br/>

-<a href="#list.issues">5. List of JIRA Issues Fixed in this Release</a>

-</p>  

-   

-<h2><a name="what.is.uima-ruta">1. What is UIMA Ruta?</a></h2>

-

-<p>

-  Apache UIMA Ruta&#8482; is a rule-based script language supported by Eclipse-based tooling.

-  The language is designed to enable rapid development of text processing applications within Apache UIMA&#8482;. 

-  A special focus lies on the intuitive and flexible domain specific language for defining 

-  patterns of annotations. The Eclipse-based tooling for Ruta, called the Ruta Workbench,

-  was created to support the user and to facilitate every step when writing Ruta rules. Both the 

-  Ruta rule language and the Ruta Workbench integrate smoothly with Apache UIMA.

-</p>

-

-<h2><a name="major.changes">2. Major Changes in this Release</a></h2>

-

-<p>

-  This release provides compatibility to UIMA v3. An upgrade from UIMA Ruta v2 to this version requires 

-  also an update to UIMA v3 of the overall application or Eclipse installation. Please refer to the 

-  UIMA v3 user's guide for detailed information: https://uima.apache.org/d/uimaj-3.0.0/version_3_users_guide.html

-</p>

-<p>

-  <p>UIMA Ruta Language and Analysis Engine:</p>

-  <ul>

-  	<li>New config parameter for internal indexing strategy.</li>

-  	<li>New config parameter for indexing all debug information.</li>

-  	<li>New config parameter for type disambiguation.</li>

-  	<li>TextSeeder is the new default seeder (faster, no MARKUP annotations).</li>

-    <li>Improved null check using label expression.</li>

-    <li>Improved conjunctive and disjunctive rule elements.</li>

-    <li>Improved conjunct rules.</li>

-    <li>Improved implementation of SPLIT, FILL, ADD, REMOVE, AFTER.</li>

-    <li>Improved documentation.</li>

-  </ul>

-  <p>UIMA Ruta Workbench:</p>

-  <ul>

-    <li>Fixed problems launching script using newer Java versions (LayerInstantiationException).</li>

-    <li>Fixed console logging when launching scripts.</li>

-    <li>Improved compatibility with dark mode.</li>

-  </ul>

-  <p>UIMA Ruta Maven Plugin:</p>

-  <ul>

-    <li>Fail on error by default.</li>

-  </ul>

-</p>

- 

-  

-<h2><a name="get.involved">3. How to Get Involved</a></h2>

-<p>

-The Apache UIMA Ruta project really needs and appreciates any contributions, 

-including documentation help, source code and feedback.  If you are interested

-in contributing, please visit 

-<a href="https://uima.apache.org/get-involved.html">

-  https://uima.apache.org/get-involved.html</a>.

-</p>

-  

-<h2><a name="report.issues">4. How to Report Issues</a></h2>

-<p>

-The Apache UIMA project uses JIRA for issue tracking.  Please report any 

-issues you find at 

-<a href="https://issues.apache.org/jira/browse/uima">https://issues.apache.org/jira/browse/uima</a>

-</p>

-  

-<h2><a name="list.issues">5. List of JIRA Issues Fixed in this Release</a></h2>

-

-Click <a href="issuesFixed/jira-report.html">issuesFixed/jira-report.html</a> for the list of 

-issues fixed in this release.

-

-</body>

-</html>
\ No newline at end of file
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
new file mode 100644
index 0000000..7f08da3
--- /dev/null
+++ b/RELEASE_NOTES.md
@@ -0,0 +1,59 @@
+<!--
+***************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+* 
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+***************************************************************
+-->
+   
+# Apache UIMA Ruta (TM) v3.2.0
+
+Apache UIMA Ruta&#8482; is a rule-based script language supported by Eclipse-based tooling.
+The language is designed to enable rapid development of text processing applications within Apache UIMA&#8482;. 
+A special focus lies on the intuitive and flexible domain specific language for defining 
+patterns of annotations. The Eclipse-based tooling for Ruta, called the Ruta Workbench,
+was created to support the user and to facilitate every step when writing Ruta rules. Both the 
+Ruta rule language and the Ruta Workbench integrate smoothly with Apache UIMA.
+
+This is a feature and bugfix release.
+
+## Notable changes in this release
+
+* [UIMA-6411] - Avoid creation of `RutaBasics` for bad annotations
+* [UIMA-6406] - Removing an annotation inside a `BLOCK` only takes effect outside the block
+* [UIMA-6408] - No type check of features in `TRANSFER`
+* [UIMA-6409] - Possible endless wildcard lookahead in combination with subtokens
+* [UIMA-6414] - Missing match for optional after sidestep out of composed
+* [UIMA-6404] - `@` with quantifier ignores matches
+* [UIMA-6405] - Local variable not captured properly in a wildcard matching condition.
+* [UIMA-6461] - Wrong argument to `contains()`
+* [UIMA-6399] - `RutaPatternCache` prevents `CPEEngine` from terminating
+* [UIMA-6383] - TRIE - Wordlist entry not annotated
+* [UIMA-6394] - Label assignment in alternative match causes problems
+
+A [full list of issues](https://issues.apache.org/jira/issues/?jql=project%20%3D%20UIMA%20AND%20fixVersion%20%3D%203.2.0ruta) addressed in this release can be found on issue tracker.
+
+Please use the [mailing lists](https://uima.apache.org/mail-lists.html) for feedback and the [issue tracker](https://issues.apache.org/jira/browse/uima) to report bugs.
+
+
+## Supported Platforms
+
+UIMA Ruta 3.2.0 should be used in combination with
+
+- Java 1.8 or higher
+- UIMA Java SDK 3.3.0 or higher
+- uimaFIT 3.3.0 or higher
+- Spring Framework 5.3.20 or higher
diff --git a/marker-file-enabling-tycho-release b/marker-file-enabling-tycho-release
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/marker-file-enabling-tycho-release
diff --git a/pom.xml b/pom.xml
index b9ef886..2a00978 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,7 +33,7 @@
   <description>The top project for Apache UIMA Ruta</description>

   <url>${uimaWebsiteUrl}</url>

   <properties>

-    <jiraVersion>3.2.0ruta</jiraVersion>

+    <jiraVersion>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}ruta</jiraVersion>

   </properties>

 

   <!-- override pom setting in the build project. JIRA 5.1 needs different URL -->

diff --git a/ruta-parent/pom.xml b/ruta-parent/pom.xml
index 14550ea..50f4a1d 100644
--- a/ruta-parent/pom.xml
+++ b/ruta-parent/pom.xml
@@ -105,11 +105,7 @@
     <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>

-    <!-- BACKWARD_COMPATIBLE_IMPLEMENTER - patch version (=.=.+) BACKWARD_COMPATIBLE_USER 

-      - minor version (=.+.0) NON_BACKWARD_COMPATIBLE - major version (+.0.0) -->

 

-    <compat.level>BACKWARD_COMPATIBLE_USER</compat.level>

-    <compat.previous.version>3.2.0</compat.previous.version>

     <api_check_oldVersion>3.2.0</api_check_oldVersion>

 

     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>