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 2020/01/27 18:46:03 UTC

[uima-uimafit] 01/01: Merge branch '3.0.x' into feature/no-issue-upgrade-master-to-v3

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

rec pushed a commit to branch feature/no-issue-upgrade-master-to-v3
in repository https://gitbox.apache.org/repos/asf/uima-uimafit.git

commit af9f462d0b062a7be3cc29774a98cdaeec84454e
Merge: a43d19b 8647022
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Mon Jan 27 19:45:50 2020 +0100

    Merge branch '3.0.x' into feature/no-issue-upgrade-master-to-v3
    
    * 3.0.x: (98 commits)
      No issue. Moving contribution guidelines to project root.
      No issue. Moving contribution guidelines to project root.
      [maven-release-plugin] prepare for next development iteration
      [maven-release-plugin] prepare release uimafit-3.0.0
      No Jira - Elaborate migration guide and minor adjustments
      [UIMA-6010] Upgrade dependencies
      [UIMA-6022] Upgrade to UIMA 3.0.2
      No Jira. Corrected Spring version in requirements.
      Revert "[UIMA-6013] Adjust to getView throwing CASException"
      [UIMA-6021] Add selectSingleFS method to CasUtil
      [UIMA-6013] Adjust to getView throwing CASException
      No Jira. Completed previously incomplete merge.
      No Jira. Completed previously incomplete merge.
      [UIMA-6012] Add api-change-report.html to the project
      [UIMA-6011] Always run RAT check
      NO JIRA - Update years in NOTICE files
      [UIMA-6010] Upgrade dependencies
      [UIMA-6010] Upgrade dependencies
      [UIMA-6010] Upgrade dependencies
      [UIMA-6009] Use Maven dependency plugin to check dependencies
      ...
    
    # Conflicts:
    #	CONTRIBUTING.md
    #	README
    #	api-change-report.html
    #	pom.xml
    #	uimafit-benchmark/pom.xml
    #	uimafit-benchmark/src/main/java/org/apache/uima/fit/benchmark/Benchmark.java
    #	uimafit-benchmark/src/main/java/org/apache/uima/fit/benchmark/RunnableWithExceptions.java
    #	uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/CasUtilBenchmark.java
    #	uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/JCasUtilBenchmark.java
    #	uimafit-core/.settings/org.eclipse.jdt.core.prefs
    #	uimafit-core/pom.xml
    #	uimafit-core/src/main/java/org/apache/uima/fit/factory/CasFactory.java
    #	uimafit-core/src/main/java/org/apache/uima/fit/factory/CollectionReaderFactory.java
    #	uimafit-core/src/main/java/org/apache/uima/fit/factory/JCasFactory.java
    #	uimafit-core/src/main/java/org/apache/uima/fit/internal/ResourceManagerFactory.java
    #	uimafit-core/src/main/java/org/apache/uima/fit/pipeline/SimplePipeline.java
    #	uimafit-core/src/test/java/org/apache/uima/fit/util/FSUtilTest.java
    #	uimafit-cpe/.settings/org.eclipse.jdt.core.prefs
    #	uimafit-cpe/pom.xml
    #	uimafit-docbook/pom.xml
    #	uimafit-docbook/src/docbook/tools.uimafit.migration.xml
    #	uimafit-examples/.settings/org.eclipse.jdt.core.prefs
    #	uimafit-examples/pom.xml
    #	uimafit-legacy-support/.settings/org.eclipse.jdt.core.prefs
    #	uimafit-legacy-support/pom.xml
    #	uimafit-maven-plugin/.settings/org.eclipse.jdt.core.prefs
    #	uimafit-maven-plugin/pom.xml
    #	uimafit-maven-plugin/src/it/default/pom.xml
    #	uimafit-parent/pom.xml
    #	uimafit-spring/.settings/org.eclipse.jdt.core.prefs
    #	uimafit-spring/pom.xml

 CONTRIBUTING.md                                    |   3 +-
 NOTICE                                             |   2 +-
 README                                             |  21 +-
 api-change-report.html                             |  13 +-
 pom.xml                                            |  56 +-
 src/main/assembly/bin.xml                          |  28 +-
 src/main/dist-bin/LICENSE                          |   8 +-
 src/main/dist-bin/NOTICE                           |  22 +-
 uimafit-benchmark/pom.xml                          |  21 +-
 .../org/apache/uima/fit/benchmark/Benchmark.java   |   2 +-
 .../uima/fit/benchmark/RunnableWithExceptions.java |   4 +-
 .../uima/fit/benchmark/CasUtilBenchmark.java       |  33 ++
 .../uima/fit/benchmark/JCasUtilBenchmark.java      |  27 +
 .../src/test/resources/simplelogger.properties     |   1 +
 uimafit-core/.settings/org.eclipse.jdt.core.prefs  |   6 +-
 uimafit-core/NOTICE                                |   4 +
 uimafit-core/pom.xml                               |  59 +-
 .../uima/fit/component/CasAnnotator_ImplBase.java  |  15 -
 .../component/CasCollectionReader_ImplBase.java    |  12 +-
 .../uima/fit/component/CasConsumer_ImplBase.java   |  15 -
 .../fit/component/CasFlowController_ImplBase.java  |  15 -
 .../uima/fit/component/CasMultiplier_ImplBase.java |  15 -
 .../uima/fit/component/ExternalResourceAware.java  |   2 +-
 .../uima/fit/component/JCasAnnotator_ImplBase.java |  15 -
 .../component/JCasCollectionReader_ImplBase.java   |  13 +-
 .../uima/fit/component/JCasConsumer_ImplBase.java  |  15 -
 .../fit/component/JCasFlowController_ImplBase.java |  15 -
 .../fit/component/JCasMultiplier_ImplBase.java     |  15 -
 .../uima/fit/component/Resource_ImplBase.java      |  14 +-
 .../uima/fit/factory/AnalysisEngineFactory.java    |  10 +-
 .../org/apache/uima/fit/factory/CasFactory.java    |  34 +-
 .../uima/fit/factory/CollectionReaderFactory.java  |  50 +-
 .../fit/factory/ConfigurationParameterFactory.java |  13 +-
 .../uima/fit/factory/ExternalResourceFactory.java  | 150 +++--
 .../uima/fit/factory/FlowControllerFactory.java    |  10 +-
 .../apache/uima/fit/factory/FsIndexFactory.java    |  10 +-
 .../org/apache/uima/fit/factory/JCasFactory.java   |  49 +-
 .../uima/fit/factory/TypePrioritiesFactory.java    |  22 +-
 .../fit/factory/TypeSystemDescriptionFactory.java  |  13 +-
 .../apache/uima/fit/internal/ExtendedLogger.java   | 450 ---------------
 .../org/apache/uima/fit/internal/MetaDataUtil.java |   2 +-
 .../uima/fit/internal/ResourceManagerFactory.java  |  60 +-
 .../apache/uima/fit/pipeline/SimplePipeline.java   |  47 +-
 .../uima/fit/testing/factory/TokenBuilder.java     |   1 -
 .../java/org/apache/uima/fit/util/CasUtil.java     |  75 ++-
 .../apache/uima/fit/util/FSCollectionFactory.java  | 325 +++++++----
 .../main/java/org/apache/uima/fit/util/FSUtil.java |  53 +-
 .../java/org/apache/uima/fit/util/JCasUtil.java    |  15 +-
 .../AnalysisEngineFactoryExternalResourceTest.java |  62 +-
 ...ollectionReaderFactoryExternalResourceTest.java |   7 +-
 .../factory/ExternalResourceConfiguratorTest.java  |   4 +-
 .../fit/factory/ExternalResourceFactoryTest.java   | 111 ++--
 .../FlowControllerFactoryExternalResourceTest.java |   5 +-
 .../org/apache/uima/fit/factory/LoggingTest.java   | 375 -------------
 .../fit/factory/TypePrioritiesFactoryTest.java     |  37 +-
 .../apache/uima/fit/pipeline/JCasIterableTest.java |   6 +-
 .../uima/fit/pipeline/SimplePipelineTest.java      |   6 +-
 .../uima/fit/util/FSCollectionFactoryTest.java     |  76 ++-
 .../java/org/apache/uima/fit/util/FSUtilTest.java  |  27 +-
 .../org/apache/uima/fit/util/JCasUtilTest.java     |  11 +-
 .../{JCasUtilTest.java => JCasUtilv3Test.java}     | 320 ++++++-----
 .../resources/data/reference/JCasBuilderTest.dump  |  22 +-
 .../test/resources/data/reference/test.xmi.dump    |  28 +-
 uimafit-core/src/test/resources/log4j.properties   |   5 -
 .../src/test/resources/simplelogger.properties     |   1 +
 uimafit-cpe/.settings/org.eclipse.jdt.core.prefs   |   6 +-
 uimafit-cpe/pom.xml                                |  86 +--
 .../java/org/apache/uima/fit/cpe/CpePipeline.java  |  21 +-
 .../uima/fit/cpe/ExternalResourceFactoryTest.java  |  34 +-
 .../src/test/resources/simplelogger.properties     |   1 +
 uimafit-docbook/pom.xml                            |  58 +-
 .../src/docbook/tools.uimafit.migration.xml        | 113 ++--
 .../.settings/org.eclipse.jdt.core.prefs           |   6 +-
 uimafit-examples/NOTICE                            |   3 +
 uimafit-examples/pom.xml                           | 267 ++++-----
 .../examples/resource/ExternalResourceExample.java |   7 +-
 .../resource/ExternalResourceExample2.java         |   7 +-
 .../resource/ExternalResourceExample3.java         |   6 +-
 .../examples/tutorial/ex2/RoomNumberAnnotator.java |   3 +-
 .../tutorial/ex6/UimaAcronymAnnotator.java         |   8 +-
 .../tutorial/ex6/UimaMeetingAnnotator.java         |   8 +-
 .../src/main/resources/simplelogger.properties     |   1 +
 .../fit/examples/tutorial/ex6/Example6Test.java    |   8 +-
 .../.activate-enforce-compatibility                |   1 -
 .../.settings/org.eclipse.jdt.ui.prefs             |   3 -
 uimafit-legacy-support/NOTICE                      |   8 -
 .../uima/fit/legacy/AnnotationConverter.java       |  44 --
 .../uima/fit/legacy/LegacySupportPluginImpl.java   | 158 ------
 .../fit/legacy/converter/AnnotationLiteral.java    | 277 ---------
 .../converter/ConfigurationParameterConverter.java |  98 ----
 .../ContextlessAnnotationConverterBase.java        |  41 --
 .../converter/ExternalResourceConverter.java       |  92 ---
 .../converter/FsIndexCollectionConverter.java      |  67 ---
 .../fit/legacy/converter/FsIndexConverter.java     |  92 ---
 .../fit/legacy/converter/FsIndexKeyConverter.java  |  63 ---
 .../legacy/converter/NoConversionConverter.java    |  59 --
 .../converter/OperationalPropertiesConverter.java  |  67 ---
 .../legacy/converter/SofaCapabilityConverter.java  |  75 ---
 .../legacy/converter/TypeCapabilityConverter.java  |  75 ---
 .../org/apache/uima/fit/ComponentTestBase.java     |  89 ---
 .../uima/fit/component/CasDumpWriterTest.java      |  61 --
 .../JCasCollectionReader_ImplBaseTest.java         |  88 ---
 .../fit/component/ViewCreatorAnnotatorTest.java    | 177 ------
 .../fit/component/ViewTextCopierAnnotatorTest.java |  92 ---
 .../ConfigurationParameterInitializerTest.java     | 472 ----------------
 .../apache/uima/fit/data/CreateSampleXCASFile.java |  59 --
 .../apache/uima/fit/data/CreateSampleXMIFile.java  |  54 --
 .../uima/fit/descriptor/TypeCapabilityTest.java    |  57 --
 .../uima/fit/factory/AggregateBuilderTest.java     | 209 -------
 .../uima/fit/factory/AggregateWithReaderTest.java  | 198 -------
 .../AnalysisEngineFactoryExternalResourceTest.java | 404 --------------
 .../fit/factory/AnalysisEngineFactoryTest.java     | 467 ----------------
 .../uima/fit/factory/AnnotationFactoryTest.java    |  45 --
 ...ollectionReaderFactoryExternalResourceTest.java |  91 ---
 .../fit/factory/CollectionReaderFactoryTest.java   | 127 -----
 .../factory/ConfigurationParameterFactoryTest.java | 221 --------
 .../factory/ExternalResourceConfiguratorTest.java  |  82 ---
 .../fit/factory/ExternalResourceFactoryTest.java   | 411 --------------
 .../FlowControllerFactoryExternalResourceTest.java |  93 ---
 .../uima/fit/factory/FsIndexFactoryTest.java       | 132 -----
 .../apache/uima/fit/factory/JCasBuilderTest.java   |  73 ---
 .../apache/uima/fit/factory/JCasFactoryTest.java   |  71 ---
 .../org/apache/uima/fit/factory/LoggingTest.java   | 311 -----------
 .../ResourceCreationSpecifierFactoryTest.java      |  56 --
 .../uima/fit/factory/SofaMappingFactoryTest.java   |  40 --
 .../fit/factory/TypePrioritiesFactoryTest.java     |  47 --
 .../factory/TypeSystemDescriptionFactoryTest.java  |  48 --
 .../uima/fit/factory/UimaContextFactoryTest.java   |  70 ---
 .../initializable/InitializableFactoryTest.java    | 123 ----
 .../uima/fit/factory/testAes/Annotator1.java       |  50 --
 .../uima/fit/factory/testAes/Annotator2.java       |  63 ---
 .../uima/fit/factory/testAes/Annotator3.java       |  57 --
 .../uima/fit/factory/testAes/Annotator4.java       |  45 --
 .../apache/uima/fit/factory/testAes/FlowAE1.java   |  38 --
 .../apache/uima/fit/factory/testAes/FlowAE2.java   |  45 --
 .../apache/uima/fit/factory/testAes/FlowAE3.java   |  48 --
 .../uima/fit/factory/testAes/ParameterizedAE.java  | 409 --------------
 .../uima/fit/factory/testAes/ParameterizedAE2.java |  56 --
 .../testAes/ReversableTestFlowController.java      |  88 ---
 .../apache/uima/fit/factory/testAes/ViewNames.java |  38 --
 .../fit/factory/testCrs/SingleFileXReader.java     | 127 -----
 .../fit/factory/testCrs/SingleFileXReaderTest.java | 117 ----
 .../fit/factory/testRes/TestExternalResource.java  |  41 --
 .../factory/testRes/TestSharedResourceObject.java  |  48 --
 .../uima/fit/testing/factory/TokenBuilderTest.java | 242 --------
 .../java/org/apache/uima/fit/util/CasUtilTest.java | 188 -------
 .../apache/uima/fit/util/ContainmentIndexTest.java |  69 ---
 .../apache/uima/fit/util/DisableLoggingTest.java   | 106 ----
 .../uima/fit/util/FSCollectionFactoryTest.java     | 211 -------
 .../org/apache/uima/fit/util/HideOutputTest.java   |  72 ---
 .../org/apache/uima/fit/util/JCasIterableTest.java |  43 --
 .../org/apache/uima/fit/util/JCasUtilTest.java     | 621 ---------------------
 .../org/apache/uima/fit/util/LocaleUtilTest.java   |  64 ---
 .../apache/uima/fit/util/SimplePipelineTest.java   |  48 --
 .../org/apache/uima/fit/util/TypeSystemUtil.java   |  46 --
 .../resources/META-INF/org.uimafit/fsindexes.txt   |   1 -
 .../test/resources/META-INF/org.uimafit/types.txt  |   1 -
 .../resources/data/descriptor/DefaultValueAE1.xml  |  36 --
 .../resources/data/descriptor/DefaultValueAE2.xml  |  36 --
 .../src/test/resources/data/descriptor/README      |   3 -
 .../src/test/resources/data/docs/bad.xcas          |   1 -
 .../src/test/resources/data/docs/test.xcas         |   1 -
 .../src/test/resources/data/docs/test.xmi          |   1 -
 .../test/resources/data/docs/unix-newlines.txt.bin |   8 -
 .../resources/data/docs/windows-newlines.txt.bin   |   9 -
 .../resources/data/reference/JCasBuilderTest.dump  |  69 ---
 .../test/resources/data/reference/test.xmi.dump    |  92 ---
 .../apache/uima/fit/component/NoOpAnnotator.xml    |  48 --
 .../uima/fit/factory/testCrs/SingleFileXReader.xml |  60 --
 .../apache/uima/fit/index/AutoImportableIndex.xml  |  38 --
 .../org/apache/uima/fit/type/AnalyzedText.xml      |  39 --
 .../org/apache/uima/fit/type/Sentence.xml          |  32 --
 .../resources/org/apache/uima/fit/type/Token.xml   |  44 --
 .../.settings/org.eclipse.jdt.core.prefs           |   6 +-
 uimafit-maven-plugin/pom.xml                       | 341 ++++++-----
 uimafit-maven-plugin/src/it/default/pom.xml        | 110 ++--
 .../org/apache/uima/fit/maven/EnhanceMojo.java     |   7 +-
 .../uima/fit/maven/GenerateDescriptorsMojo.java    |   2 +-
 .../java/org/apache/uima/fit/maven/util/Util.java  |   2 +-
 uimafit-parent/pom.xml                             | 167 ++++--
 .../.settings/org.eclipse.jdt.core.prefs           |   6 +-
 uimafit-spring/NOTICE                              |   3 +
 uimafit-spring/pom.xml                             | 111 ++--
 .../spring/SpringContextResourceManagerTest.java   |   4 +-
 .../src/test/resources/simplelogger.properties     |   1 +
 185 files changed, 1884 insertions(+), 11669 deletions(-)

