lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael McCandless <luc...@mikemccandless.com>
Subject Re: 2.9/3.0 plan & Java 1.5
Date Sun, 14 Dec 2008 12:07:53 GMT

I like that approach.  So we just need a volunteer to do at least step  
1, for 3.0, which should be reasonably straightforward.

Another big effort for 3.0 will be fixing all places internal to  
Lucene (including contrib, tests) that still use deprecated APIs.

Mike

Uwe Schindler wrote:

> A good idea would be to do the transformation to generics like the
> following:
>
> - write a patch that replaces all *public* API declarations with  
> generics
> (especially Document, Fieldable and so on where a lot of List/Sets  
> occur).
> The Lucene code behind these declarations will compile without any  
> problem,
> it will only print out warnings (e.g. a method takes an argument
> List<Fieldable> but the internal member variable is just List, the
> assignment will generate the warning. By adding <compilerarg
> line="-Xlint:unchecked" /> to the build.xml scripts, the compiler  
> will print
> the warnings more detailed with line numbers etc., can be much  
> output). At
> return values you sometimes have to place a cast (assign not- 
> generics to a
> generics type does not work with 1.5). This cast also generates an  
> unsafe
> warning.
>
> - start to fix all places in Lucene where the compiler produces  
> warnings.
> You start with the parts directly behind the public API, when  
> finished the
> compiler gives warnings for the next and so on.
>
> The first could be one patch available in Lucene starting with 3.0  
> (so the
> public API is generics, without much hassle). The other patches can  
> be done
> step by step to remove the compiler warnings.
>
> -----
> Uwe Schindler
> H.-H.-Meier-Allee 63, D-28213 Bremen
> http://www.thetaphi.de
> eMail: uwe@thetaphi.de
>
>> -----Original Message-----
>> From: Michael McCandless [mailto:lucene@mikemccandless.com]
>> Sent: Sunday, December 14, 2008 12:31 PM
>> To: java-dev@lucene.apache.org
>> Subject: Re: 2.9/3.0 plan & Java 1.5
>>
>>
>> Uwe Schindler wrote:
>>
>>>> EG I haven't yet tested for JAR drop-in compatibility, eg if in 3.1
>>>> we
>>>> wanted to swap in more generics, would a 3.0 app be able to drop in
>>>> the 3.1 Lucene jar w/o problems?
>>>
>>> It should, because in the compiled JVM code, generics do simply not
>>> appear.
>>
>> Ahhhh, right.  So I think this means we can safely, over time, swap  
>> in
>> generics for these APIs w/o going through our normal back
>> compatibility steps (deprecate old, rename to new, etc.).  Even say  
>> in
>> the 3.1 release (a minor release) we can swap in generics for APIs.
>> Great!
>>
>> Mike
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-dev-help@lucene.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message