Am 30.05.2013 um 23:27 schrieb Jörn Kottmann <[email protected]>: > On 05/30/2013 11:25 PM, Richard Eckart de Castilho wrote: >> uimaFIT 2.0.0 is backwards compatible with 1.4.0. > > Sorry, wasn't aware of that.
I'll briefly explain, just in case we understand different things by "backwards compatible". uimaFIT 2.0.0 behaves differently in some aspects than uimaFIT 1.4.0. There were several incompatible changes we had on the plate, but which we were always pushing ahead for the next major release. In addition, the package names have changed since the move to Apache, so uimaFIT 2.0.0 could never have served as a drop-in replacement. In order to smooth the transition for current uimaFIT users, in particular for those that rely on the old behaviour, uimaFIT 2.0.0 comes with a legacy support layer. This can be enabled optionally and then requires uimaFIT 1.4.0 on the classpath as well. The legacy module in uimaFIT 2.0.0 contains all the original tests from 1.4.0 testing for the original behavior with the original annotations but using the 2.0.0 code base. The test for 2.0.0 do test for the new behavior. uimaFIT 1.4.0 is not forward-compatible, meaning that the factory methods from uimaFIT 1.4.0 won't work very well with uimaFIT 2.0.0 components. If a descriptor was created with a 2.0.0 factory method, however, it will also run in 1.4.0. uimaFIT 2.0.0 is backward-compatible with the legacy layer in that sense that it understands all the 1.4.0 annotations and interprets them with the 1.4.0 behavior. Type auto-detection following the 1.4.0 conventions is supported as well. When a descriptor for a 1.4.0 component is created with 2.0.0, it will create the correct descriptor. Both versions can even be mixed in a project. The 1.4.0 factories can be used to create 1.4.0 component descriptions, the 2.0.0 factories can be used for 1.4.0 and 2.0.0 components. When external resources are used, these should be created with the same version as the component to which they are bound to. I may have missed something, but I'm pretty confident that this is working very well. Tests with DKPro Core and DKPro Lab have shown no issues so far. The uimafit-maven-plugin works just nice with the 1.4.0 version of DKPro Core as well. I've also started a "migration guide" [1], but I'll have to revisit that since some additional things have changed since then. Cheers, -- Richard [1] https://cwiki.apache.org/UIMA/migration-guide-1x-to-2x.html