diff --cc CONTRIBUTING.md
index 98ba25a,236c6de..add194b
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@@ -13,8 -13,8 +13,7 @@@ For pull requests, there is a [check li
  
  ## Preparing a Pull Request (PR)
  
- In order to contribute to the uimaFIT project, you need to create a **pull request**. This section
 -In order to contribute to a DKPro project, you need to create a **pull request**. This section
--briefly guides you through the best way of doing this:
++In order to contribute to the uimaFIT project, you need to create a **pull request**. This section briefly guides you through the best way of doing this:
  
  * Before creating a pull request, create an issue in the issue tracker of the project to which
    you wish to contribute
diff --cc api-change-report.html
index f4a27fd,cb590b3..406fe0c
--- a/api-change-report.html
+++ b/api-change-report.html
@@@ -1,4 -1,4 +1,4 @@@
- 	<!--
 - 	<!--
++<!--
      ***************************************************************
      * Licensed to the Apache Software Foundation (ASF) under one
      * or more contributor license agreements.  See the NOTICE file
@@@ -17,13 -17,13 +17,13 @@@
      * specific language governing permissions and limitations
      * under the License.
      ***************************************************************
--   -->
++-->
  <html>
  <head>
-   <title>API Change Report - Apache uimaFIT</title>
+   <title>API Change Report - Apache UIMA uimaFIT</title>
  </head>
  <body>
- <h1>Apache uimaFIT API Change Report</h1>
+ <h1>Apache UIMA (Unstructured Information Management Architecture) uimaFIT API Change Report</h1>
  
  <h2>Contents</h2>
  <p>
diff --cc pom.xml
index 788faa0,5862a5f..2a27a51
--- a/pom.xml
+++ b/pom.xml
@@@ -105,23 -98,28 +98,27 @@@
            </execution>
          </executions>
        </plugin>
-       <plugin>
-         <groupId>org.apache.rat</groupId>
-         <artifactId>apache-rat-plugin</artifactId>
-         <executions>
-           <execution>
-             <id>default-cli</id>
-             <configuration>
-               <excludes combine.children="append">
-                 <!-- These files are unreasonable to bear a license header -->
-                 <exclude>.github/**/*</exclude>
-                 <exclude>CONTRIBUTING.md</exclude>
-               </excludes>
-             </configuration>
-           </execution>
-         </executions>
-       </plugin>
 -
      </plugins>
+     <pluginManagement>
+       <plugins>
+         <plugin>
+           <groupId>org.apache.rat</groupId>
+           <artifactId>apache-rat-plugin</artifactId>
+           <executions>
+             <execution>
+               <id>default-cli</id>
+               <configuration>
+                 <excludes combine.children="append">
+                   <!-- These configuration files cannot bear a license header -->
+                   <exclude>.github/**/*</exclude>
+                   <exclude>CONTRIBUTING.md</exclude>
+                 </excludes>
+               </configuration>
+             </execution>
+           </executions>
+         </plugin>
+       </plugins>
+     </pluginManagement>
    </build>
  
    <modules>
diff --cc uimafit-benchmark/pom.xml
index 87c6d5a,6c13ea0..c3e1a50
--- a/uimafit-benchmark/pom.xml
+++ b/uimafit-benchmark/pom.xml
@@@ -47,10 -49,14 +49,19 @@@
        <version>3.6.1</version>
      </dependency>
      <dependency>
+       <groupId>org.apache.commons</groupId>
+       <artifactId>commons-lang3</artifactId>
+     </dependency>
+     <dependency>
 +      <groupId>org.assertj</groupId>
 +      <artifactId>assertj-core</artifactId>
 +      <scope>test</scope>
 +    </dependency>
++    <dependency>
+       <groupId>org.slf4j</groupId>
+       <artifactId>slf4j-simple</artifactId>
+       <scope>test</scope>
+     </dependency>    
    </dependencies>
    <licenses>
      <license>
diff --cc uimafit-benchmark/src/main/java/org/apache/uima/fit/benchmark/RunnableWithExceptions.java
index 8cb98be,2cd5669..cbd62e0
--- a/uimafit-benchmark/src/main/java/org/apache/uima/fit/benchmark/RunnableWithExceptions.java
+++ b/uimafit-benchmark/src/main/java/org/apache/uima/fit/benchmark/RunnableWithExceptions.java
@@@ -19,5 -19,5 +19,5 @@@
  package org.apache.uima.fit.benchmark;
  
  public interface RunnableWithExceptions {
-     void run() throws Exception;
-   }
+ 	void run() throws Exception;
 -}
