Re: uimaFIT / Ruta compiled against v2 being binary compatible with v3:  Yes
this works!

I wasn't thinking clearly... I've already done experiments where I ran the
migration tool to get new JCas class definitions, and then ran with previously
compiled (against v2) versions of user code.

I know java 7 compiled classes can be run with Java 8.  I recently ran a Ruta
(v2 + Java 7 compiled version) test where all I changed was the Java runtime to
8, and it ran fine.

Given this, the only change needed for taking a running Ruta + uimaFIT + v2 UIMA
and switching to v3 UIMA is swapping out/in the JCas generated classes.

I'll try this to confirm.  If it works (and I think it will), then we just need
to figure out a nice managed way to support the v3 version of JCas classes.

-Marshall

On 1/13/2017 2:51 PM, Richard Eckart de Castilho wrote:
> Hi Marshall,
>
>> On 13.01.2017, at 04:50, Marshall Schor <m...@schor.com> wrote:
>>
>> 1) I made a version of uimaFIT and Ruta for v3, and called them by some
>> different version number.  
>>
>> Having a separate version allows the builds to create separate sets of Maven
>> objects, which don't "overlay" the others.
>>
>> The POM changes are:
>>
>>  a) switching the Java version to 8
>>  b) depending on uima v3 (3.0.0-SNAPSHOT)
>>  c) Ruta has a property for the uima version, the uimaFIT version, both 
>> updated
>> to the appropriate versions.
> If we do not want to release two versions of uimaFIT/Ruta but only be able to
> build the same source against uimaV2 and uimaV3, then we could use a profile
> in the POM to control the dependencies and set up build jobs on Jenkins to 
> activate either uimaV2-mode or V3-mode. 
>
> But I guess a uimaFIT/Ruta compiled against V2 is not binary-compatible with 
> one
> compiled against V3, is it?
>
>> ------------------
>>
>> 2) uimaFIT has some JCas cover classes that are not generated by the build, 
>> but are
>> in source code.
> I don't think they are customized. Should be possible to use the JCasGen 
> plugin everywhere.
>
>> ------------------
>>
>> 3) Some test cases that depend on the internals of V2 needed updating in 
>> uimaFIT.
> Did you commit these changes anywhere? Are they backwards-compatible with V2?
>
> Cheers,
>
> -- Richard

Reply via email to