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 2021/11/26 09:44:47 UTC

[uima-uimafit] 01/01: Merge branch 'release/3.2.x' into bugfix/UIMA-6396-uimaFIT-maven-plugin-mixes-up-test-and-compile-scopes

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

rec pushed a commit to branch bugfix/UIMA-6396-uimaFIT-maven-plugin-mixes-up-test-and-compile-scopes
in repository https://gitbox.apache.org/repos/asf/uima-uimafit.git

commit 445ace3840a867e5e70621edbdd63c67e7289f8f
Merge: f26cbd4 fd33fbf
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Fri Nov 26 10:44:29 2021 +0100

    Merge branch 'release/3.2.x' into bugfix/UIMA-6396-uimaFIT-maven-plugin-mixes-up-test-and-compile-scopes
    
    * release/3.2.x: (165 commits)
      [UIMA-6385] Potential resource key clash in environments with multiple classloaders
      [maven-release-plugin] prepare for next development iteration
      [maven-release-plugin] prepare release uimafit-3.2.0
      [UIMA-6331] uimaFIT 3.2.0 release
      [UIMA-6357] Upgrade Apache Commons dependencies
      [UIMA-6331] uimaFIT 3.2.0 release
      [UIMA-6331] uimaFIT 3.2.0 release
      [UIMA-6299] Ensure that SNAPSHOT repos are commented out in POMs
      [UIMA-6331] uimaFIT 3.2.0 release
      [No Jira] Set version to 3.2.0-SNAPSHOT
      [UIMA-6312] Better PEAR parameter support
      [UIMA-6314] Align preceding/following with predicate in UIMA core
      [UIMA-6314] Align preceding/following with predicate in UIMA core
      [UIMA-6312] Better PEAR parameter support
      [UIMA-6311] Add generated resources output folder as resource folder
      [UIMA-6301] Rename "master" branches to "main"
      [UIMA-6254] Move API report post-analysis script into the build resources
      [UIMA-6254] Move API report post-analysis script into the build resources
      [UIMA-6291] Improve uimaFIT benchmarking module
      [UIMA-6291] Improve uimaFIT benchmarking module - Changed new timer names to include the postfix time, so that it is more clear that it is a time value.
      ...
    
    % Conflicts:
    %	uimafit-core/src/main/java/org/apache/uima/fit/factory/TypeSystemDescriptionFactory.java
    %	uimafit-core/src/main/java/org/apache/uima/fit/internal/ResourceManagerFactory.java
    %	uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/EnhanceMojo.java

 CONTRIBUTING.md                                    |   3 +-
 README                                             |  61 +-
 api-change-report.html                             |  13 +-
 pom.xml                                            |  56 +-
 src/main/assembly/bin.xml                          |  28 +-
 src/main/dist-bin/LICENSE                          |   2 +-
 src/main/dist-bin/NOTICE                           |  24 +-
 uimafit-assertj/pom.xml                            |   8 +-
 uimafit-benchmark/pom.xml                          |  21 +-
 .../java/org/apache/uima/fit/benchmark/Batch.java  |  75 +--
 .../org/apache/uima/fit/benchmark/Benchmark.java   | 359 ++++++++----
 .../apache/uima/fit/benchmark/BenchmarkGroup.java  |  76 +++
 .../fit/benchmark/CachingRandomJCasProvider.java}  |  55 +-
 .../uima/fit/benchmark/CasInitializationUtils.java |  16 +-
 .../uima/fit/benchmark/RunnableWithExceptions.java |   4 +-
 .../uima/fit/benchmark/CasUtilBenchmark.java       | 146 -----
 .../apache/uima/fit/benchmark/FSUtilBenchmark.java |   2 +-
 .../uima/fit/benchmark/JCasFactoryBenchmark.java   |   2 -
 .../uima/fit/benchmark/JCasUtilBenchmark.java      | 124 ----
 .../apache/uima/fit/benchmark/SelectBenchmark.java | 276 +++++++++
 .../src/test/resources/simplelogger.properties     |   1 +
 uimafit-core/NOTICE                                |   4 +
 uimafit-core/pom.xml                               |  52 +-
 .../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  |   8 +-
 .../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 |  62 +-
 .../uima/fit/factory/ExternalResourceFactory.java  | 374 +++++++++----
 .../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    |  19 +-
 .../fit/factory/TypeSystemDescriptionFactory.java  |  14 +-
 .../apache/uima/fit/internal/ExtendedLogger.java   | 450 ---------------
 .../org/apache/uima/fit/internal/MetaDataUtil.java |   2 +-
 .../uima/fit/internal/ResourceManagerFactory.java  |  94 ++--
 .../apache/uima/fit/pipeline/SimplePipeline.java   |  47 +-
 .../uima/fit/testing/factory/TokenBuilder.java     |   1 -
 .../java/org/apache/uima/fit/util/CasUtil.java     | 197 +++++--
 .../apache/uima/fit/util/FSCollectionFactory.java  | 322 +++++++----
 .../main/java/org/apache/uima/fit/util/FSUtil.java |  53 +-
 .../java/org/apache/uima/fit/util/JCasUtil.java    |  71 ++-
 .../AnalysisEngineFactoryExternalResourceTest.java |  61 +-
 ...ollectionReaderFactoryExternalResourceTest.java |   7 +-
 .../factory/ConfigurationParameterFactoryTest.java |  54 ++
 .../factory/ExternalResourceConfiguratorTest.java  |   4 +-
 .../fit/factory/ExternalResourceFactoryTest.java   | 173 ++++--
 .../FlowControllerFactoryExternalResourceTest.java |   5 +-
 .../org/apache/uima/fit/factory/LoggingTest.java   | 375 -------------
 .../fit/factory/TypePrioritiesFactoryTest.java     |  30 +-
 .../apache/uima/fit/pipeline/JCasIterableTest.java |  10 +-
 .../uima/fit/pipeline/SimplePipelineTest.java      |   6 +-
 .../apache/uima/fit/util/AnnotationPredicates.java | 234 --------
 .../java/org/apache/uima/fit/util/CasUtilTest.java |  21 +-
 .../uima/fit/util/FSCollectionFactoryTest.java     |  76 ++-
 .../java/org/apache/uima/fit/util/FSUtilTest.java  |  27 +-
 .../org/apache/uima/fit/util/JCasUtilTest.java     | 212 ++++++-
 .../{JCasUtilTest.java => JCasUtilv3Test.java}     | 431 +++++++-------
 .../org/apache/uima/fit/util/SelectionAssert.java  |  21 +-
 .../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 +
 .../.settings/org.eclipse.core.resources.prefs     |   1 +
 uimafit-cpe/pom.xml                                |  82 +--
 .../java/org/apache/uima/fit/cpe/CpePipeline.java  |  27 +-
 .../uima/fit/cpe/ExternalResourceFactoryTest.java  |  30 +-
 .../src/test/resources/simplelogger.properties     |   1 +
 uimafit-doc/pom.xml                                |   6 +-
 .../asciidoc/tools.uimafit.externalresources.adoc  |   2 +-
 .../src/main/asciidoc/tools.uimafit.migration.adoc | 154 ++---
 {uimafit-junit => uimafit-docbook}/pom.xml         |  31 +-
 .../tools.uimafit.configurationparameters.xml      | 185 ++++++
 .../docbook/tools.uimafit.externalresources.xml    | 321 +++++++++++
 .../src/docbook/tools.uimafit.migration.xml        | 273 +++++++++
 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 +-
 uimafit-junit/pom.xml                              |   8 +-
 .../.settings/org.eclipse.jdt.core.prefs           | 288 ----------
 .../.settings/org.eclipse.jdt.ui.prefs             |   3 -
 uimafit-legacy-support/NOTICE                      |   8 -
 ...marker-file-identifying-api-compatibility-check |   1 -
 uimafit-legacy-support/pom.xml                     | 144 -----
 .../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    | 182 ------
 .../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 --
 uimafit-maven-plugin/pom.xml                       |  14 +-
 uimafit-maven-plugin/src/it/default/pom.xml        | 110 ++--
 .../org/apache/uima/fit/maven/EnhanceMojo.java     |  10 +-
 .../uima/fit/maven/GenerateDescriptorsMojo.java    |  32 +-
 .../java/org/apache/uima/fit/maven/util/Util.java  |   2 +-
 uimafit-parent/pom.xml                             | 111 ++--
 uimafit-parent/src/main/groovy/api-report.groovy   |  27 -
 uimafit-spring/NOTICE                              |   3 +
 uimafit-spring/pom.xml                             | 111 ++--
 .../spring/SpringContextResourceManagerTest.java   |   4 +-
 .../src/test/resources/simplelogger.properties     |   1 +
 201 files changed, 3861 insertions(+), 12874 deletions(-)

diff --cc uimafit-core/src/main/java/org/apache/uima/fit/factory/TypeSystemDescriptionFactory.java
index 263d85d,0c1af58..a91d9a3
--- a/uimafit-core/src/main/java/org/apache/uima/fit/factory/TypeSystemDescriptionFactory.java
+++ b/uimafit-core/src/main/java/org/apache/uima/fit/factory/TypeSystemDescriptionFactory.java
@@@ -129,8 -130,6 +130,7 @@@ public final class TypeSystemDescriptio
            }
          }
  
-         LogFactory.getLog(TypeSystemDescription.class)
-           .trace("Merging type systems and resolving imports...");
++        LOG.trace("Merging type systems and resolving imports...");
          ResourceManager resMgr = ResourceManagerFactory.newResourceManager();
          tsd = mergeTypeSystems(tsdList, resMgr);
          typeDescriptorByClassloader.put(cl, tsd);
diff --cc uimafit-core/src/main/java/org/apache/uima/fit/internal/ResourceManagerFactory.java
index 7ac142c,11e1f59..7372b9d
--- a/uimafit-core/src/main/java/org/apache/uima/fit/internal/ResourceManagerFactory.java
+++ b/uimafit-core/src/main/java/org/apache/uima/fit/internal/ResourceManagerFactory.java
@@@ -29,6 -26,6 +26,8 @@@ import org.apache.uima.impl.UimaVersion
  import org.apache.uima.resource.ResourceInitializationException;
  import org.apache.uima.resource.ResourceManager;
  import org.apache.uima.resource.impl.ResourceManager_impl;