++}
diff --cc uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/CasUtilBenchmark.java
index 673491b,414c364..2def24a
--- a/uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/CasUtilBenchmark.java
+++ b/uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/CasUtilBenchmark.java
@@@ -130,14 -155,14 +155,22 @@@ public class CasUtilBenchmark 
        })
        .run();
  
 +    new Benchmark("CAS selectCovering", template)
 +      .measure(() -> {
 +        Type sentenceType = getType(cas, TYPE_NAME_SENTENCE);
 +        Type tokenType = getType(cas, TYPE_NAME_TOKEN);
 +        select(cas, tokenType).forEach(s -> selectCovering(sentenceType, s));
 +      })
 +      .run();
 +
+     new Benchmark("CAS selectCovering v3", template)
+       .measure(() -> {
+         Type sentenceType = getType(cas, TYPE_NAME_SENTENCE);
+         Type tokenType = getType(cas, TYPE_NAME_TOKEN);
+         cas.select(tokenType).forEach(t -> cas.select(sentenceType).covering((AnnotationFS) t).forEach(s -> {}));
+       })
+       .run();
+ 
      new Benchmark("CAS indexCovering", template)
        .measure(() -> indexCovering(cas, getType(cas, TYPE_NAME_TOKEN), getType(cas, TYPE_NAME_SENTENCE))
            .forEach((t, l) -> l.forEach(s -> {})))
