[
https://issues.apache.org/jira/browse/UIMA-2540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13556811#comment-13556811
]
Richard Eckart de Castilho commented on UIMA-2540:
--------------------------------------------------
* Added a new module "uimafit-legacy-support". The contains the full test suite
from the uimaFIT module, but it uses the annotations from uimaFIT 1.4.0.
* Added a simple plug in mechanism in uimafit which detects if the legacy
support is available and if so uses it when processing components that use
uimaFIT 1.4.0 annotations
I additionally tested by upgrading DKPro Lab to Apache uimaFIT 2.0.0-SNAPSHOT
and running an example project which uses DKPro Core 1.2.0 (uimaFIT 1.2.0).
Worked nice.
I'm not sure which scope the uimaFIT 1.4.0 dependency should have. Currently it
is *runtime*, but since the support only makes sense if uimaFIT 1.4.0 is
already required by some component, I think *provided* would also suffice. That
way the uimaFIT 1.4.0 dependency would disappear when the last component is
upgraded to uimaFIT 2.0.0 even if the legacy support is still enabled.
To implement the legacy support, I convert old legacy annotations to new Apache
uimaFIT annotations using a very nice class called
*javax.enterprise.util.AnnotationLiteral*. Currently, I take this from a
dependency on cdi-api [1], but this dependency drags in several JARs that I
don't need. Having had bad experiences in the past with "excludes" in the POM,
I would like to copy that class over into the legacy support code base.
License-wise, it should be ok, because it is Apache licensed. Is it ok to copy
the class over and add provenance information to the NOTICE file?
[1]
http://search.maven.org/#artifactdetails%7Cjavax.enterprise%7Ccdi-api%7C1.0%7Cjar
> Support legacy uimaFIT annotations in factory methods
> -----------------------------------------------------
>
> Key: UIMA-2540
> URL: https://issues.apache.org/jira/browse/UIMA-2540
> Project: UIMA
> Issue Type: New Feature
> Components: uimafit
> Reporter: Richard Eckart de Castilho
>
> To mix legacy uimaFIT (pre-Apache) and current uimaFIT components in a
> project, it would be convenient if the Apache uimaFIT factory methods would
> also recognize the legacy uimaFIT annotations.
> Legacy components and components using Apache uimaFIT should still be mixable
> in a project, even if this feature is not implemented. But then, the legacy
> factory methods need to be used for the legacy components and the new factory
> methods for the new components respectively. Once the descriptors have been
> created, they should be runnable anywhere.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira