We have lots of package name conflicts (shared package names) between modules in the source tree. It is not only annoying for devs/users but also indeed bad practice since Java 9 (according to my understanding), and we already have some problems with Javadocs due to these splitted packages as some of us would know. Also split packages make migrating to the Java 9 module system impossible.
This is the placeholder to fix all package name conflicts in Lucene.
See the dev list thread for more background.
Modules that need to be fixed / cleaned up:
- analyzers-common (
- analyzers-icu (
- backward-codecs (
- sandbox (
- misc (
- (test-framework: this can be excluded for the moment)
Also lucene-core will be heavily affected (some classes have to be moved into core, or some classes' and methods' in core visibility have to be relaxed).
Probably most work would be done in a parallel manner, but conflicts can happen. If someone want to help out, please open an issue before working and share your thoughts with me and others.
I set "Fix version" to 9.0 - means once we make a commit on here, this will be a blocker for release 9.0.0. (I don't think the changes should be delivered across two major releases; all changes have to be out at once in a major release.) If there are any objections or concerns, please leave comments. For now I have no idea about the total volume of changes or technical obstacles that have to be handled.