++import org.slf4j.Logger;
++import org.slf4j.LoggerFactory;
  
  /**
   * INTERNAL API - Helper functions for dealing with resource managers and classloading
@@@ -36,6 -33,6 +35,8 @@@
   * This API is experimental and is very likely to be removed or changed in future versions.
   */
  public class ResourceManagerFactory {
++  private static final Logger LOG = LoggerFactory.getLogger(ResourceManagerFactory.class);
++  
    private static ResourceManagerCreator resourceManagerCreator = new DefaultResourceManagerCreator();
  
    private ResourceManagerFactory() {
@@@ -69,56 -65,42 +69,46 @@@
    public static class DefaultResourceManagerCreator implements ResourceManagerCreator {
      @Override
      public ResourceManager newResourceManager() throws ResourceInitializationException {
-       try {
-         UimaContext activeContext = UimaContextHolder.getContext();
-         if (activeContext != null) {
-           // If we are already in a UIMA context, then we re-use it. Mind that the JCas cannot
-           // handle switching across more than one classloader.
-           // This can be done since UIMA 2.9.0 and starts being handled in uimaFIT 2.3.0
-           // See https://issues.apache.org/jira/browse/UIMA-5056
-           LogFactory.getLog(ResourceManagerFactory.class)
-             .trace("Using resource manager from active UIMA context");
-           return ((UimaContextAdmin) activeContext).getResourceManager();
-         }
- 
-         // If there is no UIMA context, then we create a new resource manager
-         // UIMA core still does not fall back to the context classloader in all cases.
-         // This was the default behavior until uimaFIT 2.2.0.
-         ResourceManager resMgr;
-         if (Thread.currentThread().getContextClassLoader() != null) {
-           // If the context classloader is set, then we want the resource manager to fall
-           // back to it. However, it may not reliably do that that unless we explicitly pass
-           // null here. See. UIMA-6239.
-           LogFactory.getLog(ResourceManagerFactory.class)
-             .trace("Detected thread context classloader: preparing resource manager to use it");
-           resMgr = new ResourceManager_impl(null);
-           resMgr.setExtensionClassPath(ClassLoaderUtils.findClassloader(), "", true);
-         }
-         else {
-           resMgr = UIMAFramework.newDefaultResourceManager();
-         }
- 
-         // Since UIMA Core version 2.10.3 and 3.0.1 the thread context classloader is taken
-         // into account by the core framework. Thus, we no longer have to explicitly set a
-         // classloader these or more recent versions. (cf. UIMA-5802)
-         short maj = UimaVersion.getMajorVersion();
-         short min = UimaVersion.getMinorVersion();
-         short rev = UimaVersion.getBuildRevision();
-         boolean uimaCoreIgnoresContextClassloader =
-                 (maj == 2 && (min < 10 || (min == 10 && rev < 3))) || // version < 2.10.3
-                 (maj == 3 && ((min == 0 && rev < 1)));                // version < 3.0.1
-         if (uimaCoreIgnoresContextClassloader) {
-           LogFactory.getLog(ResourceManagerFactory.class)
-             .trace("Detected UIMA version " + maj + "." + min + "." + rev + 
-                     " which ignores the thread context classloader, setting it explicitly");
-           resMgr.setExtensionClassPath(ClassLoaderUtils.findClassloader(), "", true);
-         }
+       UimaContext activeContext = UimaContextHolder.getContext();
+       if (activeContext != null) {
+         // If we are already in a UIMA context, then we re-use it. Mind that the JCas cannot
+         // handle switching across more than one classloader.
+         // This can be done since UIMA 2.9.0 and starts being handled in uimaFIT 2.3.0
+         // See https://issues.apache.org/jira/browse/UIMA-5056
++        LOG.trace("Using resource manager from active UIMA context");
+         return ((UimaContextAdmin) activeContext).getResourceManager();
+       }
  
-         return resMgr;
+       // If there is no UIMA context, then we create a new resource manager
+       // UIMA core still does not fall back to the context classloader in all cases.
+       // This was the default behavior until uimaFIT 2.2.0.
+       ResourceManager resMgr;
+       if (Thread.currentThread().getContextClassLoader() != null) {
+         // If the context classloader is set, then we want the resource manager to fallb
+         // back to it. However, it may not reliably do that that unless we explictly pass
+         // null here. See. UIMA-6239.
++        LOG.trace("Detected thread context classloader: preparing resource manager to use it");
+         resMgr = new ResourceManager_impl(null);
+       } else {
+         resMgr = UIMAFramework.newDefaultResourceManager();
        }
-       catch (MalformedURLException e) {
-         throw new ResourceInitializationException(e);
+ 
+       // Since UIMA Core version 2.10.3 and 3.0.1 the thread context classloader is taken
+       // into account by the core framework. Thus, we no longer have to explicitly set a
+       // classloader these or more recent versions. (cf. UIMA-5802)
+       short maj = UimaVersion.getMajorVersion();
+       short min = UimaVersion.getMinorVersion();
+       short rev = UimaVersion.getBuildRevision();
+       boolean uimaCoreIgnoresContextClassloader = 
+               (maj == 2 && (min < 10 || (min == 10 && rev < 3))) || // version < 2.10.3
+               (maj == 3 && ((min == 0 && rev < 1)));                // version < 3.0.1
+       if (uimaCoreIgnoresContextClassloader) {
++        LOG.trace("Detected UIMA version " + maj + "." + min + "." + rev + 
++                " which ignores the thread context classloader, setting it explicitly");
+         resMgr.setExtensionClassLoader(ClassLoaderUtils.findClassloader(), true);
        }
+ 
+       return resMgr;
      }
    }
  }
diff --cc uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/EnhanceMojo.java
index df2bbc8,cf6cb54..b56c70a
--- a/uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/EnhanceMojo.java
+++ b/uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/EnhanceMojo.java
@@@ -18,10 -18,6 +18,10 @@@
   */
  package org.apache.uima.fit.maven;
  
- import static org.apache.commons.lang.exception.ExceptionUtils.getRootCauseMessage;
++import static org.apache.commons.lang3.exception.ExceptionUtils.getRootCauseMessage;
 +import static org.apache.maven.plugins.annotations.LifecyclePhase.PROCESS_CLASSES;
 +import static org.apache.maven.plugins.annotations.ResolutionScope.TEST;
 +
  import java.io.File;
  import java.io.FileInputStream;
  import java.io.FileOutputStream;
@@@ -35,10 -31,24 +35,11 @@@ import java.util.Collection
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
+ 
 -import javassist.CannotCompileException;
 -import javassist.ClassPool;
 -import javassist.CtClass;
 -import javassist.CtField;
 -import javassist.LoaderClassPath;
 -import javassist.NotFoundException;
 -import javassist.bytecode.AnnotationsAttribute;
 -import javassist.bytecode.ClassFile;
 -import javassist.bytecode.ConstPool;
 -import javassist.bytecode.annotation.Annotation;
 -import javassist.bytecode.annotation.MemberValue;
 -import javassist.bytecode.annotation.StringMemberValue;
 -
  import org.apache.commons.io.IOUtils;
  import org.apache.commons.io.LineIterator;
- import org.apache.commons.lang.StringUtils;
- import org.apache.commons.lang.exception.ExceptionUtils;
+ import org.apache.commons.lang3.StringUtils;
+ import org.apache.commons.lang3.exception.ExceptionUtils;
  import org.apache.maven.plugin.AbstractMojo;
  import org.apache.maven.plugin.MojoExecutionException;
  import org.apache.maven.plugin.MojoFailureException;
diff --cc uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/util/Util.java
index 3de6192,db85bf6..1a7edd1
--- a/uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/util/Util.java
+++ b/uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/util/Util.java
@@@ -27,10 -27,9 +27,10 @@@ import java.util.ArrayList
  import java.util.List;
  import java.util.Set;
  
- import org.apache.commons.lang.exception.ExceptionUtils;
+ import org.apache.commons.lang3.exception.ExceptionUtils;
  import org.apache.maven.artifact.Artifact;
  import org.apache.maven.artifact.DependencyResolutionRequiredException;
 +import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
  import org.apache.maven.plugin.MojoExecutionException;
  import org.apache.maven.plugin.logging.Log;
  import org.apache.maven.project.MavenProject;