diff --cc uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/JCasUtilBenchmark.java
index 591dfb8,befc574..988a6ca
--- a/uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/JCasUtilBenchmark.java
+++ b/uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/JCasUtilBenchmark.java
@@@ -86,6 -98,10 +98,9 @@@ public class JCasUtilBenchmark 
      new Benchmark("JCas select ALL and iterate", template)
        .measure(() -> selectAll(jcas).forEach(v -> {}))
        .run();
 -    
+     new Benchmark("JCas select ALL and iterate v3", template)
+       .measure(() -> jcas.select().forEach(v -> {}))
+       .run();
    }
    
    @Test
@@@ -117,6 -139,12 +138,12 @@@
        .measure(() -> select(jcas, Token.class).forEach(t -> selectCovering(Sentence.class, t)))
        .run();
  
+     new Benchmark("JCas selectCovering v3", template)
+       .measure(() -> {
+           jcas.select(Token.class).forEach(t -> jcas.select(Sentence.class).covering(t).forEach(s -> {}));
+       })
+     .run();
 -    
++
      new Benchmark("JCas indexCovering", template)
        .measure(() -> indexCovering(jcas, Token.class, Sentence.class).forEach((t, l) -> l.forEach(s -> {})))
        .run();
diff --cc uimafit-core/pom.xml
index 2ced461,14b38f4..1465f68
--- a/uimafit-core/pom.xml
+++ b/uimafit-core/pom.xml
@@@ -66,10 -64,9 +64,9 @@@
        <artifactId>spring-test</artifactId>
        <scope>test</scope>
      </dependency>
 -    <dependency> <!-- https://issues.apache.org/jira/browse/UIMA-5173  -->
 +    <dependency> <!-- https://issues.apache.org/jira/browse/UIMA-5173 -->
        <groupId>xmlunit</groupId>
        <artifactId>xmlunit</artifactId>
-       <version>1.5</version>
        <scope>test</scope>
      </dependency>
      <dependency>
