OK, I think all the binding votes are for adopting JDK 1.5 with the
following plan:
1. Put in any new deprecations we want, cleanups, etc.
2. Release 2.4 so all of Mike M's goodness is available to 1.4 users
within the next 2 months or so (no hard date) using our new release
mechanism (i.e code freeze, branch, documentation. I tentatively
volunteer to be the RM, but hope someone will be my wingman on it).
3. Announce that 2.9 will be the last version under JDK 1.4
4. Put in any other deprecations that we want and do as we did when
moving from 1.4.3 to 1.9 by laying out a migration plan, etc.
5. Release 2.9 as the last official release on JDK 1.4
6. Switch 3.0-dev to be on JDK 1.5, removing any deprecated code and
updating ANT to use 1.5 for source and target.
7. Start accepting JDK 1.5 patches on 3.0-dev
I am going to put this up on the Wiki as well. We can open JIRA
issues as appropriate. I would think it is reasonable to assume we
will be on 1.5 by the end of the year, right, since 2.9 will be a
housekeeping release, more or less?
Cheers,
Grant
On Jul 30, 2007, at 12:48 PM, Grant Ingersoll wrote:
On Jul 30, 2007, at 8:18 AM, DM Smith wrote:
+1 from me, too. Not because I have a vote or that I am for going
to 1.5, but because it is inevitable and this is a well thought
out, fine plan. (excepting the aggressive timeline that has been
hashed out already in this thread)
I'd like to point out that there is a consequence of this plan and
how Lucene has done things in the past.
At 1.9 it was fully compatible with 1.4.3, with deprecations. 2.0
mostly had deprecations removed and a few bug fixes. Then the 2.x
series has been backwardly compatible but not with 1.x (except
being able to read prior indexes, perhaps a few other things.).
If we continue that same pattern, then there will be no 1.5
features in 2.9. (Otherwise it won't compile under 1.4). Thus, 3.0
will have a 1.4.2 compatible interface. And except for new
classes, new methods and compile equivalent features (such as
Enums), 1.5 features won't appear in the 3.x series API.
Yes, this is a slight variation from the 1.9 -> 2.0 migration. I
think the plan is to switch to 1.5 for compilation for 3.0-dev and
then we will be immediately open for accepting 1.5 patches. In
fact, if someone submitted a patch that converted all collections
to generics, I would be in favor of accepting it with all the usual
caveats. I don't see any other way around, as I don't think the
intent is to say that 3.x contains no 1.5 features other than it
compiles using JDK 1.5.
I think it is very important to preserve the Lucene API where
possible and reasonable, not changing it without gain. Given that
this has been the practice, I don't think it is an issue.
I agree. I think method names, etc. will stay the same, but we
will start adding Generics and Enums where appropriate and new code
can be all 1.5. For instance, though, the Field declaration
parameters are a prime place for Enums. So, the move would be to
add in the new Enums and deprecate the old Field.Index and
Field.Store static ints. Thus, they would not go away until 4.x
(wow, that is weird to say)
Does that seem reasonable?
-Grant
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
------------------------------------------------------
Grant Ingersoll
http://www.grantingersoll.com/
http://lucene.grantingersoll.com
http://www.paperoftheweek.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]