@@@ -160,9 -138,17 +138,18 @@@
              <execution>
                <id>default-cli</id>
                <configuration>
 -                <excludes>
 -                                    <!-- Plain documentation -->
 -                                    <exclude>README*</exclude>
 -                                    <!-- Release files -->
 -                                    <exclude>RELEASE_NOTES*</exclude>
 -                                    <exclude>issuesFixed/**</exclude>
 -                                    <exclude>release.properties</exclude>
 -                                    <!-- Build controls -->
 -                                    <exclude>.activate-enforce-compatibility</exclude>
 +                <excludes combine.children="append">
-                   <!-- These test files are unreasonable to bear a license header -->
++                <!-- These test files are unreasonable to bear a license header -->
 +                  <exclude>src/test/resources/log4j.properties</exclude>
++                  <!-- Plain documentation -->
++                  <exclude>README*</exclude>
++                  <!-- Release files -->
++                  <exclude>RELEASE_NOTES*</exclude>
++                  <exclude>issuesFixed/**</exclude>
++                  <exclude>release.properties</exclude>
++                  <!-- Build controls -->
++                  <exclude>.activate-enforce-compatibility</exclude>
+                   <!-- These test files are unreasonable to bear a license header -->
 -                                    <exclude>src/test/resources/log4j.properties</exclude>
                    <exclude>src/test/resources/data/docs/unix-newlines.txt.bin</exclude>
                    <exclude>src/test/resources/data/docs/windows-newlines.txt.bin</exclude>
                    <exclude>src/test/resources/data/docs/bad.xcas</exclude>
diff --cc uimafit-core/src/main/java/org/apache/uima/fit/util/CasUtil.java
index dc97d5e,50beb52..b622b54
--- a/uimafit-core/src/main/java/org/apache/uima/fit/util/CasUtil.java
+++ b/uimafit-core/src/main/java/org/apache/uima/fit/util/CasUtil.java
@@@ -873,14 -873,12 +878,14 @@@ public final class CasUtil 
          // Record covered annotations
          for (AnnotationFS covering : memory) {
            if (covering.getBegin() <= iFSbegin && iFS.getEnd() <= covering.getEnd()) {
-             Collection<AnnotationFS> c = index.get(covering);
+             List<AnnotationFS> c = index.get(covering);
              if (c == EMPTY_LIST) {
-               c = new LinkedList<AnnotationFS>();
+               c = new ArrayList<AnnotationFS>();
                index.put(covering, c);
              }
 -            c.add(iFS);
 +            if (iFS != covering) {
 +              c.add(iFS);
 +            }
            }
          }
          
diff --cc uimafit-docbook/pom.xml
index 6b8080f,3dc01b1..dd70617
--- a/uimafit-docbook/pom.xml
+++ b/uimafit-docbook/pom.xml
@@@ -1,36 -1,36 +1,36 @@@
  <?xml version="1.0" encoding="UTF-8"?>
  <!--
- 	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
+   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
+   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.
+   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.
  -->
  <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>uimafit-parent</artifactId>
- 		<version>2.5.0-SNAPSHOT</version>
- 		<relativePath>../uimafit-parent</relativePath>
- 	</parent>
- 	<artifactId>uimafit-docbook</artifactId>
- 	<name>Apache UIMA uimaFIT - Documentation</name>
- 	<packaging>pom</packaging>
- 	<properties>
- 		<uimaScmProject>${project.artifactId}</uimaScmProject>
-         <bookNameRoot>tools.uimafit.book</bookNameRoot>
-         <maven.deploy.skip>true</maven.deploy.skip>
- 	</properties>
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+     <groupId>org.apache.uima</groupId>
+     <artifactId>uimafit-parent</artifactId>
+     <version>3.0.1-SNAPSHOT</version>
+     <relativePath>../uimafit-parent</relativePath>
+   </parent>
+   <artifactId>uimafit-docbook</artifactId>
+   <name>Apache UIMA uimaFIT - Documentation</name>
+   <packaging>pom</packaging>
+   <properties>
+     <uimaScmProject>${project.artifactId}</uimaScmProject>
 -        <bookNameRoot>tools.uimafit.book</bookNameRoot>
 -        <maven.deploy.skip>true</maven.deploy.skip>
++    <bookNameRoot>tools.uimafit.book</bookNameRoot>
++    <maven.deploy.skip>true</maven.deploy.skip>
+   </properties>
  </project>
diff --cc uimafit-docbook/src/docbook/tools.uimafit.migration.xml
index b804137,73ca3c5..9da8ac0
--- a/uimafit-docbook/src/docbook/tools.uimafit.migration.xml
+++ b/uimafit-docbook/src/docbook/tools.uimafit.migration.xml
@@@ -20,17 -20,57 +20,68 @@@
    <title>Migration Guide</title>
    <para>This section provides helpful information on incompatible changes between versions.</para>
    <section>
+     <title>Version 2.x to 3.x</title>
+     <formalpara>
+       <title>Legacy support module removed</title>
+       <para>The legacy support in uimaFIT 2.x was present allow being compatible with the
+       pre-Apache uimaFIT versions which were based on UIMA 2.x. Since uimaFIT 3.x is not 
+       compatible with UIMA 2.x anyway, the legacy module was removed now.</para>
+     </formalpara>
+     <formalpara>
+       <title>Using List instead of Collection</title>
+       <para>The <literal>CasUtil</literal>, <literal>JCasUtil</literal> and 
+       <literal>FSCollectionFactory</literal> classes were adjusted to return results
+       using <literal>List</literal> instead of the more general <literal>Collection</literal>. 
+       Often, lists are already used internally and then again wrapped into new lists in client 
+       code. This API change avoids this in the future.</para>
+     </formalpara>
+     <formalpara>
+       <title>Throwing specific exceptions instead of UIMAException</title>
+       <para>Several uimaFIT methods were throwing the generic <literal>UIMAException</literal>. 
+       These have been adjusted to declare throwing several of the sub-types of 
+       <literal>UIMAException</literal> to be better able to handle
+       specific causes of errors in client code.</para>
+     </formalpara>
+     <formalpara>
+       <title>CasUtil.selectSingle signature changed</title>
+       <para>Signature of <literal>CasUtil.selectSingle</literal> has been changed to return
+       <literal>AnnotationFS</literal>. The original signature is available as 
+       <literal>selectSingleFS</literal></para>
+     </formalpara>
+     <formalpara>
+       <title>Removal of deprecated methods</title>
+       <para>Various methods that were deprecated in uimaFIT 2.4.0 or earlier have been removed in
+       this release. For details, please refer to the <literal>api-change-report.html</literal>
+       file included in the release.</para>
+     </formalpara>
+     <formalpara>
+       <title>Changes to logging</title>
+       <para>UIMA v3 has is using SLF4J. As a consequence, the <literal>ExtendedLogger</literal>
+       which uimaFIT had returned on calls to <literal>getLogger()</literal> has been removed
+       and instead the regular UIMA v3 logger class is returned which offers methods quite compatible
+       with what <literal>ExtendedLogger</literal> offered before. However, it is recommended
+       that you go through all your logging calls and replace calls which use string concatenation
+       to construct the logging message with corresponding calls using placeholders. For example,
+       replace <literal>getLogger().error("Cannot access " + filename, exception);</literal> with
+       <literal>getLogger().error("Cannot access {}", filename, exception);</literal>.</para>
+     </formalpara>
+     <formalpara>
+       <title>Version requirements</title>
+       <para>Depends on UIMA 3.0.2, Spring Framework 4.3.22 and Java 8.</para>
+     </formalpara>
+   </section>
+   <section>
 +    <title>Version 2.3.0 to 2.4.0</title>
 +    <formalpara>
 +      <title>Version requirements</title>
 +      <para>Depends on UIMA 2.10.2, Spring Framework 3.2.16 and Java 7.</para>
 +    </formalpara>
 +    <formalpara>
 +      <para>Mind the updated version requirements. There should be no other potentially problematic
 +      changes in this upgrade.</para>
 +    </formalpara>
 +  </section>
 +  <section>
      <title>Version 2.2.0 to 2.3.0</title>
      <formalpara>
        <title>CasIOUtil deprecated</title>
diff --cc uimafit-examples/pom.xml
index 7614557,5a04f3f..ca1564a
--- a/uimafit-examples/pom.xml
+++ b/uimafit-examples/pom.xml
@@@ -1,139 -1,142 +1,142 @@@
  <?xml version="1.0" encoding="UTF-8"?>
  <!--
- 	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
+   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
+   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.
+   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.
  -->
  <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">
- 	<parent>
- 		<groupId>org.apache.uima</groupId>
- 		<artifactId>uimafit-parent</artifactId>
- 		<version>2.5.0-SNAPSHOT</version>
- 		<relativePath>../uimafit-parent</relativePath>
- 	</parent>
- 	<modelVersion>4.0.0</modelVersion>
- 	<artifactId>uimafit-examples</artifactId>
- 	<name>Apache UIMA uimaFIT - Examples</name>
- 	<description>Factories, Injection, and Testing library for UIMA</description>
- 	<url>${uimaWebsiteUrl}</url>
- 	<dependencies>
- 		<dependency>
- 			<groupId>org.apache.uima</groupId>
- 			<artifactId>uimafit-core</artifactId>
- 			<version>2.5.0-SNAPSHOT</version>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.apache.uima</groupId>
- 			<artifactId>uimaj-core</artifactId>
- 		</dependency>
- 		<dependency>
- 			<groupId>commons-io</groupId>
- 			<artifactId>commons-io</artifactId>
- 		</dependency>
- 		<dependency>
- 			<groupId>junit</groupId>
- 			<artifactId>junit</artifactId>
- 			<scope>test</scope>
- 		</dependency>
- 	</dependencies>
- 	<licenses>
- 		<license>
- 			<name>Apache License, Version 2.0</name>
- 			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- 			<distribution>repo</distribution>
- 		</license>
- 	</licenses>
- 	<build>
-         <plugins>
-             <plugin>
-                 <groupId>org.apache.uima</groupId>
-                 <artifactId>jcasgen-maven-plugin</artifactId>
-                 <executions>
-                     <execution>
-                         <phase>generate-resources</phase>
-                         <goals>
-                             <goal>generate</goal>
-                         </goals>
-                         <configuration>
-                             <typeSystemIncludes>
-                                 <typeSystemInclude>src/main/resources/org/apache/uima/fit/examples/TypeSystem.xml</typeSystemInclude>
-                             </typeSystemIncludes>
-                         </configuration>
-                     </execution>
-                 </executions>
-             </plugin>
-             <plugin>
-                 <!--
-                     This plug-in adds the jcasgen generated source code folder as a project
-                     source folder
-                 -->
-                 <groupId>org.codehaus.mojo</groupId>
-                 <artifactId>build-helper-maven-plugin</artifactId>
-                 <executions>
-                     <execution>
-                         <id>add-test-source</id>
-                         <phase>process-resources</phase>
-                         <goals>
-                             <goal>add-source</goal>
-                         </goals>
-                         <configuration>
-                             <sources>
-                                 <source>${project.build.directory}/generated-sources/jcasgen</source>
-                             </sources>
-                         </configuration>
-                     </execution>
-                 </executions>
-             </plugin>
- 			<plugin>
- 				<groupId>org.apache.maven.plugins</groupId>
- 				<artifactId>maven-surefire-plugin</artifactId>
- 				<configuration>
- 					<excludes>
- 						<exclude>org/uimafit/tutorial/AbstractTest.java</exclude>
- 					</excludes>
- 				</configuration>
- 			</plugin>
- 		</plugins>
- 		<pluginManagement>
- 			<plugins>
- 				<plugin>
- 					<groupId>org.apache.rat</groupId>
- 					<artifactId>apache-rat-plugin</artifactId>
- 					<executions>
- 						<execution>
- 							<id>default-cli</id>
- 							<configuration>
- 								<excludes>
- 									<exclude>release.properties</exclude>
- 									<exclude>README*</exclude>
- 									<exclude>RELEASE_NOTES*</exclude>
- 									<exclude>issuesFixed/**</exclude>
- 									<!-- These example are unreasonable to bear a license header -->
- 									<exclude>src/main/resources/org/apache/uima/fit/examples/pos/sample-gold.txt</exclude>
- 									<exclude>src/main/resources/org/apache/uima/fit/examples/tutorial/ex6/uimaAcronyms.txt</exclude>
- 									<!-- These test files are unreasonable to bear a license header -->
- 									<exclude>src/test/resources/org/apache/uima/fit/examples/xmi/1.xmi</exclude>									<!-- These configuration files cannot bear a license header -->
- 									<!-- These configuration files cannot bear a license header -->
- 									<exclude>src/main/resources/META-INF/org.apache.uima.fit/types.txt</exclude>
- 								</excludes>
- 							</configuration>
- 						</execution>
- 					</executions>
- 				</plugin>
- 			</plugins>
- 		</pluginManagement>
- 	</build>
+   <parent>
+     <groupId>org.apache.uima</groupId>
+     <artifactId>uimafit-parent</artifactId>
+     <version>3.0.1-SNAPSHOT</version>
+     <relativePath>../uimafit-parent</relativePath>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <artifactId>uimafit-examples</artifactId>
+   <name>Apache UIMA uimaFIT - Examples</name>
+   <description>Factories, Injection, and Testing library for UIMA</description>
+   <url>${uimaWebsiteUrl}</url>
+   <dependencies>
+     <dependency>
+       <groupId>org.apache.uima</groupId>
+       <artifactId>uimafit-core</artifactId>
+       <version>3.0.1-SNAPSHOT</version>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.uima</groupId>
+       <artifactId>uimaj-core</artifactId>
+     </dependency>
+     <dependency>
+       <groupId>commons-io</groupId>
+       <artifactId>commons-io</artifactId>
+     </dependency>
+     <dependency>
+       <groupId>org.slf4j</groupId>
+       <artifactId>slf4j-simple</artifactId>
+     </dependency>    
+     <dependency>
+       <groupId>junit</groupId>
+       <artifactId>junit</artifactId>
+       <scope>test</scope>
+     </dependency>
+   </dependencies>
+   <licenses>
+     <license>
+       <name>Apache License, Version 2.0</name>
+       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+       <distribution>repo</distribution>
+     </license>
+   </licenses>
+   <build>
 -        <plugins>
 -            <plugin>
 -                <groupId>org.apache.uima</groupId>
 -                <artifactId>jcasgen-maven-plugin</artifactId>
 -                <executions>
 -                    <execution>
 -                        <phase>generate-resources</phase>
 -                        <goals>
 -                            <goal>generate</goal>
 -                        </goals>
 -                        <configuration>
 -                            <typeSystemIncludes>
 -                                <typeSystemInclude>src/main/resources/org/apache/uima/fit/examples/TypeSystem.xml</typeSystemInclude>
 -                            </typeSystemIncludes>
 -                        </configuration>
 -                    </execution>
 -                </executions>
 -            </plugin>
 -            <plugin>
 -                <!--
 -                    This plug-in adds the jcasgen generated source code folder as a project
 -                    source folder
 -                -->
 -                <groupId>org.codehaus.mojo</groupId>
 -                <artifactId>build-helper-maven-plugin</artifactId>
 -                <executions>
 -                    <execution>
 -                        <id>add-test-source</id>
 -                        <phase>process-resources</phase>
 -                        <goals>
 -                            <goal>add-source</goal>
 -                        </goals>
 -                        <configuration>
 -                            <sources>
 -                                <source>${project.build.directory}/generated-sources/jcasgen</source>
 -                            </sources>
 -                        </configuration>
 -                    </execution>
 -                </executions>
 -            </plugin>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.uima</groupId>
++        <artifactId>jcasgen-maven-plugin</artifactId>
++        <executions>
++          <execution>
++            <phase>generate-resources</phase>
++            <goals>
++              <goal>generate</goal>
++            </goals>
++            <configuration>
++              <typeSystemIncludes>
++                <typeSystemInclude>src/main/resources/org/apache/uima/fit/examples/TypeSystem.xml</typeSystemInclude>
++              </typeSystemIncludes>
++            </configuration>
++          </execution>
++        </executions>
++      </plugin>
++      <plugin>
++        <!--
++            This plug-in adds the jcasgen generated source code folder as a project
++            source folder
++        -->
++        <groupId>org.codehaus.mojo</groupId>
++        <artifactId>build-helper-maven-plugin</artifactId>
++        <executions>
++          <execution>
++            <id>add-test-source</id>
++            <phase>process-resources</phase>
++            <goals>
++              <goal>add-source</goal>
++            </goals>
++            <configuration>
++              <sources>
++                <source>${project.build.directory}/generated-sources/jcasgen</source>
++              </sources>
++            </configuration>
++          </execution>
++        </executions>
++      </plugin>
+       <plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+         <artifactId>maven-surefire-plugin</artifactId>
+         <configuration>
+           <excludes>
+             <exclude>org/uimafit/tutorial/AbstractTest.java</exclude>
+           </excludes>
+         </configuration>
+       </plugin>
+     </plugins>
+     <pluginManagement>
+       <plugins>
+         <plugin>
+           <groupId>org.apache.rat</groupId>
+           <artifactId>apache-rat-plugin</artifactId>
+           <executions>
+             <execution>
+               <id>default-cli</id>
+               <configuration>
+                 <excludes>
+                   <exclude>release.properties</exclude>
+                   <!-- These example are unreasonable to bear a license header -->
+                   <exclude>src/main/resources/org/apache/uima/fit/examples/pos/sample-gold.txt</exclude>
+                   <exclude>src/main/resources/org/apache/uima/fit/examples/tutorial/ex6/uimaAcronyms.txt</exclude>
+                   <!-- These test files are unreasonable to bear a license header -->
+                   <exclude>src/test/resources/org/apache/uima/fit/examples/xmi/1.xmi</exclude>
+                   <!-- These configuration files cannot bear a license header -->
+                   <exclude>src/main/resources/META-INF/org.apache.uima.fit/types.txt</exclude>
+                   <!-- Logging configuration files -->
+                   <exclude>src/main/resources/simplelogger.properties</exclude>
+                 </excludes>
+               </configuration>
+             </execution>
+           </executions>
+         </plugin>
+       </plugins>
+     </pluginManagement>
+   </build>
  </project>
diff --cc uimafit-maven-plugin/pom.xml
index e56476f,0343098..6ea3a3b
--- a/uimafit-maven-plugin/pom.xml
+++ b/uimafit-maven-plugin/pom.xml
@@@ -1,192 -1,173 +1,173 @@@
  <?xml version="1.0" encoding="UTF-8"?>
  <!--
- 	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
+   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
+   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.
+   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.
  -->
  <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>uimafit-parent</artifactId>
- 		<version>2.5.0-SNAPSHOT</version>
- 		<relativePath>../uimafit-parent</relativePath>
- 	</parent>
- 	<artifactId>uimafit-maven-plugin</artifactId>
- 	<name>Apache UIMA uimaFIT - Maven Plugin</name>
- 	<packaging>maven-plugin</packaging>
- 	<licenses>
- 		<license>
- 			<name>Apache License, Version 2.0</name>
- 			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- 			<distribution>repo</distribution>
- 		</license>
- 	</licenses>
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+     <groupId>org.apache.uima</groupId>
+     <artifactId>uimafit-parent</artifactId>
+     <version>3.0.1-SNAPSHOT</version>
+     <relativePath>../uimafit-parent</relativePath>
+   </parent>
+   <artifactId>uimafit-maven-plugin</artifactId>
+   <name>Apache UIMA uimaFIT - Maven Plugin</name>
+   <packaging>maven-plugin</packaging>
++  <url>${uimaWebsiteUrl}</url>
++  <inceptionYear>2012</inceptionYear>
+   <licenses>
+     <license>
+       <name>Apache License, Version 2.0</name>
+       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+       <distribution>repo</distribution>
+     </license>
+   </licenses>
  
- 	<properties>
- 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- 	</properties>
+   <properties>
+     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+   </properties>
  
- 	<dependencies>
- 		<dependency>
- 			<groupId>commons-io</groupId>
- 			<artifactId>commons-io</artifactId>
- 		</dependency>
- 		<dependency>
- 			<groupId>commons-lang</groupId>
- 			<artifactId>commons-lang</artifactId>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.apache.uima</groupId>
- 			<artifactId>uimaj-core</artifactId>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.apache.uima</groupId>
- 			<artifactId>uimafit-core</artifactId>
- 			<version>2.5.0-SNAPSHOT</version>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.javassist</groupId>
- 			<artifactId>javassist</artifactId>
- 			<version>3.19.0-GA</version>
- 		</dependency>
+   <dependencies>
+     <dependency>
+       <groupId>commons-io</groupId>
+       <artifactId>commons-io</artifactId>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.commons</groupId>
+       <artifactId>commons-lang3</artifactId>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.uima</groupId>
+       <artifactId>uimaj-core</artifactId>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.uima</groupId>
+       <artifactId>uimafit-core</artifactId>
+       <version>3.0.1-SNAPSHOT</version>
+     </dependency>
+     <dependency>
+       <groupId>org.javassist</groupId>
+       <artifactId>javassist</artifactId>
+       <version>3.19.0-GA</version>
+     </dependency>
  
- 		<!-- Dependencies on the Maven Plugin API and friends -->
- 		<dependency>
- 			<groupId>org.apache.maven</groupId>
- 			<artifactId>maven-plugin-api</artifactId>
- 			<version>3.0</version>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.apache.maven</groupId>
- 			<artifactId>maven-core</artifactId>
- 			<version>3.0</version>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.apache.maven</groupId>
- 			<artifactId>maven-artifact</artifactId>
- 			<version>3.0</version>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.apache.maven</groupId>
- 			<artifactId>maven-model</artifactId>
- 			<version>3.0</version>
- 		</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.codehaus.plexus</groupId>
- 			<artifactId>plexus-utils</artifactId>
- 			<version>2.0.4</version>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.sonatype.plexus</groupId>
- 			<artifactId>plexus-build-api</artifactId>
- 			<version>0.0.7</version>
- 		</dependency>
+     <!-- Dependencies on the Maven Plugin API and friends -->
+     <dependency>
+       <groupId>org.apache.maven</groupId>
+       <artifactId>maven-plugin-api</artifactId>
+       <version>3.0</version>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.maven</groupId>
+       <artifactId>maven-core</artifactId>
+       <version>3.0</version>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.maven</groupId>
+       <artifactId>maven-artifact</artifactId>
+       <version>3.0</version>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.maven</groupId>
+       <artifactId>maven-model</artifactId>
+       <version>3.0</version>
+     </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.codehaus.plexus</groupId>
+       <artifactId>plexus-utils</artifactId>
+       <version>2.0.4</version>
+     </dependency>
+     <dependency>
+       <groupId>org.sonatype.plexus</groupId>
+       <artifactId>plexus-build-api</artifactId>
+       <version>0.0.7</version>
+     </dependency>
  
- 		<!-- Dependencies for accessing JavaDoc -->
- 		<dependency>
- 			<groupId>com.thoughtworks.qdox</groupId>
- 			<artifactId>qdox</artifactId>
- 			<version>1.12.1</version>
- 		</dependency>
- 		<dependency>
- 			<groupId>com.google.guava</groupId>
- 			<artifactId>guava</artifactId>
- 			<version>11.0.1</version>
- 		</dependency>
- 	</dependencies>
+     <!-- Dependencies for accessing JavaDoc -->
+     <dependency>
+       <groupId>com.thoughtworks.qdox</groupId>
+       <artifactId>qdox</artifactId>
+       <version>1.12.1</version>
+     </dependency>
+     <dependency>
+       <groupId>com.google.guava</groupId>
+       <artifactId>guava</artifactId>
+       <version>11.0.1</version>
+     </dependency>
+   </dependencies>
  
- 	<build>
- 		<plugins>
- 			<plugin>
- 				<artifactId>maven-invoker-plugin</artifactId>
- 				<configuration>
- 					<debug>true</debug>
- 					<projectsDirectory>src/it</projectsDirectory>
- 					<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
- 					<pomIncludes>
- 						<pomInclude>*/pom.xml</pomInclude>
- 					</pomIncludes>
- 					<postBuildHookScript>verify</postBuildHookScript>
- 					<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
- 					<settingsFile>src/it/settings.xml</settingsFile>
- 					<goals>
- 						<goal>clean</goal>
- 						<goal>test-compile</goal>
- 					</goals>
- 				</configuration>
- 				<executions>
- 					<execution>
- 						<id>integration-test</id>
- 						<goals>
- 							<goal>install</goal>
- 							<goal>run</goal>
- 						</goals>
- 					</execution>
- 				</executions>
- 				<dependencies>
- 					<dependency>
- 						<groupId>commons-io</groupId>
- 						<artifactId>commons-io</artifactId>
- 						<version>2.2</version>
- 					</dependency>
- 					<dependency>
- 						<groupId>xmlunit</groupId>
- 						<artifactId>xmlunit</artifactId>
- 						<version>1.4</version>
- 					</dependency>
- 				</dependencies>
- 			</plugin>
- 			<plugin>
- 				<groupId>org.apache.maven.plugins</groupId>
- 				<artifactId>maven-javadoc-plugin</artifactId>
- 				<configuration>
- 					<!-- Exclude generated help mojo -->
- 					<sourceFileExcludes>
- 						<sourceFileExclude>**/org/apache/uima/fit/maven/HelpMojo.java</sourceFileExclude>
- 					</sourceFileExcludes>
- 				</configuration>
- 			</plugin>
- 		</plugins>
-     <pluginManagement>
-       <plugins>
-         <plugin>
-           <groupId>org.apache.rat</groupId>
-           <artifactId>apache-rat-plugin</artifactId>
-           <executions>
-             <execution>
-               <id>default-cli</id>
-               <configuration>
-                 <excludes combine.children="append">
-                   <!-- These configuration files cannot bear a license header -->
-                   <exclude>**/META-INF/org.apache.uima.fit/types.txt</exclude>
-                 </excludes>
-               </configuration>
-             </execution>
-           </executions>
-         </plugin>
-       </plugins>
-     </pluginManagement>
- 	</build>
- 	<url>${uimaWebsiteUrl}</url>
- 	<inceptionYear>2012</inceptionYear>
+   <build>
+     <plugins>
+       <plugin>
+         <artifactId>maven-invoker-plugin</artifactId>
+         <configuration>
+           <debug>true</debug>
+           <projectsDirectory>src/it</projectsDirectory>
+           <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
+           <pomIncludes>
+             <pomInclude>*/pom.xml</pomInclude>
+           </pomIncludes>
+           <postBuildHookScript>verify</postBuildHookScript>
+           <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
+           <settingsFile>src/it/settings.xml</settingsFile>
+           <goals>
+             <goal>clean</goal>
+             <goal>test-compile</goal>
+           </goals>
+         </configuration>
+         <executions>
+           <execution>
+             <id>integration-test</id>
+             <goals>
+               <goal>install</goal>
+               <goal>run</goal>
+             </goals>
+           </execution>
+         </executions>
+         <dependencies>
+           <dependency>
+             <groupId>commons-io</groupId>
+             <artifactId>commons-io</artifactId>
+             <version>2.2</version>
+           </dependency>
+           <dependency>
+             <groupId>xmlunit</groupId>
+             <artifactId>xmlunit</artifactId>
+             <version>1.4</version>
+           </dependency>
+         </dependencies>
+       </plugin>
+       <plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+         <artifactId>maven-javadoc-plugin</artifactId>
+         <configuration>
+           <!-- Exclude generated help mojo -->
+           <sourceFileExcludes>
+             <sourceFileExclude>**/org/apache/uima/fit/maven/HelpMojo.java</sourceFileExclude>
+           </sourceFileExcludes>
+         </configuration>
+       </plugin>
+     </plugins>
+   </build>
 -  <url>${uimaWebsiteUrl}</url>
 -  <inceptionYear>2012</inceptionYear>
  </project>
diff --cc uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/GenerateDescriptorsMojo.java
index 6d111b9,feb8458..797eae8
--- a/uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/GenerateDescriptorsMojo.java
+++ b/uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/GenerateDescriptorsMojo.java
@@@ -23,8 -23,9 +23,8 @@@ import java.io.FileOutputStream
  import java.io.IOException;
  import java.io.OutputStream;
  import java.lang.reflect.Modifier;
 -
  import org.apache.commons.io.IOUtils;
- import org.apache.commons.lang.exception.ExceptionUtils;
+ import org.apache.commons.lang3.exception.ExceptionUtils;
  import org.apache.maven.plugin.AbstractMojo;
  import org.apache.maven.plugin.MojoExecutionException;
  import org.apache.maven.plugins.annotations.Component;
diff --cc uimafit-spring/pom.xml
index 0df5f7d,51ab663..0917125
--- a/uimafit-spring/pom.xml
+++ b/uimafit-spring/pom.xml
@@@ -1,59 -1,64 +1,64 @@@
  <?xml version="1.0" encoding="UTF-8"?>
  <!--
- 	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
+   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
+   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.
+   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.
  -->
  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- 	<modelVersion>4.0.0</modelVersion>
- 	<artifactId>uimafit-spring</artifactId>
- 	<packaging>jar</packaging>
- 	<name>Apache UIMA uimaFIT - Spring integration</name>
- 	<description>Factories, Injection, and Testing library for UIMA</description>
- 	<url>${uimaWebsiteUrl}</url>
- 	<parent>
- 		<groupId>org.apache.uima</groupId>
- 		<artifactId>uimafit-parent</artifactId>
- 		<version>2.5.0-SNAPSHOT</version>
- 		<relativePath>../uimafit-parent</relativePath>
- 	</parent>
- 	<dependencies>
- 		<dependency>
- 			<groupId>org.springframework</groupId>
- 			<artifactId>spring-beans</artifactId>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.springframework</groupId>
- 			<artifactId>spring-context</artifactId>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.apache.uima</groupId>
- 			<artifactId>uimaj-core</artifactId>
- 		</dependency>
- 		<dependency>
- 			<groupId>org.apache.uima</groupId>
- 			<artifactId>uimafit-core</artifactId>
- 			<version>2.5.0-SNAPSHOT</version>
- 		</dependency>
- 	</dependencies>
- 	<licenses>
- 		<license>
- 			<name>Apache License, Version 2.0</name>
- 			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- 			<distribution>repo</distribution>
- 		</license>
- 	</licenses>
- </project>
+   <modelVersion>4.0.0</modelVersion>
+   <artifactId>uimafit-spring</artifactId>
+   <packaging>jar</packaging>
+   <name>Apache UIMA uimaFIT - Spring integration</name>
+   <description>Factories, Injection, and Testing library for UIMA</description>
+   <url>${uimaWebsiteUrl}</url>
+   <parent>
+     <groupId>org.apache.uima</groupId>
+     <artifactId>uimafit-parent</artifactId>
+     <version>3.0.1-SNAPSHOT</version>
+     <relativePath>../uimafit-parent</relativePath>
+   </parent>
+   <dependencies>
+     <dependency>
+       <groupId>org.springframework</groupId>
+       <artifactId>spring-beans</artifactId>
+     </dependency>
+     <dependency>
+       <groupId>org.springframework</groupId>
+       <artifactId>spring-context</artifactId>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.uima</groupId>
+       <artifactId>uimaj-core</artifactId>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.uima</groupId>
+       <artifactId>uimafit-core</artifactId>
+       <version>3.0.1-SNAPSHOT</version>
+     </dependency>
+     <dependency>
+       <groupId>org.slf4j</groupId>
+       <artifactId>slf4j-simple</artifactId>
+       <scope>test</scope>
+     </dependency>    
+   </dependencies>
+   <licenses>
+     <license>
+       <name>Apache License, Version 2.0</name>
+       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+       <distribution>repo</distribution>
+     </license>
+   </licenses>
 -</project>
++</project>